billtian 发表于 2018-11-9 17:27:56

MQTT如何使用在物联网设备上,如何与具体应用想结合?

现在有一个物联网设备,采集传感器信息通过网络接口采用HTTP 协议上传至服务器。同时服务器会不定时下发控制命令,控制设备执行一些操作,这个控制命令采用websockt接口下发下来。现在设备和服务器那边的软件都要升级,希望采用一种协议实现数据上传和命令下发,有人推荐MQTT。无奈网络这方面的知识实在是太欠缺,理解不深刻。如果应用MQTT,具体如何实现,是服务器相当于代理(Broker)我的设备相当于发布者(Publish)、和订阅者(Subscribe)。不同的数据和控制命令如何区分等?有经验的朋友指点一二!谢谢!

casterbn 发表于 2018-11-9 21:40:01

2017,整整虚度40春了

dou_yuyu 发表于 2018-11-9 23:30:02

不同设备是通过主题来区分的。主题结构类似于操作系统的目录。传感器上传就是的数据在主题报文中。传感器操控命令也是一个主题的报文。报文结构你可以自定。上传和操控你放一个主题也行,放多个主题里也可,只要订阅就好。比你心在用的http协议开销小很多的。

zxq6 发表于 2018-11-10 08:03:34

dou_yuyu 发表于 2018-11-9 23:30
不同设备是通过主题来区分的。主题结构类似于操作系统的目录。传感器上传就是的数据在主题报文中。传感器操 ...

mqtt在服务器上是不是没法存储的?

wicy001 发表于 2018-11-10 08:22:22

zxq6 发表于 2018-11-10 08:03
mqtt在服务器上是不是没法存储的?

可以的。mqqt server一般都支持数据库插件。

dou_yuyu 发表于 2018-11-10 09:03:16

zxq6 发表于 2018-11-10 08:03
mqtt在服务器上是不是没法存储的?

mqtt 代理本身是没有储存能力的。(最多也就可以设置保存最后一条信息)。存储实现有多种方法:1,转储组件或者插件,这个一般是转储到各种数据库。2,有些mqtt代理是可以写钩子脚本的,可以自己写个脚本转储。3,可以写个服务程序,去订阅主题,存储。

just_lou 发表于 2018-11-10 09:05:19

casterbn 发表于 2018-11-9 21:40
2017,整整虚度40春了

何以发出这样的感叹?

hyghyg1234 发表于 2018-11-10 09:50:19

需要长连接mqtt真是非常好的选择,程序写起来比socket容易很多。你可以在自己本地部署测试下,linux和win下面都很容易部署服务。

szhfy 发表于 2018-12-21 16:08:44

可以参考下这个里面描述的MQTT做法,挺简单的。

justdomyself 发表于 2018-12-30 08:44:23

dou_yuyu 发表于 2018-11-9 23:30
不同设备是通过主题来区分的。主题结构类似于操作系统的目录。传感器上传就是的数据在主题报文中。传感器操 ...

上传和操控订阅是同一个主题,那不就会自己发布数据,自己也会收到。

dou_yuyu 发表于 2018-12-30 13:31:33

justdomyself 发表于 2018-12-30 08:44
上传和操控订阅是同一个主题,那不就会自己发布数据,自己也会收到。

那是会收到的。实际应用,2个主题不就好了。一收一发。
页: [1]
查看完整版本: MQTT如何使用在物联网设备上,如何与具体应用想结合?