彭升平
摘 要:本文主要闡述了智能小車的視頻監(jiān)控以及溫濕度監(jiān)測,采用嵌入式ARM的模塊化實現(xiàn)智能小車多功能控制,主芯片是基于ARM的樹莓派3B+,通過Socket網(wǎng)絡(luò)編程實現(xiàn)與移動端的通訊和小車的遠程控制。該遠程監(jiān)測小車可適用于地質(zhì)勘探,科學(xué)研究,獨居老人智能監(jiān)護等領(lǐng)域。
關(guān)鍵詞:智能小車;樹莓派;遠程控制;視頻監(jiān)測
1 概述
智能小車也稱為輪式機器人,作為現(xiàn)代的新發(fā)明,也將是以后的重要發(fā)展對向,它可應(yīng)用于科學(xué)勘探,救援搜尋,可移動機器人等等的領(lǐng)域。本設(shè)計的智能環(huán)境監(jiān)測小車的市場前景在于倉儲樓宇的監(jiān)控,勘探的環(huán)境監(jiān)測,消防的救援救災(zāi)等方面。
1.1 系統(tǒng)總體設(shè)計方案
1.1.1 系統(tǒng)實現(xiàn)的主要功能
系統(tǒng)實現(xiàn)的功能主要在于兩個方面,一是智能小車的遠程控制,在同局域網(wǎng)下通過指令實現(xiàn)小車的方向控制。二是環(huán)境監(jiān)測的功能,實現(xiàn)在PC機或移動端的瀏覽器可查看攝像頭正在錄制的視頻;單片機通過溫濕度傳感器對周邊環(huán)境的溫濕度進行數(shù)據(jù)測量。
1.1.2 系統(tǒng)硬件的框架
整個系統(tǒng)由視頻監(jiān)控,溫濕度測量,小車方向控制組成,在小車的框架組裝完成后,樹莓派3B+與副處理器STC15W4K56S4單片機通過串口通信,可在PC機上對小車的行跡進行控制;單片機通過DHT11連接的I/O口可采集周邊環(huán)境的溫濕度,使用了keil uvision4軟件進行代碼的編寫和調(diào)試,STC-ISP軟件和USB數(shù)據(jù)線進行代碼燒錄。
2 開發(fā)環(huán)境搭建
2.1 樹莓派操作系統(tǒng)
樹莓派官網(wǎng)發(fā)布了多個Raspbian鏡像操作系統(tǒng),首先要選擇合適CSI攝像頭的鏡像系統(tǒng),在Windows下通過Win32DiskImager將IMG文件寫入SD卡中。將燒寫好的SD卡插入樹莓派后,給開發(fā)板上電,通過Advanced IP Scanner軟件掃描出開發(fā)板的IP地址為192.168.43.80,再通過遠程桌面連接輸入IP地址登錄界面。
2.2 編程環(huán)境的搭建
將形成的HEX文件通過STC-ISP單片機下載編程燒錄軟件。STC-ISP是針對STC系列單片機而設(shè)計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機,使用簡便,現(xiàn)已被廣泛使用。該軟件還帶有串口調(diào)助手,用USB轉(zhuǎn)TTL可在PC上看到COM端口,使用端口可進行數(shù)據(jù)的收發(fā)調(diào)試,形成白盒調(diào)試方法。
2.3 Socket網(wǎng)絡(luò)編程的實現(xiàn)
本系統(tǒng)采用的是基于TCP的流式套接字,服務(wù)器和客戶端的工作流程如下:
(1)創(chuàng)建TCP套接字,調(diào)用Socket()函數(shù)創(chuàng)建。
(2)bind()綁定服務(wù)器的端口到套接口。
(3)listen()將套接字變?yōu)楸O(jiān)聽套接字。
(4)accept()阻塞等待客戶接入,發(fā)送應(yīng)答。
(5)write()Linux系統(tǒng)編程,將數(shù)據(jù)已文件的方式發(fā)送。
(6)close()關(guān)閉與客戶機的鏈接。
客戶端的實現(xiàn)同樣需要套接字的創(chuàng)建,指定了服務(wù)器IP地址和端口,調(diào)用connect函數(shù)與服務(wù)器獲取鏈接。Read()函數(shù)用來接收數(shù)據(jù),close()關(guān)閉鏈接。
3 功能實現(xiàn)
3.1 方向控制
小車控制方向是通過控制電機驅(qū)動模塊來實現(xiàn)的,需要先定義四個引腳的I/O口,通過查看引腳功能圖,確定車輪的電機驅(qū)動方向,前后左右的控制依據(jù)兩輪正轉(zhuǎn)小車前進,兩輪反轉(zhuǎn)小車后退,左輪停止,右輪正轉(zhuǎn)小車向左,右輪停止左輪正轉(zhuǎn)小車向右。
3.2 溫濕度采集
當(dāng)有客戶機需要獲取室內(nèi)環(huán)境的溫度和濕度時,其發(fā)送指令給服務(wù)器,服務(wù)器發(fā)送信號給單片微處理器,單片微處理器給溫濕度傳感器模塊發(fā)出啟動信號,將 DHT11溫濕度傳感器喚醒,使其進入到高速運轉(zhuǎn)模式,當(dāng)數(shù)據(jù)采集完成后,DHT11溫濕讀傳感器模塊將采集到的數(shù)據(jù)傳送到單片微處理器中保存,自身則會自動調(diào)整回到睡眠模式等待下次的喚醒操作。
3.3 攝像頭的實時監(jiān)控
攝像頭的實時監(jiān)控是根據(jù)V4L2技術(shù)來配合開發(fā)平臺進行視頻數(shù)據(jù)的采集,V4L是Vedio For Linux的縮寫,它是以插件的形式獲得輸入輸出的方式,可以有一個輸入插件和多個輸出插件同時運行,本系統(tǒng)主要用到input_uvc.so(從攝像頭獲取數(shù)據(jù))和output_uvc.so(輸出到網(wǎng)頁)這兩個插件。mjpg-streamer視頻還需要使用libjepg庫,可直接運行指令sudo apt-get install libjpeg8-dev進行庫安裝。之后便是等待編譯和執(zhí)行即可使用該軟件進行監(jiān)控。
4 系統(tǒng)的性能測試
4.1 分步測試
當(dāng)軟件部分編寫完成時,采取分步測試軟件的可用性,再進行整體測試判斷是否符合預(yù)期要求。分步需要對整體項目進行分割,分為三大模塊:
(1)小車的方向控制調(diào)試,先將小車方向的程序燒錄到單片機中,單片機進行電機驅(qū)動模塊的控制,串口通過USB-ttl接入到電腦,可在STC-ISP上查看到COM口,選擇相應(yīng)的COM口,向串口發(fā)送方向判斷的指令,從而控制小車的移動距離。
(2)Socket網(wǎng)絡(luò)的調(diào)試,需要PC機的網(wǎng)絡(luò)調(diào)試助手和樹莓派操作系統(tǒng),在樹莓派開發(fā)系統(tǒng)界面,執(zhí)行Socket通信的程序,網(wǎng)絡(luò)調(diào)試助手發(fā)出的數(shù)據(jù)可再開發(fā)板上接收并執(zhí)行。
(3)溫濕度模塊的調(diào)試,使用STC-ISP的串口調(diào)試助手進行白盒調(diào)試,改變周圍的溫濕度,單片機喚醒溫濕度模塊,查看環(huán)境改變前后的數(shù)據(jù)是否發(fā)生變化。
5 結(jié)論
本設(shè)計的實現(xiàn)了智能小車環(huán)境監(jiān)測系統(tǒng)設(shè)計,采用了嵌入式模塊化形式完成的,主要完成工作如下:
(1)針對智能小車及其功能實現(xiàn)查閱大量的中外文的資料,分析當(dāng)前的發(fā)展現(xiàn)狀。分析系統(tǒng)的可行性和嵌入式技術(shù),嵌入式處理器的分析。
(2)系統(tǒng)的整體搭建方案與硬件的相關(guān)介紹,樹莓派開發(fā)板的系統(tǒng)的安裝與使用,根據(jù)實際功能選擇硬件。
(3)搭建開發(fā)所需的環(huán)境,樹莓派系統(tǒng)和軟件編程環(huán)境,配置相關(guān)參數(shù)和插件,分模塊完成各部分的編程、編譯,軟件的燒錄。
(4)對系統(tǒng)進行分步調(diào)試和整體性能調(diào)試,調(diào)試結(jié)果基本符合最初的預(yù)想,能夠遠程控制視頻監(jiān)控小車的行動,監(jiān)測周邊環(huán)境的溫濕度。
參考文獻:
[1]武傳宇,沈衛(wèi)平,胡旭東.未知環(huán)境中移動機器人基于行為的自主導(dǎo)航與環(huán)境構(gòu)建[J].機電工程,2003(5):115-117.
[2]G.Yasuda,Bin Ge.Localization and remote control of multiple mobile robots using fast color image processing.Intelligent Control And Automution[J].2014.
[3]王棟.基于ARM的智能探測小車的設(shè)計與實現(xiàn)[D].蘇州大學(xué)碩士論文,2010.
[4]于秀麗.仿真機器人發(fā)展及其技術(shù)探索[J].北京:機械工程學(xué)報,2019(3):216.
[5]解俊.基于ARM的智能小車控制軟件系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué)碩士論文,2014.