上节末说到这次要讲树莓派搭建mqtt服务器,然后使用端口映射就可以从外网访问到树莓派搭建的服务器了,不过实现起来太过于麻烦,所以我接下去会来讲使用云服务器来搭建自己的物联网项目,树莓派之类的就局域网内玩玩吧。
这一节我们就继续来讲Arduino吧,上一节讲到使用Arudino和ESP8266作为一个数据发送终端,那么这节就来讲讲如何使用mqtt协议来控制Arduino吧,类似于我们可以用手机或者电脑打开一个网页就可以来控制家里的电器了。
其实思路很简单,就是让Arduino的终端订阅一个主题就可以了,然后通过收到的数据进行控制就行了,实现起来也超级简单,程序和上一节的几乎一样,修改其中的几行就可以了。
首先呢在变量定义的地方加一个mqtt订阅的指令:
//以下语句加在程序中定义变量的地方
unsigned char mqttsubscribe[8]={
0x82, 0x06, 0x00, 0x01, 0x00, 0x01, 0x73, 0x00};//mqtt消息订阅指令
再将mqttdata数组增加到6,因为接收数据时长度会达到6
unsigned char mqttdata[6<