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

 

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
26天前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
146 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
|
26天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
133 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
|
26天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
195 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
|
1月前
|
传感器 数据采集 监控
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
17598 5
|
2月前
|
NoSQL 关系型数据库 MySQL
涉及rocketMQ,jemeter等性能测试服务器的安装记录
涉及rocketMQ,jemeter等性能测试服务器的安装记录
47 1
|
2月前
|
消息中间件 存储 RocketMQ
RocketMQ源码分析之事务消息实现原理下篇-消息服务器Broker提交回滚事务实现原理
RocketMQ源码分析之事务消息实现原理下篇-消息服务器Broker提交回滚事务实现原理
|
26天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)
|
26天前
|
消息中间件 Cloud Native Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(7)
|
27天前
|
消息中间件 弹性计算 运维
对比阿里云的SofaMQ与RocketMQ
对比阿里云的SofaMQ与RocketMQ
31 2
|
26天前
|
消息中间件 Apache 数据安全/隐私保护
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)