「物联网」EC20连接阿里云进行数据收发

2021年11月7日下午4:33

物联网产品框架:传统设备使用通信模组连接云服务器(即上云)做数据收发。本文将使用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安装指导

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

2.2 阿里云创建设备

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

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

产品功能定义

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

创建设备:

得到设备的三元组信息:


三元组信息:

{

  "ProductKey""a1ciEJx0Tqx",

  "DeviceName""test01",

  "DeviceSecret""2a202572cf9ab480ee012ae103cca21d"

}

查看设备的Topic信息:


设备Topic:

{

  "发布主题""/sys/a1ciEJx0Tqx/test01/thing/event/property/post"

  "订阅主题""/sys/a1ciEJx0Tqx/test01/thing/service/property/set"

}

2 连接阿里云

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

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地址 |

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服务器 |

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

注意将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形式发送 |

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

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 | 订阅服务器发布主题 |

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

文章标签:
    上一篇:       下一篇: