物聯(lián)網產品框架:傳統(tǒng)設備使用通信模組連接云服務器(即上云)做數據收發(fā)。本文將使用EC20 封裝好的AT指令通過 MQTT 協(xié)議連接阿里云,簡單的介紹下移遠4G通信模塊 EC20 是如何連接服務器進行數據收發(fā)
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 內置豐富的網絡協(xié)議,集成多個工業(yè)標準接口,并支持多種驅動和軟件功能(適用于 Windows 7/8/8.1/10,Linux,Android 等操作系統(tǒng)下的 USB 驅動、eCall* 等),極大地拓展了 EC20 R2.1 在 M2M 領域的應用范圍,如 CPE、路由器、數據卡、平板電腦、車載、安防以及工業(yè)級 PDA 等。
1.2 EC20優(yōu)勢
- 專為 M2M 和 IoT 應用而設計的 LTE Cat 4 無線模塊
- 各網絡制式的全面覆蓋
- 集成多星座 GNSS 接收機,滿足不同環(huán)境下對快速、精準定位的需求
- 支持 DFOTA、eCall* 和 DTMF 功能
- MIMO 技術滿足無線通信系統(tǒng)對數據速率和連接可靠性的要求
2 準備工作
2.1 EC20 USB驅動安裝
安裝過程參考移遠官方手冊:《Quectel_LTE&5G_Windows_USB_Driver_安裝指導_V1.0.pdf》,有詳細USB安裝指導
驅動安裝成功后,在電腦的設備管理器界面可以看到三個虛擬串口,如下所示:
2.2 阿里云創(chuàng)建設備
登錄阿里云物聯(lián)網平臺:https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fiot.console.aliyun.com%2Fquick_start
創(chuàng)建產品,填寫產品相關信息:
產品功能定義
再自定義一個標識符用作數據下發(fā),且發(fā)布上線:
創(chuàng)建設備:
得到設備的三元組信息:
三元組信息:
{
"ProductKey": "a1ciEJx0Tqx",
"DeviceName": "test01",
"DeviceSecret": "2a202572cf9ab480ee012ae103cca21d"
}
查看設備的Topic信息:
設備Topic:
{
"發(fā)布主題": "/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? | 查詢入網狀態(tài) |
| 5 | AT+CGATT=1 | 激活網絡 |
| 6 | AT+CGATT? | 查詢激活狀態(tài) |
| 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服務器 |
此時可在阿里云物聯(lián)網平臺看到設備 test01 的狀態(tài)已由未激活轉為在線狀態(tài)
注意將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 發(fā)送數據
AT指令發(fā)送數據的過程如下:
| 序號 | AT指令 | 指令解析 |
| :----- | :-- | :------ |
| 1| AT+QMTPUB=0,0,0,0,"/sys/ProductKey/DeviceName/thing/event/property/post" | 發(fā)布主題消息 |
| 2 | {params:{IndoorTemperature:27.5}} | 發(fā)送的JSON數據 |
| 3 | 1a | 數據結束符,需采用HEX形式發(fā)送 |
此時,可在阿里云設備詳情界面看到我們用EC20發(fā)送到阿里云的數據
2.3 接收數據
AT指令接收服務器數據指令如下:
EC20接收服務器下發(fā)的數據只需要訂閱服務器的發(fā)布主題,及設備訂閱主題:/sys/a1ciEJx0Tqx/test01/thing/service/property/set 即能接收到服務器下發(fā)的數據
| 序號 | AT指令 | 指令解析 |
| :----- | :-- | :------ |
| 1 | AT+QMTSUB=0,1,"/sys/ProductKey/DeviceName/thing/service/property/set",0 | 訂閱服務器發(fā)布主題 |
當阿里云在線調試界面下發(fā)數據時,在本地串口調試助手數據接收區(qū)就能收到服務器下發(fā)的數據