塔石NB-IoT单片机与阿里云MQTT实现简单通信

目录

前期准备:

阿里云部分

塔石部分

单片机部分


这篇文章主要记录了一次单片机通过塔石的模块,实现与阿里云的mqtt通信(仅能简单传递信息,不涉及更深入操作)的过程。

其中会包括如,阿里云物联网平台中“产品”与“设备”的创建,塔石nb-iot模块的使用等。

前期准备:

1.塔石nb-iot模块 (E33V-DTU带天线)

2.stm32g431(stm32F1系列等均可)

3.阿里云账号

4.一张流量卡(主要为了塔石模块能连网)

阿里云部分

1.登录阿里云后,在产品中查找“物联网平台”并进入。

 2.进入“管理控制台”

3.进入“公共实例”

4.创建一个新“产品”

5.给你的产品取一个名字(例如我的“HDUGEEK”), 同时因为我们只打算实现简单的通信,所以所属品类自定义即可。

6.为了让之后我们的通信过程更“简单”(自认为),点击产品右边的“查看”,再找到“Topic类列表”“自定义Topic”,添加两个具有“发布和订阅”权限的topic,“read”,“say”分别用于接受单片机的信息,向单片机传递信息。

如果想了解更多有关Topic内容,可以看看推荐视频的 P1 ~ P3 ,虽然很长但都是干货,看完能帮你迅速理解mqtt原理。

推荐视频:【物联网MQTT协议解析、报文构造、程序设计、项目实战】 https://www.bilibili.com/video/BV1Jz4y1X7aH/?share_source=copy_web&vd_source=e1c657085d91a6a8e457baf141d1a49a

7.接下来我们要创建属于该产品下的设备。(我的设备取名“geek”)

当设备刚创建时会显示“未激活”,不过等我们第一次连上设备后就不会再显示这个了。

8.同样查看我们的设备信息,找到“MQTT连接参数”,这是后面会用到的重要数据。

 塔石部分

(有关塔石模块的资料可以找商家要)

1.为我们的塔石模块连好天线,插上流量卡。根据“产品手册”中的引脚描述,将塔石通过usb转ttl模块与电脑相连。

 

2.打开塔石的配置工具,选择产品型号后进行参数配置。

 3.把通道1的工作模式改为MQTT透传,将之前设备的MQTT参数填入对应位置。

4.将之前产品中我们自定义的Topic“say”复制到订阅参数中,“read”复制到推送参数中。记得把${deviceName}改为自己的设备名(如"geek")

 

 5.打开串口,点击"进入配置状态""一键配置参数"来保存配置,再“退出配置状态”,等待塔石模块自动连上设备。

6. 回到我们阿里云设备的界面,找到Topic列表,发布一个消息(如“123”)。

可以看到在塔石的配置工具中我们成功收到了这个消息。

 7.直接在配置工具中发送4567,接着就能在日志服务中看到塔石发送到阿里云的消息了

 单片机部分

        我们已经成功在电脑上利用配置工具实现了塔石与阿里云的简单通讯,也完成了对塔石模块的参数配置,接下来就可以尝试直接把塔石连接到单片机上。

        单片机与塔石可以采用串口通信,这样之后,单片机传给塔石模块的信息就会“原封不动”的传给阿里云,而塔石模块收到的,来自阿里云的信息也会通过串口传给单片机。

        实现这一切只需要你熟悉单片机的串口发送与串口接受,因为比较简单,所以不再赘述。

虽然我们只是简单实现了“对话”,但大家想必也能感受到其中巨大的可能性。希望未来你实现了更加复杂,更加实用的项目时,这篇文章曾为你提供过一点点帮助。

作者:HDUGEEK

物联沃分享整理
物联沃-IOTWORD物联网 » 塔石NB-IoT单片机与阿里云MQTT实现简单通信

发表评论