Arduino esp8266 针对智能家居的数据采集(二)
这部分完成了在数据收集端(windows)的代码编写,由于没有经过完善的实验,因此部分参数与设置仍处于待定状态,具体过程如下:
上一节中提到我通过mosquitto来测试数据采集端的程序,但是在后期分析中我们还需要更多的数据,甚至包括一个时间段内的数据统计,而且只是通过cmd操控mosquitto我并没有办法去保存接收到的数据。所以还是要上代码,python语言的paho.mqtt包满足了我的需求,先简单介绍一下paho.mqtt:
paho.mqtt
paho.mqtt封装了一些与mqtt代理通信的方法与类,让我们很方便的可以使用mqtt协议实现我们想要的功能,个人体验比Arduino上的PubSubClient.h方便。当然了,平台都不一样。
对paho.mqtt的学习还是参考了大佬的博客在这里只简单说一下我的代码涉及到的部分,有兴趣的朋友传送门在上面。
Client类
这是我们在编程中主要使用的一个类,主要负责与mqtt代理进行通信,它提供了很多回调函数方便我们在不同的事件发生时插入我们想要的功能。
以下是几个例子:
-
on_connect(client, userdata, flags, rc):
在与mqtt代理连接的时候被调用,rc是返回的状态码,可以判断连接是否成功。