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

 

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
消息中间件 缓存 物联网
MQTT常见问题之MQTT发送消息到阿里云服务器被拒如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
3月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
206 1
|
2天前
|
NoSQL 关系型数据库 MySQL
涉及rocketMQ,jemeter等性能测试服务器的安装记录
涉及rocketMQ,jemeter等性能测试服务器的安装记录
12 1
|
26天前
|
监控 安全 物联网
阿里云mqtt简介和使用流程
本文介绍了阿里云MQTT的准备工作、简介和使用流程。首先,用户需要注册阿里云账号并完成实名认证。接着,通过阿里云物联网平台创建产品和设备,获取连接所需的Broker Address、Port、Username和Password。然后,使用MQTT客户端(如MQTTX)配置这些信息进行连接,并激活设备。最后,创建并订阅/发布自定义Topic,实现设备间的通信。阿里云MQTT是一个适用于物联网设备的轻量级通信协议,提供高并发、高可靠性的服务,广泛应用于各种物联网场景。
阿里云mqtt简介和使用流程
|
26天前
|
消息中间件 传感器 网络协议
阿里云MQTT简介和使用流程
以下是内容的摘要: 该文主要介绍了在阿里云上搭建 MQTT 服务器的步骤。首先,需要注册阿里云账号并进行实名认证。然后,购买阿里云 MQTT 实例,选择合适的类型、地域、连接和消息限制。接着,创建产品和设备,命名并上线,获取 MQTT 连接的相关信息,包括 ProductKey、DeviceName 和 DeviceSecret。通过提供的 MQTT.fx 工具,设置 MQTT 客户端连接参数,包括 Broker 地址、端口、用户名和密码。最后,使用 MQTT.fx 测试连接,实现数据的上报和接收,验证 MQTT 服务器的配置是否成功。
|
29天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
1月前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
255 0
|
1月前
|
域名解析 JSON 监控
Mqtt学习笔记--接入阿里云(2)
Mqtt学习笔记--接入阿里云(2)
44 1
|
2月前
|
消息中间件 API PHP
阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档
【2月更文挑战第23天】阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档
52 7
|
1天前
|
负载均衡 固态存储 Linux
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考
轻量应用服务器、云服务器、gpu云服务器是阿里云服务器产品中,比较热门的云服务器产品类型,不同类型的云服务器产品收费模式与收费标准是不一样的,本文为大家展示这几个云服务器产品的最新收费标准情况,以供参考。
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考