新手学习使用阿里云云消息队列MQTT版开发物联网项目

发布于 2023-07-19 11:08:03
浏览量
3752
1 个回答
猫哥
猫哥 项目组成员 2023-07-22
希望我的回答能对你有所帮助

开发步骤:

  1. 查看官方文档,你需要了解它的基本运作方式,传送门,这样直到参数哪里设置哪里申请,该配置些什么等等。
  2. 了解MQTT的基本运行原理。这个很重要,你的按照自己的理解去使用文档,不能完全跟着文档走,(现实是很多文档写的高深莫测、良莠不齐、缺斤少两,你完全按照它的走要排好多好多的坑),就算与官方指导有背离,只要原理上通过、测试结果也可以,说不定你自己找出了新的开发思路。(官方的不一定是最好的,而且有的提供的测试案例和代码不一定适合你)。
  3. 开发细节处理。
  • mqtt的开发,目前知道的分两种,一种pub/sub模式,就是订阅主题,然后接收该主题方面的所有信息;一种是P2P模式,它跳过了订阅直接向目标设备发送消息,并可在没有订阅的前提下接收其他端发来的消息。
  • 我使用了workerman/mqtt作为框架完成了mqtt协议数据的发送和接收。
  • 阿里云的设备ID 结构式 GID_XXX@device_id
  • 创建mqtt客户端的时候,要填写自身设备的client_id,便于mqtt服务器记住来源转发其他设备给自身客户端发送消息。
  • 发送目标消息的时候,填写则是目标客户端的设备ID,如果是p2p协议这是写topic/p2p/GID_XXX@@@client_id;
  • 连接成功触发onConnect()回调函数,可以在这里面编写连接上的初始操作代码逻辑,比如初始化数据库连接。
  • 消息接收使用 onMessage()回调函数。

学习
记录

发布
问题

分享
好友

手机
浏览

扫码手机浏览