WiFi物聯網小車設計方案,采用電腦上位機軟件通過無線WiFi 控制小車的運動,采集小車的信息。與傳統的“智能小車”相比,主要特點在于使用32 位高性能單片機控制、互聯網通信機制和電腦上位機軟件控制。此方案融合了電腦軟件、網絡通信、圖像處理、圖形顯示、運動控制、速度采集和溫度采集等技術,具有“物聯網”的相關特點。傳統的小車控制大多使用紅外通信,使用遙控器進行控制,不但受到距離的限制,而且遠沒有電腦軟件直觀美觀。互聯網通信使小車具備遠程控制的能力,這是紅外通信望塵莫及的。此外,本方案小車控制芯片采用Cortex-M3單片機,該單片機具有極豐富的外設,這給小車以后功能升級和擴展奠定了基礎。
1 總體設計方案
WiFi 物聯網小車設計方案需要達到的目的是使用電腦軟件(簡稱上位機)通過互聯網與小車控制端(簡稱下位機) 進行通信,從而控制小車的運動,采集小車的速度、溫度以及視頻監控等功能。總體設計方案如圖1 所示。圖中有2 種通信模式可選,其中“WiFi 局域網小車控制”是采用局域網的方式,將上位機、無線路由器和小車組成一個局域網,實現上位機控制小車的目的。“互聯網遠程小車控制方案”是采用遠程互聯網的方式,將上位機與小車組成一個互聯網,從而實現遠程控制小車的目的。2 種方案的技術類似,由于受到實驗條件的限制,本設計以局域網小車控制為例進行講解說明。
圖1 總體方案設計
從通信的角度來講,無線路由器是上位機和下位機的數據中心,上位機通過Winsocket 套接字編程創建一個網絡接口與路由器進行連接,小車端通過一個串口轉WiFi 模塊,將串口數據通過WiFi 模塊轉換成WiFi 信號與路由器交互。此過程中,上位機和下位機WiFi 模塊均有一個獨立的局域網IP 地址。通過這個IP 地址上位機和下位機便可以實現網絡通信。
從控制的角度來講,上位機是小車的控制中心,上位機通過“按鍵”發出指令給小車,小車收到指令后回傳相關數據給上位機,上位機收到小車回傳的數據,經過解析,將其顯示出來。
1.1 上位機軟件設計
上位機主要功能是控制小車運動,顯示小車的速度、周圍的溫度以及小車采集的攝像。如圖2 所示,這些功能由2 個線程來完成分別是“圖像、聲音處理線程”和“小車運動控制,速度、溫度采集線程”等。前一個線程主要負責接收并處理有小車WiFi攝像頭傳過來的圖像信息和音頻信息,此部分主要涉及到DirectShow 相關技術。后一個線程主要負責小車運動的控制,包括“前進、后退、左轉、右轉、停止、加速、減速、轉向燈和喇叭”以及接收處理小車回傳的溫度和速度信息等,并用虛擬圖表顯示出來。上位機軟件2 個線程都創建了一個互不相干的套接字,前者用于與小車WiFi 攝像頭進行數據交互,后者用于與小車串口轉WiFi 模塊進行數據交互。
圖2 上位機軟件設計方案
1.2 下位機軟件設計
下位機軟件設計,即Cortex-M3 核心處理器的程序設計,如圖3 所示。設計方案主要包括:攝像的控制、小車4 個電機的控制、DS18B20 溫度數據的采集、紅外對管速度模塊數據的采集以及采集到數據后數據的處理打包發送等內容。其中攝像的控制、電機控制以及溫度和速度的采集均以函數的形式獲取,當下位機收到上位機的相關命令后,便調用相應的函數獲取到結果后用固定的格式發送給上位機。
圖3 下位機軟件方案
下位機實現WiFi 與無線路由器通信的核心是串口轉WiFi 模塊,通過這個模塊可以將下位機發送的串口數據直接轉換成WiFi 信號發射出去。在使用此模塊之前可以通過多種方式進行配置,只要配置好了,便可以與制定的WiFi 接入點進行網絡通信。
2 設計方案特點及擴展說明
2.1 特點介紹
本方案是基于將電腦軟件、互聯網通信以及單片機技術相結合的理念構想設計的。從單片機的選型、通信方案的確定以及上位機軟件的設計等都與傳統的“智能小車”有很大的特別之處。以下是本設計方案的3 大特色:
① 小車的控制芯片采用功能強大的Cortex-M332 位高性能、低功耗的處理器,該芯片具有豐富的外設,芯片還支持ARM 公司提供的RLTx 實時操作系統,使用起來非常方便;
② 通信方式采用TCP / IP 通信協議,使用無線WiFi 技術,實現對小車的控制。此通信方案(如圖1),在具有私有IP 的情況下可以連接遠程網絡,可以通過遠程網絡遙控小車,這在“智能家居”和“遠程醫療”等領域將會有不錯的使用價值;
③ 利用電腦上位機管理軟件,使單片機控制、網絡通信和計算機軟件有效地結合。此方案設計上位機軟件來管理小車,符合將復雜的控制簡單化、界面化的設計理念。
2.2 擴展說明
Cortex-M3 單片機強大豐富的外設資源為本設計的擴展奠定了強大的基礎。除了已實現的功能外,單片機還剩下2 個串口未用,這使小車還可以添加如下功能:GPS 導航功能、語音功能以及GSM/GPRS 發短信、打電話和無線上網功能。
3 方案難點及關鍵技術
方案難點有:
① 上位機控制小車的運動對實時性的要求很高,而采集小車的速度并用表盤顯示出來,這對通信的穩定性又提出了要求,而對于本來就存在延時的TCP / IP 通信來說更是難上加難;
② 圖像處理主要是借鑒網上DirectShow 開發指南中提供的技術,很多內部的處理機制和信號過濾器的使用是難點;
③ 上位機速度表盤顯示速度不連貫,偶爾還有“卡死”的現象。
關鍵技術有:① 通信協議的制定;② 下位機采集并處理信息的方法;③ 上位機套接字編程,速度表盤動態顯示速度;④ 上位機顯示小車監控視屏;⑤ 小車作為WiFi 接入點接入網絡。
4 系統仿真結果分析
4.1 WiFi 物聯網小車整體外觀
小車整體外觀如圖4 和圖5 所示,系統由上位機和小車組成,小車控制電路放在小車上。小車控制器主要包括:電機控制、測速、測溫、通信、圖像采集和無線路由等。
圖4 WiFi 物聯網小車
圖5 小車俯視圖
4.2 系統整體調試
WiFi 物聯網小車控制系統上位機界面主要包括:網絡設置、功能設置、視屏監控區、運動控制區、速度顯示區、溫度顯示區以及調試窗口。網絡設置用于上位機與小車進行網絡連接,輸入小車IP 地址,點擊“連接”即可。視頻監控功能需要小車端安裝WiFi攝像頭,通過點擊視頻顯示框下面的“Call”按鈕可以連接WiFi 攝像頭的IP 地址,連接成功即可獲取攝像頭采集到的圖像。運動控制區用于控制小車的運動和顯示小車的轉向燈、喇叭等。速度顯示區是一個速度表盤用于顯示小車的實時速度。溫度顯示區是一個溫度計的圖形界面,可以顯示小車上DS18B20 傳感器的溫度值。通信調試窗口在調試程序時使用。
4.2.1 網絡連接
網絡連接調試使用網上下載的TCP網絡調試助手,首先設置TCP調試助手為服務器模式,設置服務器監聽IP為192.168.16.110,端口設為345,連接網絡,此IP 地址和端口號是UART 轉WiFi 模塊的IP地址和端口號,通過單片機用AT 指令設定。網絡連接成功后,小車上位機會不斷的發送“014,SR1,TE1,029.6”,表示小車端當前的溫度是29.6 ℃。
4.2.2 小車運動
小車運動控制部分的調試同樣采用上位機和TCP 網絡調試助手進行調試。連接好網絡后,在上位機上分別點擊“↑”,“↓”,“←”,“→”,“█”,“加速”,“減速”。在調試助手接收窗口上依次接收到 “:014,SG1,UP1,;” 、“:014,SG1,DO1,;”、“:014,SG1, LE1,;”、“: 014, SG1, RI1,;”、“: 014, SG1,ST1,;”、“: 014, SG1, AD1,;” 和“: 014, SG1,SU1,;”,分別表示“前進”,“后退”,“左轉”,“右轉”,“停止”,“加速”和“減速”。
4.2.3 溫度和速度的顯示
溫度和速度的測試直接在小車的實際運動過程中進行測試。打開小車,連接上位機,用手捂住小車上的 DS18B20,觀察上位機上溫度顯示區模擬溫度計的度數變化,然后用手轉動小車的輪子觀察上位機速度顯示區速度表盤指針的變化,改變溫度和速度的大小,發現速度表盤指針和溫度指示相應發生變化,因此可以判斷溫度和速度的傳輸沒有問題。
5 結束語
通過反復調試和修改代碼,可以實現預想的功能。通信穩定,小車的控制可靠,數據采集的準確度和靈敏度達到要求。在不涉及到遠程聯網控制的情況下,系統的穩定性和可靠性已經遠遠超過普通的紅外遙控小車和無線射頻遙控小車。方案的意義在于將電腦軟件技術、網絡技術和單片機技術有效結合,突出體現并且深化了“物聯網”的含義,未來必將廣泛應用于社會生活和生產中。方案的應用領域主要有無人駕駛、遠程監控和智能家居等。
評論