文章

顯示從 12月, 2020 起發佈的文章

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

圖片
# [模組] LoRa 模組範例測試通訊距離 # [模組] LoRa - Arduino MKRWAN 1300 通訊模組 模組說明          過去挪威公司 Nordic 開發兩款無線通訊傳輸模組,一種用在中低頻段 (433/868/915 MHz),稱為 nRF905 ;另一種用在高頻段 (2.4 GHz),稱為  n RF24L01 。以 RF 特性來看這兩款模組,低頻傳輸距離較高頻遠,低頻訊號具有繞射特性,高頻訊號穿透性較差,不過高頻的資料傳輸率比較高,NRF24L01 傳輸率 > 250kbps,NRF905傳輸率 < 50kbps。因此,我們可以依據應用的需求,選擇適合的無線模組。        圖一所示為 Nordic 公司的 NRF 模組的內部方塊圖,圖右邊有 SPI 控制介面可以讀寫晶片內的暫存器,這些暫存器組算是晶片基頻的數位資料,已經被解調後的資料了。另外,控制接腳用來切換 TX/RX 模式,RF 模組的傳輸可視為 半雙工 方式,因為不可能同時發送又接收。圖左邊是天線,內有一機制是模式切換,就是技術文件裡說的 BurstTX 和 BurstRX。接收端,後面接一個 LNA 放大器,將接收下來的小訊號放大以便讓後端解調處理。發射端,接一個 PA 放大器,將調變訊號再增強以便發射出去,PA 增益越大,發射的距離越遠,但是以這模組上的 PA 放大功率有所限制,主因還是使用無線頻譜資源必須得遵守, 不可干擾其他設備 。 圖一:NRF 無線模組的內部方塊圖 資料傳輸測試         NRF 模組內部有兩大機制,一個是位址,一個是 CRC 檢測,必須位址正確了,加上 CRC 檢測無誤,這樣才算完整接收成功。為了驗證資料丟失率,我們用兩塊 Arduino 開發板和 NRF905 模組,當做資料乒乓傳輸測試,一邊當發射端,一邊當接收端。發射端送出資料後,接收端收到後必須再回傳,發射端確認回傳資料無誤後,紀錄一次正確傳輸,如果一段時間沒有收到,代表資料丟失,記錄一次失敗傳輸,發射端再重新傳輸一次。         底下影片紀錄雙邊通訊的情況,在短距離的範圍內 (< 1公尺),發送一筆 4 bytes 長度的資料,接收端再回傳資料,當做 ACK,過程中還是有丟失資料的現象。測試代碼可參考 [2][3]。 影片:兩個 NRF90

[模組] 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) 電話簡訊指令:這模組也能傳送簡訊,適合應用在行動電話的告