前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8-STM32物联网开发WIFI+GPRS基础篇(STM32+GPRS(AT指令)实现MQTT远程通信控制)

8-STM32物联网开发WIFI+GPRS基础篇(STM32+GPRS(AT指令)实现MQTT远程通信控制)

作者头像
杨奉武
发布2019-09-08 17:04:27
2.2K0
发布2019-09-08 17:04:27
举报
文章被收录于专栏:知识分享

https://cloud.tencent.com/developer/article/1500353

上一节测试的是Wi-Fi 这节测试  GPRS

看名字就知道了,简单的说 就是  单片机使用AT指令控制模块实现MQTT通信控制

这节是 STM32+GPRS(AT指令)实现MQTT通信控制:

一,下载STM32程序

1,方式一,串口下载(其他下载方式在最后补充)

①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32

②打开下载软件,下载程序

选择对应的串口

去掉短接,复位下单片机

①手机卡

②天线

③调整拨动开关,让STM32和GPRS通信

打开手机APP

下载APP(该APP购买到安全篇即可获取,只有学到微信小程序篇才能看得懂源码,涉及的知识点多一些)

扫码下载

注意:只有这样的时候说明MQTT通信正常  (刚刚才知道可以插入视频....)

然后

最后说一下程序

首先看一下官方的文档

自行查看

整体代码和上一节一样,有几个地方说一下

实际上是为了缩短发送指令的时间,只要判断接收到相应的数据了,就立刻发送下一条指令

但是,为了保险起见,中间有500ms延时

再者,主函数里面用了一个串口回调函数   

如果想知道回调函数怎么写的,可以看这篇  https://cloud.tencent.com/developer/article/1452939

获取IMEI,我感觉这样获取IMEI比较放心.

注:这个代码没有做上,断线重连呢!

其实用GPRS实现MQTT有个矛盾的地方.

MQTT是靠心跳包判断设备在不在线,心跳包数据是 C0,00

但是呢,对于GPRS来讲,心跳包时间太短的话...流量需要的多

太长的话又不可以及时的知道掉没掉线....

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档