[模組] 4G 通訊模組的應用

實際應用

        在一個監控系統之中,網路通訊往往是最基礎的建置,如果已經布建了有線網路,自然省了網路通訊的工事。不過,有些監控環境幅員廣大,並不適合布建有線網路,因為採用 4G 通訊模組較為方便,如下圖一所示。
        在圖中的左邊是監控的場域,圖中的右邊是監控中心,配置有資料庫系統。在偏闢的場域,安裝各種感測器,並將收集到的資料回傳監控中心的資料庫,這時整合一個 4G 通訊模組彼拉有線網路更為有效率。因此,我們研究目前市面的 4G 模組,並進行測試。購買模組時,要留意 4G 支援的頻道,有些模組支援的頻道數不夠多,未來使用時可能會遇上通訊不通,而我們實驗的模組是 4G - EC20 (Quectel)。
圖一:4G 通訊模組應用在監測環境

模組類型

        目前我們使用的 4G 模組有兩種,可以依據本身的需求選用適合的模組,一種是用來整合嵌入式系統的模組,一種是獨立運行的模組。說明如下:

        1) UART 介面為控制的模組:這種 4G 模組可以用來與其他模組整合在一起,MCU 藉由 UART 介面與 4G 模組連接,指令與資料傳輸都透過這介面通訊,MCU 組成一個系統並負責整合每個模組的運作。如下圖二所示,這種模組比較容易吸引 maker 的使用。

        2) 路由器的模組:這種 4G 模組已經可以直接單獨使用,本身有乙太網路端口,如下圖三所示。運行這模組之前,我們需要先配置這 4G 路由器,類似配置 IP 分享器一樣。

圖二:以 UART 介面控制的 4G 模組
圖三:4G 模組路由器

UART 介面控制

        4G 模組的控制指令都是靠 UART 介面做通訊媒介,而網路封包的資料也是透過 UART 介面傳送的,UART 通訊配置為 115200 bps, 8-N-1 的格式,看的出來這只適用於低流量的通訊應用。接著來了解一下如何使用模組,控制模組的指令是以 AT 方式處理,簡單區分下列的 AT 指令:

        1) 控制指令:這些指令包含一些設定配置,或者各種查詢的指令。比如:ATI 查詢模組型號,ATE0 關閉指令的 echo 回應,AT+CSQ 查詢訊號強度...等等。更多的指令可以參考模組的文件。

        2) 電話簡訊指令:這模組也能傳送簡訊,適合應用在行動電話的告警,當監測到危急的數據時,可發出簡訊通知。指令有 AT+CMGF=1 用來設定訊息的格式,發送指令 AT+CMGS="number" 簡訊內容。

        3) 網路傳輸指令:這是讓我們從 UART 介面發送 TCP/UDP 封包路由到 4G 網路上,相關的指令有 AT+QIOPEN= .... 開啟一個 socket,AT+QICLOSE= ... 關閉一個 socket,AT+QISTATE 查詢目前 socket 狀態。
        在 UART 介面上,資料的傳送又分成三種:透傳模式、暫存模式、push 模式。當進入透傳模式時,UART 介面就變成一個資料傳送接收的媒介,此時無法處理任何指令,必須輸入特殊的 pattern 才能退出透傳模式。暫存模式就是類似 socket buffer 的使用,任何傳送或接收封包都要使用 AT 指令來存取 buffer。Push 模式也很像暫存模式的使用。

留言

此網誌的熱門文章

[筆記] ESP32 在 VS Code 開發環境的編譯與除錯

[筆記] Raspberry Pi 樹莓派的軟體開發

[應用] 在 ESP32 Audio 開發板的 VoIP 範例

[應用] 藍芽 BLE client/server 架構:BLE remote controller

[筆記] Visual Studio 遠端偵錯的設定步驟

[模組] 無線資料傳輸:nRF905 和 nRF24L01 (以 Arduino 為控制器)

[應用] STM32 DFU (Device Firmware Upgrade)