nodeMCU和arduino串口透传MQTT消息

nodeMCU和arduino串口透传MQTT消息

从头开始,构建完整的物联网平台(第二天)

第二天我把nodeMCU的程序完善了
添加了一个Serial.lua

uart.setup(0,9600,8,0,1,0)
uart.on("data","}",function(data) 
   if pcall(function() pack = sjson.decode(data)end) then
     if pack.payload then
         m:publish(pack.topic,pack.payload,pack.qos,pack.retain)
     end
   else
        m:publish("unkonwn",data,0,0)
   end
end,0)

这个函数的作用是吧串口传入的json字符串解析后以MQTT的形式发出去

JSON字符串格式如下:
{“topic”:”??”,”payload”:”这个消息”,”qos”:”0”,”retain”:”0”}

topic是消息主题
payload是消息内容
qos是消息等级 有0、1、2三个等级
retain是该消息是否在服务器保留

Arduino端只要用Serial.print把这个json字符串打印出来就行了。
其实这个程序,主要是想利用arduino上的数模转换器。��没有DA芯片,真的苦。

nodeMCU上的其他代码,请看:
从头开始,构建完整的物联网平台(第一天)

你可能感兴趣的:(MQTT)