工程师们为了监测广阔的石油管道、天然气管道的运转情况,迫切需要一种能在低功耗、低带宽情况下传输一些消息。石油和天然气的监测无需超低延迟和高实时性,主要是在缺乏电能的野外长时间低功耗运行,因为监测的面积庞大,采用卫星通信,为了方便信号传输,那么就需要低带宽,为此IBM工程师们在1999年发明了MQTT协议,以达到目的。
MQTT协议与传统网络通信不同。传统网通中客户端和服务器直接相互通信。MQTT 使用发布/订阅的模式将消息发送者与消息接收者解耦。使用第三个组件(就是代理)来处理发送者和接收者之间的通信。文章源自韫龄笔记-https://www.liuyunling.com/295
现在,我们使用mqtt协议的地方很多,比如智能家居,物联,甚至有一部分人用来实时聊天。优点轻量、高效,比较可靠,可支撑千万级设备的消息并发,阿里云的mqtt服务不便宜,怎么办自己搭建吧。文章源自韫龄笔记-https://www.liuyunling.com/295
自制智能wifi插排,手机端实时控制,定时控制开关等。文章源自韫龄笔记-https://www.liuyunling.com/295
硬件:ESP32,公牛插排,光耦继电器等。文章源自韫龄笔记-https://www.liuyunling.com/295
手机端部分代码文章源自韫龄笔记-https://www.liuyunling.com/295
Private serverURI As String = "tcp://8.134.116.xx:1883" '服务器ip,需安装mqtt服务,放开相关端口 mqtt.Initialize("mqtt", serverURI, "gongniu") Dim mo As MqttConnectOptions mo.Initialize("gongniu", "12345") mqtt.Connect2(mo) mytopic = "3j"' & mqtt.ClientId mqtt.Subscribe("aa", 0) Lblallxx.Text = Lblallxx.Text & CRLF & DateTime.GetHour(DateTime.Now) & ":" & DateTime.GetMinute(DateTime.Now) & ":" & DateTime.GetSecond(DateTime.Now) & CRLF & BytesToString(Payload,0,Payload.Length,"UTF8") & "--" & Topic 'esp32采用C或Python,快捷可用图形编程。 '国内服务器使用域名反代需备案
待增加功能,功率计量模块(负责监测实时功耗)文章源自韫龄笔记-https://www.liuyunling.com/295
文章源自韫龄笔记-https://www.liuyunling.com/295 文章源自韫龄笔记-https://www.liuyunling.com/295
评论