本文主要是介绍物联网智能家居实战-提高班第5节(MQTT架构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:以下内容基于 百问网 黄老师的 7天实战训练的个人总结
本节为提高班第5节,对MQTT架构进行讲解:
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。下图为通常查询到的关于MQTT的框图,初学者一般不容易理解。
100问网老师便于学习理解,将架构图示修改为下图样式:
中央电视台,相关于服务器(broker) ,有以下作用:
接受来自客户的网络连接,如将记者和观众连接到电视台
接收客户发布的应用信息,如接受记者发布的信息
处理来自客户端的订阅和退订,如处理观众的请求
向订阅的客户转发消息,如给观众转发记者报道的消息。
记者和观众都是客户端,有以下作用:
记者发布信息(pubish),
观众订阅消息(subscribe)
退订或删除消息
断开与服务器连接
架构搭建准备工作:
下载并安装《MQTTX-Setup-1.7.2-x64》《mosquitto-2.0.14-install-windows-x64》
找到mosquitto的安装目录,按住“SHIFT”键点鼠标右键,打开“powershell”,这样打开的界面就直接在mosquitto路径下,就可以直接做下个步骤操作了。我用的WIN7,右键没有“powershell”,请参考如下操作方式,实测有用。
win7 右键增加打开 powershell选项_微电子学与固体电子学-CSDN博客_win7右键打开powershell
用CMD命令打开效果一样(有些系统用“powershell”建立服务器会失败,比如我的……)
如下图,进入mosquitto安装目录输入mosquitto -v建立服务器,端口号是1883
打开MQTTX软件,新建立连接,名词随便写,服务器地址127.0.0.1(本机地址,意思是数据发给自己),端口号1883
添加订阅(Topic),名称任意
当未指定订阅号时,信息有发送但没有接收。当使用订阅号时,发送数据后能接收。
新开一个CMD,相当于记者给电视台发信息,使用mosquitto_pub.exe -h(IP地址) -p(端口号) -t(订阅号)-m(内容)
点发送后在MQTTX上收到相应的信息。
当建立多个用户(3个),其中前2个订阅了“tiyupindao”,最后一个不订阅,当记者按订阅号“tiyupindao”发送信息时,订阅的观众收到了信息,未订阅的未收到。
本篇总结完成,感兴趣的同学可以尝试自己搭建,内容学习及部分配图源于百问网相关教程
这篇关于物联网智能家居实战-提高班第5节(MQTT架构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!