摘 要:設計了一款基于Arduino的便攜式無線傳輸通信系統。本系統采用Arduino嵌入式單片機、HLK-RM04無線通信模塊、傳感器和數據接收終端等設備集數據采集、處理、傳輸于一體,文中介紹了系統的硬件選型和設計思路[1]。通過實驗測試表明基于Arduino的無線通信系統實時性強、準確率高、且容易操控。可廣泛應用于高程測量、航空氣象、環境檢測等諸多領域。
關鍵詞:無線傳輸;Arduino;傳感器;通信系統
DOI:10.16640/j.cnki.37-1222/t.2018.20.132
1 引言
隨著無線網絡通信技術的快速發展,采用標準的TCP/IP協議對傳感器數據通過無線方式傳輸逐漸增多,無線傳輸的設計方法具有較強的通用性、兼容性和移動性,可以獲取各類傳感器數據,將數據采用無線傳輸供IOS系統、 Andriod系統和windows系統等終端接收并存儲使用,系統數據的傳輸具有實時性、實用性和穩定性,數據的獲取效率較高。在高程測量、航空氣象、飛行航跡應用等領域有較好的應用[2]。
2 系統總體設計
無線傳輸通信系統由:傳感器模塊、無線通信模塊、Arduino主控模塊、數據系統接收終端等四部分組成。系統的工作原理是將傳感器采集獲取的數據發送到Arduino主控系統上,主控系統對獲取的數據處理并打包發送到無線通信模塊,同時主控系統對無線通信模塊控制設置熱點,將打包的數據發送出去,外部終端設備掃描連接熱點接收并解析出獲取的傳感器數據信息,并將數據下載保存到終端系統存儲[4]。
3 系統硬件設計
無線通信系統硬件電路由Arduino 控制模塊、無線通信模塊和氣壓溫度傳感器等部分組成。
3.1 主控系統模塊
本系統采用的主控模塊是Arduino Mega2560嵌入式單片機。Arduino有類似于C語言IDE集成開發環境,用戶可以通過USB接口直接進行硬件設備連接和通信。
3.2 傳輸模塊
無線通信模塊采用的是HLK-RM04模塊,該模塊兼容串口、以太網和無線網三個接口之間的轉換,內部嵌入了標準TCP/IP協議棧,為數據網絡傳輸提供了完整快速的解決方案,模塊的工作模式如圖1所示。
傳感器模塊采用溫度、氣壓傳感器等分別對數據檢測。系統對數據獲取測試的傳感器采用氣壓溫度傳感器BMP085,該傳感器精度高,對環境溫度敏感、采集環境溫度氣壓數據誤差較小,數據的處理采用插值、采樣算法,算法復雜度較低,容易實現[1,4]。
主系統由Arduino控制協調各部件工作,整個系統模塊的硬件布線圖如圖2所示[1]。
4 系統軟件設計
本系統擬采用蘋果手機、Arduino手機和筆記本電腦等終端系統作為接收客戶端。無線通信HLK-RM04模塊能支持的熱點發送有效范圍有限制,實驗采用無線信號覆蓋范圍20米區域進行測試接收數據,此范圍基本滿足了本系統的測試要求。
通信系統要達到兼容性,系統需采用標準的TCP/IP無線通信方式才能滿足各種終端系統對數據的接收和解析。系統對傳感器數據的采集、處理、打包、建立無線熱點,客戶端采用IP輸入、密碼驗證登錄連接無線熱點,接收并解析獲取數據。系統的軟件流程圖如3所示[1-2]。
從上面主要算法流程程序看出,數據采集終端的軟件編程語言結構清晰,語言復雜度不高,較好的滿足了系統設計需求。
5 系統測試
5.1 WLAN安全配置
系統的無線通信模塊采用的是嵌入式編程應屆模塊HKL-RM04 WiFi。模塊工作的模式采用WiFi/串口轉無線AP。該模式下,WiFi模式工作,其他模式關閉。WiFi模式下安全方面支持目前所有的加密方式。通過程序控制,使得整個系統數據采集終端成為WiFi局域網下的設備[3]。無線模塊安裝完成后,系統開啟串口轉無線AP模式,系統可以通過瀏覽器登錄設置界面,設置網絡熱點連接。
無線模塊的內置TCP/IP標準設置IP地址,鏈接密碼,網絡端口號,網絡設置完成以后終端系統數據采集傳輸模型的建立就布置完成。當系統開啟了熱點后掃描連接熱點。
5.2 系統數據處理
數據接收工具系統需要有解析出標準TCP/IP數據包的功能,能打開當前的網絡熱點連接,并開啟連接以及打開網絡端口,將接收數據保存等功能。為了有效獲取終端系統發送的數據信息,須將接收終端系統放置在數據采集終端系統設置的熱點覆蓋范圍內,掃描終端系統的WiFi熱點并連接熱點,待連接穩定以后開啟TCP/IP接收工具系統設置連接網絡IP,端口號,測試工具開啟接收數據功能,將接收的數據解析出來顯示并保存到數據庫[4]。
6 結語
本文設計并實現了一種基于Arduino的傳感器數據采集傳輸通信系統,并利用該系統采集了氣壓傳感器檢測的環境氣壓和溫度數據實現WiFi通信。整個系統采用嵌入式的終端設備、系統結構完整、具有便攜性、可靠性、滿足了日常應用無線通信的需求。在日常生活中有一定的社會應用價值。
參考文獻:
[1]朱紅軍.基于氣壓傳感器的海拔高度測量系統設計[J].中國民用航空飛行學院學報,2015:67-70.
[2]陳呂洲.Arduino程序設計基礎[M].北京航天航空出版社,2014.
[3]周緒貴.TCP/IP通信測試工具的開發與應用[J].工業控制計算機,2014.
[4]王登宏.基于Arduino的手機同步顯示溫濕度檢查系統的設計[J].工業控制計算機,2016(07).
課題:本文由中國民用航空飛行學院青年基金項目基于Arduino的無線傳輸通信系統研究(編號:Q2018-167)、基于GPS組合導航的地圖匹配定位技術研究項目(編號:J2018-17)支持
作者簡介:朱紅軍(1990-),男,安徽宿松人,碩士研究生,研究實習員,研究方向:電子科學技術及應用、計算機信息和通信系統。