OpenWrt簡介
OpenWrt 可以被描述為一個(gè)嵌入式的 Linux 發(fā)行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個(gè)單一的、靜態(tài)的系統(tǒng)。OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許您自定義的設(shè)備,以適應(yīng)任何應(yīng)用程序。
對于開發(fā)人員,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持;對于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。
關(guān)于基于OpenWrt和TCPIP協(xié)議的Android遠(yuǎn)程無線智能機(jī)械彈琴手系統(tǒng).
?本文利用TCP/IP 協(xié)議,的Android 設(shè)備接入互聯(lián)網(wǎng),遠(yuǎn)程發(fā)送控制信號給刷有OpenWrt 嵌入式系統(tǒng)的3G 路由器,路由器用串口將信號給Arduino 控制板解析控制信號并控制機(jī)械彈琴手動(dòng)作,這一套解決方案不僅可以應(yīng)用于智能家居、工業(yè)控制,還可以應(yīng)用于遠(yuǎn)程教育。
一、TCP/IP 協(xié)議
TCP/IP 協(xié)議棧是一個(gè)實(shí)現(xiàn)網(wǎng)絡(luò)上通信的協(xié)議族,這種協(xié)議使得不同平臺(tái)架構(gòu)網(wǎng)絡(luò)之間的互聯(lián)成為可能,它是一個(gè)真正開放系統(tǒng),最早起源于一個(gè)關(guān)于分組交換網(wǎng)絡(luò)研究的項(xiàng)目,后來發(fā)展成為Internet事實(shí)上的通信標(biāo)準(zhǔn)。TCP/IP 協(xié)議采用分層的結(jié)構(gòu)形式,總共分成四層,是對OSI 結(jié)構(gòu)的簡化,它們每一層都實(shí)現(xiàn)了不同的功能模塊和通信協(xié)議,每一層都為上一層提供不同的功能模塊和通信協(xié)議,每一層都為上一層提供支持。
如圖1TCP/IP 協(xié)議結(jié)構(gòu)

二、OpenWrt 路由嵌入式系統(tǒng)
OpenWrt 是一個(gè)開源的Linux 版本,主要是用于嵌入式系統(tǒng),其強(qiáng)大之處在于它的網(wǎng)絡(luò)部分功能,現(xiàn)在很多嵌入式設(shè)備的代碼都是使用OpenWrt 或者參考OpenWrt 是運(yùn)行在嵌入式CPU 上,OpenWrt 做成的。主頻一般都在幾百兆左右,F(xiàn)lash 閃存一般為8M 或者16M,SDRAM 內(nèi)存一般是16M。主流路由器固件有dd-wrt,tomato,openwrt三類。對于開發(fā)人員,dd-wrt,tomato,OpenWrt 是使用框架來構(gòu)建應(yīng)用程序,而無需建立一個(gè)完整的固件來支持; 對于用戶來說,這意味著其擁有完全定制的能力,可以用前所未有的方式使用該設(shè)備。
本文中1的mini 路由器是常見的TP-LINK
無線標(biāo)準(zhǔn):
IEEE
TL-WR7O3N v1,4MFlash,32MDDR,
有線標(biāo)準(zhǔn):IEEE
802.11n、IEEE 802.11g、IEEE 802.11b,
802.3、IEEE 802.3u,最高傳輸速度150Mbps,信道數(shù)
1個(gè)10/100Mbps LAN/WAN 復(fù)用接口,1個(gè)USB接口,內(nèi)置天線,支持3G、VPN、WDS 無線橋接、無線MAC 地址過濾、無線安全功能開關(guān)、64/128/152位WEP 加密、WPA-PSK/WPA2-PSK、WPA/WPA2 安全機(jī)制,遠(yuǎn)程WEB 管理,配置文件導(dǎo)入與導(dǎo)出,WEB軟件升級。
在www.openwrt.org.cn 下載中心下載TL-WR703N的OpenWrt 固件,路由器通過網(wǎng)線連接電腦后登陸路由器,在路由器的固件升級中選擇文件進(jìn)行升級,升
級中不要斷電,否則導(dǎo)致路由器損壞,整個(gè)過程需要5分鐘左右,升級后路由器的USB就具備了駁接攝像頭或者直插U 盤的功能,而官方版本只支持駁接3G
上網(wǎng)卡。刷完后固件版本為OpenWrt FirmWareAttitude Adjustment( r31054) /LuCI Trunk
(trunk-svn8380 ),嵌入式Linux 內(nèi)核版本為3.2.12。WIFI智能模塊,直接把就是把3G 路由器改裝的,TTL 焊點(diǎn)引到了迷你USB 接[ 1,這樣就可以跟控制板進(jìn)行通信和供電。遠(yuǎn)程設(shè)置的基本流程就是將連上寬帶的無線路由
器添加一個(gè)虛擬服務(wù)器,IP 為192.168.1.17 ,新建兩個(gè)服務(wù)端口,視頻接入端口為8080,控制端口為2001,將3G 無線路由器的模式Access Point 改為Client并連上無線路由器,查看無線路由器的WAN口IP地址為202.203.41.14 ,在手機(jī)端接入服務(wù)器IP設(shè)置為202.203.41.14
,這樣手機(jī)連上寬帶后就可以連接上遠(yuǎn)程的3G 路由器。
圖2 IP遠(yuǎn)程連接拓?fù)浣Y(jié)構(gòu)

三、Arduino控制系統(tǒng)
Arduino平臺(tái)的基礎(chǔ)就是AVR 指令集的單片機(jī)。Arduino是一個(gè)能夠用來感應(yīng)和控制現(xiàn)實(shí)物理世界的套工具。它由一個(gè)基于單片機(jī)并且開放源碼的硬件
平臺(tái),和一套為Arduino 板編寫程序的開發(fā)環(huán)境組成。Arduino 可以用來開發(fā)交互產(chǎn)品,比如它可以讀取大量的開關(guān)和傳感器信號,并且可以控制各式各樣的電燈、電機(jī)和其他物理設(shè)備。
圖3 Arduino控制板的框圖。
圖4 控制系統(tǒng)組成框圖

四、Android 手機(jī)端軟件設(shè)計(jì)
Android 提供一套關(guān)于wifi 連接和數(shù)據(jù)信號收發(fā)的API,我們利用這些API 可以快速開發(fā)相關(guān)軟件,軟件Main.java 的基本函數(shù)構(gòu)成如圖5。
圖5 Main.java 基本函數(shù)構(gòu)成

常用鋼琴鍵為21個(gè)鍵,即分別實(shí)現(xiàn)高中低三個(gè)音階,安卓軟件界面如圖7。
六、總結(jié)
本文提出了一套完整了遠(yuǎn)程控制方案,包括硬件部分和軟件部分,隨著遠(yuǎn)程無線控制的發(fā)展,這個(gè)方向會(huì)越來越被大家所青睞,然而目前網(wǎng)絡(luò)連接中廣泛使用的IPV4 協(xié)議地址空間上存在很大的局限性,地址空間的局限往往使得運(yùn)營商動(dòng)態(tài)分配IP地址。如果自己有唯一的域名的話就可以解決這個(gè)問題,解析到域名的IP地址就可以唯一的連接到此地址作為服務(wù)器了,理論上全國各地均可以進(jìn)行遠(yuǎn)程連接和控制。
電子發(fā)燒友App















評論