嵌入式實訓方案—— 基于OpenWrt的WiFi 智能小車 目錄 1、實訓目的 2、實訓時長和方式 3、針對人群 4、實訓項目詳細內容 4.1 項目背景 4.2 開發平臺 4.3 系統硬件組成圖 4.4 系統軟件層次結構 4.5 軟件實例展示 4.6 涉及到的軟件技術 5、課程安排 6、實訓老師簡介 7、實訓考核 8實訓 9、實訓地點 10、聯系我們
1、實訓目的本次嵌入式實訓是為了提升學生的工程技術經驗、專業技術及相關基礎知識,指導學生進行基于嵌入式平臺的實際項目開發設計。實訓內容涵蓋了基于Linux系統的核心技術知識體系,主要涉及C編程技術、工程開發中常用的數據結構及算法、存儲技術、Linux核心編程技術、GUI程序開發、第三方開源代碼使用、基于Linux系統移植及內核開發、軟件工程、調試技術等等諸多方面,并能夠完整體驗軟件工程化設計實現過程,參與軟件生命周期中實際實施過程,適應一個大型嵌入式/物聯網項目分工協作的過程。豐富、實用、深入淺出的內容,可以把學生以前學過的基礎知識,加以融會貫通,讓學生了解并熟悉到所學的知識在嵌入式應用、3G技術、物聯網技術等方面的用途和實現。通過這次實訓,學生可以了解、熟悉、掌握軟件工程、規范編程、軟件開發技巧、開發流程、調試技術、目前熱門技術等實際開發的經驗和方法,鍛煉積累一定的Linux主流技術的開發經驗,為就業后盡快適應工作打下一個比較好的基礎。
2、實訓時長和方式本次實訓時間為××天,××個工作周。主要分為三個階段,第一個階段主要進行復習和基礎知識鞏固,第二個階段學習Linux平臺下的核心編程技術,第三個階段為項目階段,學員分組后,獨立完成分配的項目,最后進行答辯。前兩個階段每天都采用理論講解、實驗鍛煉的方式,使學員能夠馬上學以致用。項目階段則要求學生綜合利用前面學到的知識,小組成員協作完成一個實際的項目,老師進行相應的輔導。 3、針對人群實訓主要針對大三、大四學生(電子信息工程、電子科學與技術、計算機科學與技術、通信工程、物聯網等相關專業學生),對C/C++語言有一定掌握,對Linux系統有一定了解。 4、實訓項目詳細內容4.1 項目背景隨著人們生活水平的提高,各種智能硬件如雨后春筍般在市面上大量涌現。常見的智能手表、智能手環等智能穿戴設備已經被越來越多的年輕人接受和追捧。還有一些新奇的智能設備也在慢慢映入人們的眼簾,比如智能助眠燈、智能水杯和無人飛行器等。在這之中,不乏一些有非常高實用價值的智能設備,比如智能機器人中的一種家用電器設備——智能掃地機。那么為什么現在會涌現出如此種類繁多的智能硬件設備呢,首先是剛才提到的人們的切實需求,其次是現在的嵌入式技術的高度發展。嵌入式技術在經過幾十年的發展后,現在的發展方向是微型化、網絡化和智能化,也就是說以后用到的很小的電子設備都可能具備聯網的功能,具備一些自動收集并處理數據的功能。本智能小車項目正是順應著這種發展的趨勢而產生的,通過一個小型的電動車,搭載相應的電機驅動控制和舵機驅動控制板,超聲波及紅外傳感器,加上一個攝像頭和一個無線路由器組成,結構小巧,但能完成諸多功能,如自動巡跡、自動逼障、視頻采集和遠程手動控制行駛等。結合這些功能,小車能完成一些靠人無法完成的操作,比如在狹小的空間內進行搜索、探測,在有毒害的環境下進行勘測等等。 4.2 開發平臺硬件: - Ubuntu Linux宿主機
- Arduino Uno電機及舵機控制板
- 無線WiFi路由板
軟件: - GCC交叉編譯工具鏈
- GNU Make工具
- Qt Creator集成開發環境
- Arduino集成開發環境
- SVN/git軟件版本管理工具
- OpenWrt開發環境
4.3 系統硬件組成圖圖 4.1 硬件實物圖A 
圖4.2硬件實物圖B 智能小車的硬件主要由4驅車輪、舵機、直流電機控制及攝像頭舵機控制板、無線WiFi路由板及攝像頭組成。其中4驅車輪是小車行駛的組要部件,每個車輪都有一個直流電機,能夠完成前進、后退、左轉、右轉的動作;舵機上安裝攝像頭,能夠使攝像頭水平180°范圍偏轉和仰俯控制;直流電機控制及攝像頭舵機控制板則是控制電機和舵機的一塊電路板(可以是一個普通的單片機控制板,也可以是Arduino開源硬件電路板),除了電機和舵機的驅動控制外,還可以連接紅外探測器、超聲波發生和接收器,完成自動巡跡和自動逼障的功能;無線WiFi路由板是進行無線WiFi連接的主體,上面運行了一個基于嵌入式Linux的OpenWrt操作系統,能夠完成路由器的工作。硬件的連接情況如下圖所示: 
圖4.3硬件連接示意圖 如上圖所示,四驅車輪的電機、超聲波傳感器,紅外傳感器通過連接線接到控制板上,從而通過控制板產生電機驅動信號和舵機驅動信號來控制小車的行駛和攝像頭的角度。另一方面,控制板采集超聲波傳感器、紅外傳感器的信息并處理后,可以實現自動巡跡和自動避障。 路由板通過串口和控制板相連,從而路由板從網絡上接收到的命令可以通過串口轉發給控制板,用于手動控制小車的行駛和舵機的角度。控制板也可以通過串口將紅外傳感器和超聲波傳感器的信息發送給路由板。另外,路由板也會通過攝像頭來采集圖片信息。 路由板上運行視頻流播放服務器,HTTP服務器,電腦、平板、手機等終端可以通過網絡連接到路由板,運行視頻播放的客戶端,可以實時進行視頻監控。另外,通過網絡將控制命令發送給路由板,可以實現對小車的控制。 4.4 系統軟件層次結構
圖4.4 系統軟件層次結構 整個軟件分成三個層次,分別運行在終端設備(如電腦、平板、手機),路由板和控制板上。終端設備上的程序主要用于流媒體視頻流的播放,小車的控制;路由板上的程序主要運行了流媒體(視頻播放)服務器,HTTP服務器和數據轉發程序,提供視頻播放,控制數據轉發等功能。控制板上的程序則主要解析從串口上受到的數據,然后對其進行解析,然后控制小車。當模式設為自動巡跡和自動避障模式后,控制板上的程序采集傳感器傳回的數據,經過處理后,自動判斷并控制小車的運行方向。 4.5 軟件實例展示
圖4.5 路由器配置界面 圖4.6 Android應用程序主界面 
圖4.7 Android應用程序控制界面 4.6 涉及到的軟件技術- Linux串口編程
- Linux V4L2編程
- Linux多線程編程
- Linux網絡編程
- Qt網絡編程
- OpenWrt系統移植
- Arduino開發
附件:
【嵌入式】基于OpenWrt的Wifi智能小車實訓方案.docx
(1.73 MB, 下載次數: 31)
2018-4-6 19:31 上傳
點擊文件名下載附件
智能小車 下載積分: 黑幣 -5
|