串口数据解析_物联网基础:EC20 连接阿里云进行数据收发
发布日期:2022-02-04 03:25:53 浏览次数:8 分类:技术文章

本文共 2634 字,大约阅读时间需要 8 分钟。

91b7750204a98839a2cd0bcdc34a68f0.gif

物联网产品框架:传统设备使用通信模组连接云服务器(即上云)做数据收发。本文将使用EC20 封装好的AT指令通过 MQTT 协议连接阿里云,简单的介绍下移远4G通信模块 EC20 是如何连接服务器进行数据收发

1 关于EC20模块

1.1 EC20概述

EC20 R2.1 是移远通信推出的 LTE Cat 4 无线通信模块,采用 LTE 3GPP Rel.11 技术,支持最大下行速率 150Mbps 和最大上行速率 50Mbps;同时在封装上兼容移远通信 UMTS/HSPA+ UC20 模块以及多网络制式 LTE EC20/EC21/EC25/EG25-G 模块,实现了3G网络与4G网络之间的无缝切换。

EC20 R2.1 内置多星座高精度定位 GNSS(GPS/GLONASS/BeiDou/Galileo/QZSS)接收机;在简化产品设计的同时,还大大提升了定位速度及精度。

EC20 R2.1 内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于 Windows 7/8/8.1/10,Linux,Android 等操作系统下的 USB 驱动、eCall* 等),极大地拓展了 EC20 R2.1 在 M2M 领域的应用范围,如 CPE、路由器、数据卡、平板电脑、车载、安防以及工业级 PDA 等。

1.2 EC20优势

  • 专为 M2M 和 IoT 应用而设计的 LTE Cat 4 无线模块

  • 各网络制式的全面覆盖

  • 集成多星座 GNSS 接收机,满足不同环境下对快速、精准定位的需求

  • 支持 DFOTA、eCall* 和 DTMF 功能

  • MIMO 技术满足无线通信系统对数据速率和连接可靠性的要求

2 准备工作

2.1 EC20 USB驱动安装

安装过程参考移远官方手册:《Quectel_LTE&5G_Windows_USB_Driver_安装指导_V1.0.pdf》,有详细USB安装指导,该手册及驱动文件可以去移远官方下载或后续在公众号下载

驱动安装成功后,在电脑的设备管理器界面可以看到三个虚拟串口,如下所示:

28193ab7296e83a2d82cd82857aa0aa1.png

2.2 阿里云创建设备

登录阿里云物联网平台:https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fiot.console.aliyun.com%2Fquick_start

创建产品,填写产品相关信息:

ec23fd9f5c71b4c727539f4a83018a79.png
84233dcf570fb3b3f03c4aef8df011c1.png

产品功能定义0d35cbb37d1c62487db794501567e6b1.png

再自定义一个标识符用作数据下发,且发布上线:4de322e0cbda0f32e0209a63830806a8.png

创建设备:906717d12a351bb827d0d73954387e9e.png

得到设备的三元组信息:f114588fd904bd0b986c086ab27ac9b3.png

三元组信息: {
  "ProductKey": "a1ciEJx0Tqx",   "DeviceName": "test01",   "DeviceSecret": "2a202572cf9ab480ee012ae103cca21d" }

查看设备的Topic信息:c3daccfbb1a7829bb6df1c1dfa9e5354.png

设备Topic: {
  "发布主题": "/sys/a1ciEJx0Tqx/test01/thing/event/property/post"   "订阅主题": "/sys/a1ciEJx0Tqx/test01/thing/service/property/set" }

2 连接阿里云

使用串口调试助手,选择 USB AT Port端口,并对串口调试助手做简单设置

217c674e9adb381db697e24808e31b1e.png

2.1 AT指令连接阿里云:

AT指令连接阿里云过程:

1)AT指令入网、模块测试

序号 AT指令 指令解析
1 AT 测试指令,若返回OK,则模块可正常通信
2 AT+CPIN? 检查SIM卡是否在位
3 AT+CSQ 查询信号质量
4 AT+CREG? 查询入网状态
5 AT+CGATT=1 激活网络
6 AT+CGATT? 查询激活状态
7 AT+CGPADDR 获取PDP地址
9f9615e312199824b0574c6c7700b151.png

2)AT指令连接阿里云服务器

序号 AT指令 指令解析
1 AT+QMTCFG="recv/mode",0,0,1 配置为接收模式
2 AT+QMTCFG="aliauth",0,"ProductKey","DeviceName","DeviceSecret" 配置阿里云上的设备信息
3 AT+QMTOPEN=0,"iot-as-mqtt.cn-shanghai.aliyuncs.com",1883 打开一个MQTT客户端网络
4 AT+QMTCONN=0,"DeviceName" 连接MQTT服务器
9f7eda6b1d240c1ebf1d6a1f87e1bf1b.png

此时可在阿里云物联网平台看到设备 test01 的状态已由未激活转为在线状态

e50fc10267d6dec6e22f411660ad05fc.png

注意将AT指令里面的三元组信息替换给自己设备的三元组,AT指令详细的参数解析可参考移远的AT指令手册:《Quectel_EC20_R2.1_AT_Commands_Manual_V1.0.pdf》、《Quectel_EC2x&EG9x&EM05_TCP(IP)_AT_Commands_Manual_V1.0.pdf》、《Quectel_EC20_R2.1_AT_Commands_Manual_V1.0.pdf》

2.2 发送数据

AT指令发送数据的过程如下:

序号 AT指令 指令解析
1 AT+QMTPUB=0,0,0,0,"/sys/ProductKey/DeviceName/thing/event/property/post" 发布主题消息
2 {params:{IndoorTemperature:27.5}} 发送的JSON数据
3 1a 数据结束符,需采用HEX形式发送
3f6f7ef528304ed4703a31d32fdb9b08.png

此时,可在阿里云设备详情界面看到我们用EC20发送到阿里云的数据

81cff546f01181c5a4c4235faad922cf.png

2.3 接收数据

AT指令接收服务器数据指令如下:

EC20接收服务器下发的数据只需要订阅服务器的发布主题,及设备订阅主题:/sys/a1ciEJx0Tqx/test01/thing/service/property/set 即能接收到服务器下发的数据

序号 AT指令 指令解析
1 AT+QMTSUB=0,1,"/sys/ProductKey/DeviceName/thing/service/property/set",0 订阅服务器发布主题

当阿里云在线调试界面下发数据时,在本地串口调试助手数据接收区就能收到服务器下发的数据

adfff1982094f5d37e561fe9fadf772f.png
aca94835df1e48d67fd6c3d780000fe1.png
b11fe965280126821952f6ba34f14022.gif

笔者知识有限,如果发现本文有错误的地方欢迎批评、指正,若本文对您有所帮助,点赞、在看也是笔者坚持的动力

2a6748a0335f48ba76bbfa731798ccfa.gif

转载地址:https://blog.csdn.net/weixin_39626369/article/details/111324552 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 下划线_我终于把Python中下划线的含义弄清楚了(憋了很久了)
下一篇:反arp攻击软件_甜橙安全头条第23期技术干货之透析中间人攻击

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月14日 20时43分24秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

python 学习汇总56:Enum类(初级学习- tcy) 2019-04-26
python 学习汇总57:class类定义(初级学习- tcy) 2019-04-26
python 学习汇总58:class类外部定义函数(初级学习- tcy) 2019-04-26
python 学习汇总60:类实例作为函数的参数(初级学习- tcy) 2019-04-26
python 学习汇总64:类属性方法(初级学习- tcy) 2019-04-26
numpy 学习汇总10-dtype数据类型 ( 基础学习 tcy) 2019-04-26
numpy 学习汇总11-Matrix矩阵创建 ( 基础学习 tcy) 2019-04-26
numpy 学习汇总12-Matrix矩阵运算与数据类型转换 ( 基础学习 tcy) 2019-04-26
numpy 学习汇总13-numpy.linalg线性代数 ( 基础学习 tcy) 2019-04-26
numpy 学习汇总14-多维数组的轴sum(axis) ( 基础学习 tcy) 2019-04-26
numpy 学习汇总15 -广播 ( 基础学习 tcy) 2019-04-26
numpy 学习汇总16 - Scalar标量的属性方法( 基础学习 tcy) 2019-04-26
numpy 学习汇总17 - 副本和视图,内部缓冲区( 基础学习 tcy) 2019-04-26
numpy 学习汇总18 - 数学运算 (集合,复数)( 基础学习 tcy) 2019-04-26
numpy 学习汇总19 - ufunc函数属性,方法,自定义,函数构造数组(详解 基础学习 tcy) 2019-04-26
numpy 学习汇总21 - 循环迭代a.data,np.flat,np.nditer(详解 基础学习 tcy) 2019-04-26
numpy 学习汇总18.1 - 统计函数( 基础学习 tcy) 2019-04-26
numpy 学习汇总18.2 - 数学运算( 基础学习 tcy) 2019-04-26
numpy 学习汇总18.2 - 字符char操作( 基础学习 tcy) 2019-04-26
numpy 学习汇总38- 缺失数据,数据异常,NaN& None的区别( 初步学习 tcy) 2019-04-26