GPRS模组通过MQTT和阿里云服务器通讯

简介: 根据项目的规划,体重秤这个设备只需要上报体重和电池电压数据到云端即可。零妖马上就要说这些数据上报的方法。



上一讲的文章,零妖带你玩了一下合宙的GPRS模组,通过在阿里云的物联网套件中添加一个设备,让GPRS模组通过AT指令的方法连接到了云端。

根据项目的规划,体重秤这个设备只需要上报体重和电池电压数据到云端即可。零妖马上就要说这些数据上报的方法。



进入阿里云的物联网套件控制台,找到了已经新建好的产品,点击查看,然后点击功能定义,再新增一个叫做电压的属性。

image.png | left | 747x373

 
现在为止,云端的设置就已经完成了,体重秤这个设备被抽象为了两个数字,一个叫做体重,另一个叫做电压。

image.png | left | 747x195

 



通过串口发送AT指令的方式让GPRS模组先连上服务器,方法上篇文章介绍过了。

好了,我直接连接上服务器了,接下来发送报文,这个可是个大麻烦啊,因为要发送的Payload是要符合ALink协议的,也就是一个JSON字符串,里面是有好几个双引号的,直接发送到模组它解析不了,得想个办法。

image.png | left | 747x346

经过去合宙的技术人员那里取经,得到了一个有点反人类的解决方案。把payload里面的双引号全部替换为 22 ,把payload里面的逗号全部替换为 2c 即可。比如下面这个消息发到云端就是OK的。

AT+MPUB="/sys/b1ml74qmzEq/bVp5ywOE4y3fHUMAPCGw/thing/event/property/post",0,0,"{22id22 :22789222c22version22:221.0222c22params22:{22Weight22:85.752c22Battery22:3.03}2c22method22:22thing.event.property.post22}"

上述消息通过串口发送出去之后,马上就可以在云端看到效果。

首先要注意一下串口返回的数据,一共是437个字节,包括你发送的命令原封不动的和服务器返回的,这个是阿里云返回给你的状态,告诉你发送数据是不是OK的,比如截图上面的这个 code是200,表示一切正常。

image.png | left | 747x415

 
再看一下云端,是能够显示出来接收到的数据。比如上述发送的串口内容里面,有个这样的内容:{22Weight22:85.752c22Battery22:3.03},这个就是所谓ALinK协议的用法了,非常简单的。

翻译成JSON字符串的格式就是:{“Weight”:85.75,”Battery”:3.03}。容易理解吧?不就是重量85.75公斤,电量3.03V嘛。
如果你是单片机处理的这个事情,你只需要修改一下这个85.75为实际测量值,3.03为实际测量值就行了。

image.png | left | 747x283

 



如果你能够在云端看到那个有效数据,就证明这个AIR202模组连接阿里云的方法你已经掌握了。AT指令的通讯模式非常容易理解,不用你再去关心MQTT的实现细节问题,你看,几个串口通信的内容而已,你就能让设备快速上云了!

无需输入账号密码,插上电就能上云的方法已经教给你了啊,往哪里用就看你的创造力了。体重秤的核心业务是称重,下一章内容就研究一下体重传感器和单片机的配合方法,有点偏硬件不过会更有趣。

微信公众号,偶尔更新。

image.png | left | 243x243

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
消息中间件 存储 Serverless
【实践】快速学会使用阿里云消息队列RabbitMQ版
云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1协议的消息产品。云消息队列 RabbitMQ 版兼容开源 RabbitMQ 客户端,解决开源各种稳定性痛点(例如消息堆积、脑裂等问题),同时具备高并发、分布式、灵活扩缩容等云消息服务优势。
101 2
|
6月前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
302 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
|
6月前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
186 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
|
4月前
|
传感器 网络协议 物联网
手把手教你在 Windows 环境中搭建 MQTT 服务器
手把手教你在 Windows 环境中搭建 MQTT 服务器
312 0
|
6月前
|
传感器 数据采集 监控
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
17723 5
|
6月前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
249 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
|
3月前
|
消息中间件 弹性计算 运维
阿里云云消息队列RabbitMQ实践解决方案评测报告
阿里云云消息队列RabbitMQ实践解决方案评测报告
76 9
|
6月前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
120 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
|
6月前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
123 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)
|
6月前
|
消息中间件 弹性计算 运维
对比阿里云的SofaMQ与RocketMQ
对比阿里云的SofaMQ与RocketMQ
718 2