物聯網產品框架:傳統裝置使用通訊模組連線雲伺服器(即上雲)做資料收發。本文將使用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 | 訂閱伺服器釋出主題 |
當阿里雲線上除錯介面下發資料時,在本地串列埠除錯助手資料接收區就能收到伺服器下發的資料