盧建華 龍超平
摘要:本文介紹了一個基于樹莓派的嵌入式系統設計的實踐教學項目。該系統以ARM Cortex-A7為硬件核心,以Zigbee技術作為無線通信手段,結合DHT11溫濕度傳感器,可實現對周圍環境的溫濕度監控。樹莓派的引入,有效地降低了嵌入式實踐教學的開發和教學難度,對嵌入式系統的教學有很好的促進作用。
關鍵詞:樹莓派;嵌入式系統;Zigbee;溫濕度監控
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2019)15-0076-03
一、樹莓派簡介
樹莓派(又稱Raspberry Pi電腦板,簡稱RPi),是由英國Raspberry Pi基金會開發的,是世界上最小的臺式機,又稱卡片式電腦。它外形只有信用卡大小,卻具有電腦的所有基本功能。
樹莓派最初是為學習計算機的學生而設計的,但由于其價格低廉、功耗低、體積小、功能完善、可與PC機媲美的特性,使其使用遠遠超過了最初的設計目的,應用領域不斷被擴展。它既能運行Linux操作系統,也能運行Windows 10等操作系統,可在開發板上直接使用Python或者Java語言進行軟件編程。
作為一款卡片式計算機,樹莓派不僅可以代替電腦作為軟件開發平臺,還具有嵌入式開發板的引腳資源,可以外接不同的設備,例如單片機、傳感器、CC2530芯片等,通過外接設備擴展其功能。另外,作為微型計算機又使得樹莓派不需要借助主機就能完成軟件的開發,使得樹莓派具有獨立性。
二、樹莓派開發環境的搭建
(一)樹莓派開發板硬件資源
樹莓派2代B型(資源配置表見表1)是基于ARM Cortex-A7 BCM2836的miniPC,它兼容1代B+,且性能提升了6倍,內存翻了一番。配備4個可擴展USB接口和一個以太網接口,再加上可供選擇的視頻音頻輸出模式,完全可以與個人電腦相媲美。它不僅能跑全系列ARM GNU/Linux發行版,而且支持Snappy Ubuntu Core 以及Windows 10。
(二)操作系統的選擇
樹莓派支持多種操作系統環境,其中Raspbian OS是一款Debian專門為樹莓派開發板量身定制的免費操作系統,有著良好的桌面環境便于操作,還附帶了35000個軟件包以及預編譯軟件,并且支持C/C++和Python語言編程。
(三)樹莓派的Qt環境搭建
首先從官方網站上下載系統鏡像文件,燒入到SD卡中,再將燒好的SD卡插入到樹莓派上,然后連接無線鼠標、鍵盤,再通過HDMI信號線將樹莓派與電腦顯示器相連,上電啟動樹莓派,并對系統作相應的配置,重啟后就進入了樹莓派的圖形界面。
Qt是一款跨平臺式圖形開發應用程序框架,主要是基于C++進行軟件開發。在搭建樹莓派的Qt環境時,首先下載Qt開發工具、Qt Creator、終端模擬器、編譯器等,然后打開樹莓派命令終端輸入以下命令進行安裝。
sudo apt-get install qt4-dev-tools //安裝必要的開發工具
sudo apt-get install qtcreator //安裝Qt Creator
sudo apt-get install gcc //安裝GNU編譯器套件gcc
sudo apt-get install xterm //安裝終端模擬器
sudo apt-get install git-core
sudo apt-get install subversion
上述操作結束后,Qt Creator就可以使用了。
三、基于樹莓派的溫濕度監控系統的設計
(一)系統結構框圖
基于樹莓派設計的溫濕度監控系統結構框圖如圖1所示,主要由三個部分構成。
第一個部分是由傳感器和終端節點構成的信息采集模塊,負責數據的提取和上傳。DHT11溫濕度傳感器將實際環境中的溫度和濕度轉換為電信號,經過處理后以數字信號的形式上傳給Zigbee終端節點,隨后Zigbee終端節點再以無線電波的方式傳送給Zigbee協調器節點。同時,終端節點還可以接收來自上位機的操作命令,輸出控制信號對電路進行控制。
第二個部分通過樹莓派和協調器節點,實現對信息的處理和控制功能。Zigbee協調器節點先對終端節點發來的無線電信號進行解調,再將數據通過RS232串口上傳給樹莓派。在樹莓派上進行編程,將數據以圖形化的方式呈現出來,而且可以通過樹莓派對Zigbee終端節點發出控制信號。
第三個部分是移動端利用無線通訊技術所構成的遠距離無線控制模塊,該模塊以無線局域網為媒介,能與樹莓派開發板進行Socket通訊,從而實現通過移動端進行遠程監控。
(二)系統中的節點結構
該系統的節點由終端節點和協調器節點構成。終端節點與溫濕度傳感器DHT11相連,把收到的環境信息發送給協調器節點。協調器節點位于控制中心模塊,通過串口芯片FT232RL實現USB轉換為串口與上位機相連,實現數據的上傳,所以協調器節點也是Zigbee網絡對外的通訊接口,協調器節點的結構如圖2所示。
采用CC2530片上系統板實現無線信號的收發。使用串口芯片FT232RL實現樹莓派與協調器節點之間的數據交換。CC2530的信息通過FT232RL轉到USB,再傳給上位機樹莓派,FT232RL相當于上位機和CC2530芯片之間的數據中轉站。FT232RL的主要作用是讓數據從串口轉換到USB接口,轉換后可以從串行UART接口進行數據的接收和發送。
(三)軟件設計
1.協調器節點軟件設。協調器節點的主要任務是構造一個新的Zigbee網,搭建好網絡環境和配置參數,并獲取傳來的數據,再上傳給樹莓派。該軟件設計主要分為建立網絡和與樹莓派通訊兩部分。協調器的工作流程如圖3所示。
2.傳感器節點軟件設計。傳感器節點負責將收集到的數據以一定時間間隔發送給協調器,并接收從樹莓派傳來的控制信號。當定時裝置被觸發時,提取現場的溫度和濕度信息,打包后以無線方式發送出去。傳感器節點的工作流程如圖4所示。
3.上位機和移動端的軟件設計。在上位機的軟件設計過程中,通過Wiring Pi GPIO庫調用串口函數實現對協調器數據的收發功能,從串口獲取數據,并將數據用曲線形式顯示出來。上位機除了與協調器建立通訊外,還要與移動端口建立通訊,實現移動端的遠程訪問和控制功能。
移動端的功能在安卓手機上完成,以實現遠程監控。
四、仿真運行效果
該系統采用SmartRF04EB仿真器,它是美國TI公司為TI Zigbee芯片研制的,具有標準的JTAG調試接口。在Zigbee系統開發過程中,把待調試程序燒入到Zigbee芯片,再使用仿真器就可以進行動態調試。
啟動系統后,點擊“打開串口”和“數據刷新”就可以看到采集到的溫度和濕度數據,如圖5所示。左下角是采集到的溫度實時曲線,也可以選擇查看濕度的曲線圖。點擊“網絡服務”后,可以用手機進行遠程訪問。打開手機軟件,點擊網絡設置,輸入IP地址,連接成功后就可以在手機上看到采集的溫度、濕度數據,圖6為手機終端運行界面。
五、結束語
基于樹莓派的嵌入式系統設計,和傳統的基于ARM開發板的設計相比,更易學易用,開發的產品具有更好的便捷性。引入樹莓派,能更好地促進嵌入式系統的實踐教學。
參考文獻:
[1]王節旺,王瑞寶.基于樹莓派的雷電預警系統設計方案[J].電子設計工程,2016,24(01):169-171+174.
[2]蔡燕敏,孔維通.基于樹莓派網絡監控系統的研究[J].實驗室科學,2015,18(06):87-90.
[3]馮志輝.使用樹莓派實現網絡監控系統[J].電子技術與軟件工程,2015,(05):85.
[4]李文勝.基于樹莓派的嵌入式Linux開發教學探索[J].電子技術與軟件工程,2014,(09):219-220.