![4dab268b16bf81cc56ca0045d3c4bc1e.png](https://img-blog.csdnimg.cn/img_convert/4dab268b16bf81cc56ca0045d3c4bc1e.png)
哈喽大家好呀!笔者的公司最近在做IOT设备相关的业务,基于这个契机寻找学习了一下关于IOT通讯协议相关的内容,最终在技术选型上选择了使用MQTT协议并且结合EMQ上层MQTT中间件实现提供链接服务,那么本轮博文就和大家来一起探讨学习有关IOT设备的相关特性和MQTT协议的本质.
附上:
喵了个咪的博客:w-blog.cn
MQTT官方 : https://github.com/mqtt/mqtt.github.io
服务中间件列表: https://github.com/mqtt/mqtt.github.io/wiki/servers
客户端列表: https://github.com/mqtt/mqtt.github.io/wiki/libraries
1.IOT设备的特性
在讨论标题的这个问题的时候我们需要先弄清楚IOT设备是什么,IOT设备和传统的智能设备有什么区别,笔者总结下的IOT设备有如下特点:
- 硬件能力差(存储能力基本只有几MB,CPU频率低连使用HTTP请求都很奢侈)
- 系统千差万别(Brillo,mbedOS,RIOT等)
- 如使用电池供电,电量消耗敏感
- 如果是小设备设备基数大需要维持大量在线链接
- 网络情况不稳定,移动网络网络资费贵,需要尽量减少开销和稳定
在以上这样苛刻的场景下很多技术上常用在智能设备方案都望而却步,总结一下我们主要面对下面三个问题:
- socket.io,websocket? 不同的系统可能无法使用HTTP,设备资源可能使用HTTP都