版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
{管理信息化物聯(lián)網(wǎng)}基于RaspberryPi實(shí)現(xiàn)的智能家居36摘要面上的網(wǎng)絡(luò)電視的比較中引出畢設(shè)的主角——樹莓派。首先是LINUX系統(tǒng)常識(shí)性的介紹;然后是在ARM/LINUX平臺(tái)上面開發(fā)應(yīng)用C經(jīng)典法、PYTHON快捷GPIOLED略介紹了基本網(wǎng)絡(luò)協(xié)議(TCP/IP在結(jié)論中詳細(xì)羅列了自己對(duì)于整個(gè)平臺(tái)的總體認(rèn)識(shí)。關(guān)鍵字:智能家居;樹莓派;Arm;LinuxAbstractThewholeworkofmygraduationprojectisrelatedtoRaspberryPi,anArm&&Linuxdevelopmentplatform.Asanintroduction,thefirsttwochaptersshowoutsomemethodsofsmarthomeapplicationdevelopmentonthisplatformandthecapabilityofRaspberryPibytickingtheGPIOportsandsettingupahome-scalelocalwirelessnetwork.Thenabrieflydescriptionofseveralprimaryinternetprotocol,paring5differentwaysofweb-serverbuilding,puttingforwardweb-servertotheoutsideworld.Finally,myjudgmentabouttheentiredevelopmentplatform.Keywords::SmartHome;RaspberryPi;Arm;Linux目錄摘要IAbstractII目錄III第1章緒論11.1課題背景、目的和意義11.1.1課題背景11.1.2課題目的21.1.3課題意義21.2智能家居發(fā)展現(xiàn)狀21.3主要研究?jī)?nèi)容及內(nèi)容安排3第2章控制器平臺(tái)介紹42.1設(shè)計(jì)平臺(tái)的軟硬件介紹42.2設(shè)計(jì)方法82.3設(shè)計(jì)功能12第3章本地應(yīng)用設(shè)計(jì)133.1GPIO引腳控制133.2無線路由器的實(shí)現(xiàn)143.3網(wǎng)絡(luò)電視的配置17第4章網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)184.1樹莓派網(wǎng)絡(luò)連接184.2服務(wù)器和Pagekite204.3Webiopi配置214.4Motion的配置22第5章軟件源的制作24結(jié)論26致謝28參考文獻(xiàn)29附錄30第1章緒論1.1課題背景、目的和意義1.1.1課題背景4網(wǎng)絡(luò)比校外網(wǎng)絡(luò)收費(fèi)高,許多用戶轉(zhuǎn)而使用學(xué)校外面的電信網(wǎng)絡(luò)。建立家庭內(nèi)無線局域網(wǎng),解決多終端上網(wǎng)問題。那天在他家安裝TP-LINK無線路由器很簡(jiǎn)單的建立起了家庭無線網(wǎng)。不足之處是:新的校園網(wǎng)客戶端要求必須有一個(gè)上網(wǎng)終端連接TP-LINK并始終電腦從此以后365天24小時(shí)開著,費(fèi)電不說,像這種家庭用普通莓派完全可以將上述臺(tái)式機(jī)客戶端認(rèn)證和TP-LINK無線路由器的有所作為的。另外一件事情是有關(guān)三網(wǎng)合一、網(wǎng)絡(luò)電視機(jī)頂盒。下面是三則299元(上海、杭州、長(zhǎng)沙三地市銷PPTV5月18日零點(diǎn)開放800臺(tái)工程版PPBOX的網(wǎng)絡(luò)預(yù)售,價(jià)格僅為199C1S再次改變你的電視。自己曾經(jīng)試著在樹莓上面安裝XBMC實(shí)現(xiàn)了網(wǎng)絡(luò)電視的功能,樹莓派又可以損失。1GHZ主頻的處理器,1GB硬件配置何其出眾。而現(xiàn)在就是這樣一個(gè)小小的板子,700HZ主頻512MB內(nèi)存,已經(jīng)顯示出巨大的潛能。那么是否可以通過某種方式之外是否也是可以有所作為的呢?1.1.2課題目的的是要把幾個(gè)有關(guān)智能家庭應(yīng)用的獨(dú)立功能同時(shí)在一塊板子上面實(shí)現(xiàn),并試著擴(kuò)展自己的功能。在這個(gè)過程中,為其他人學(xué)習(xí)ARM/LINUX開發(fā),或者說在樹莓派上面的開發(fā)厘清一條道路。同時(shí)嘗試擴(kuò)展智能手機(jī)的功能。1.1.3課題意義的開展和自動(dòng)化協(xié)會(huì)的發(fā)展建立一個(gè)堅(jiān)固的基礎(chǔ);為開源/自由軟件的事業(yè)做出了一點(diǎn)個(gè)人貢獻(xiàn),這個(gè)是最重要的。1.2智能家居發(fā)展現(xiàn)狀PPTV不過一年左右時(shí)間連續(xù)發(fā)布的價(jià)位功能相近的三款擴(kuò)展普通電視為網(wǎng)絡(luò)電視的數(shù)字機(jī)頂盒做一下簡(jiǎn)單介紹和比較:友的配件,硬件價(jià)格299元,視頻來源為央視正版授權(quán)高清內(nèi)容,標(biāo)配遙控器或者小米手機(jī)來控制控,體積類似于大屏智能手機(jī),HDMI接口;Coretex-A9處理器,主頻800MHZ,內(nèi)存1G、H.264、VC-1、WMV-HD、MPEG14最大至幀/秒,10/100M自適應(yīng)RJ45接口,Micro-USB接口;其次是PPBOX,1GHZ主頻處理器、1GB內(nèi)存、4GDLNA和Airplay299元,HDMI接口、wifi、藍(lán)牙、3.5mm音頻輸出;最后是樂視盒子,硬件免費(fèi),內(nèi)容收費(fèi);樂視網(wǎng)TV版12個(gè)月服務(wù)費(fèi)價(jià)格490元,6個(gè)月服務(wù)費(fèi)價(jià)格290元。CORETEX-A9架構(gòu)雙核1.5G處理器,無線連接功能,并其集成無線1080P無論從硬件還是內(nèi)容資源的角度來看,樂視盒子都更勝一籌,然安裝XBMC的樹莓派硬件功能不比這三者差,但是沒有內(nèi)容資源美大片,這樣樂視的優(yōu)勢(shì)就不會(huì)那么明顯了。1.3主要研究?jī)?nèi)容及內(nèi)容安排本文首先介紹了樹莓派開發(fā)平臺(tái)的軟硬件資源以及在ARM/LINUX平臺(tái)開發(fā)應(yīng)用的一般方法,提出我將要實(shí)現(xiàn)的功能(第第2章控制器平臺(tái)介紹樹莓派是英國樹莓派基金會(huì)推出的一款旨在推動(dòng)學(xué)校計(jì)算機(jī)的外部擴(kuò)展和低廉的價(jià)格而被選作本畢業(yè)設(shè)計(jì)的開發(fā)平臺(tái)。2.1設(shè)計(jì)平臺(tái)的軟硬件介紹下面是樹莓派宏觀接口圖:圖2-1:樹莓派B型板的宏觀結(jié)構(gòu)圖BCM2835ARM1176JZF-S700MHZ的處理器(可以超頻至1GHZVideoCoreIVGPU,還有512MRAM(A型板內(nèi)存為256M個(gè)SDSD卡插入作為硬盤使用。SD插槽的旁邊是一個(gè)Micro-USB電源插孔,由此引入5V的電源,也可以通過GPIO接口的2號(hào)(VCC3號(hào)(GND5V電源。在SD插槽的另一邊是262腳可以接入或給出5V電源,1腳給出3.3V電源,第12腳可以提供PWM,另外包括一組UART,一組SPI,一組I2C,8個(gè)GPIO引腳。擴(kuò)展接口還算豐富。兩種視頻接口方式。其一是HDMI,HDMI兼容的電視或者顯示器可以直接通過這個(gè)接口獲得輸出的視頻信號(hào),VGA顯示器可以通過HDMI-VGA轉(zhuǎn)換器得到VGAHDMI相反方向是一個(gè)RCA接疊在一起的兩個(gè)USBA型板只有一個(gè)USBUSB們通過USB-HUBUSB接口旁邊是10/100M以太網(wǎng)接USB口和RCA接口之間的音響/JTAG接口;三是,TFT觸摸屏接口。核心芯片BCM2835:高清嵌入式多媒體應(yīng)用處理器BCM2835是并進(jìn)行了相關(guān)優(yōu)化。BCM2835使用博通公司的第四代VideoCore技術(shù)來使能應(yīng)用程序中的各種圖像、視頻處理。*低功耗ARM1176JZ-F應(yīng)用處理器*雙核第四代VideoCore多媒體協(xié)同處理器*1080P30幀每秒全高清視編碼/解碼*高性能視頻輸出。1080P60幀每秒持續(xù)高分辨率LCD、HDMI輸出*低功耗,高性能OpenGL-ES1.1/2.0VideoCoreGPU*ISP20萬像素的攝像頭高達(dá)220萬像素每秒下面是該芯片的內(nèi)部結(jié)構(gòu)圖:圖2-2BCM2835內(nèi)部結(jié)構(gòu)圖備不夠強(qiáng)大。但因其低廉的價(jià)格(B型板35美元,A型板25美元8051單片機(jī)和個(gè)人電腦之間為我們提供了一個(gè)理想的嵌入式開發(fā)平臺(tái)。GNU/LINUXGNU/LINUX給予用戶以免費(fèi)或者較低的價(jià)格獲取操作系統(tǒng)和軟件的許多科技人員的喜愛。在本畢業(yè)設(shè)計(jì)中筆者使用的操作系統(tǒng)是Raspbian,一款基于Debian并根據(jù)樹莓派硬件條件進(jìn)行修改的操作系統(tǒng)。如下是維基百科中關(guān)于Debain的描述:Debian是由GPL和其他自由軟件許可協(xié)議授權(quán)的自由軟件組DebianDebianProjectDebian計(jì)劃是一個(gè)獨(dú)立的、分散的組織,由3000人志愿者組成,接受世界多個(gè)非盈利組織的資金支持,SoftwareinthePublicInterest提供支持并持有商標(biāo)作為保護(hù)機(jī)構(gòu)。Debian以其堅(jiān)守Unix和自由軟件的精神,以及其給予用戶的眾多選擇而聞名。現(xiàn)時(shí)Debian包括了超過37,500個(gè)軟件包并支持12i386amd64、armmipsIBMDebianLinux核心的DebianGNU/Linux系統(tǒng),其他還有采用GNUHurd核心的DebianGNU/Hurd系統(tǒng)、采用FreeBSD核心的DebianGNU/kFreeBSDNetBSD核心的DebianGNU/NetBSD應(yīng)用Debian的系統(tǒng)架構(gòu)和工具,采用OpenSolaris核心構(gòu)建而成的NexentaOS系統(tǒng)。在這些Debian系統(tǒng)中,以采用Linux核心的DebianGNU/Linux最為著名。眾多的Linux發(fā)布版,例如Ubuntu、Knoppix和Linspire及Xandros等,都基于DebianGNU/Linux。筆者使用GNU/LINUXDebianDebianDebian1、豐富的軟件包和強(qiáng)大簡(jiǎn)便的軟件包管理器2、通用操作系統(tǒng),支持多種計(jì)算機(jī)系統(tǒng)架構(gòu)3、強(qiáng)大的志愿者/開發(fā)人員組織如下文所說,對(duì)于習(xí)慣了微軟操作系統(tǒng)的用戶來說,一些GNU/LINUX版本絢麗的桌面環(huán)境也許會(huì)讓你感到驚艷,但是相信我GNU/LINUX的精華來源于黑紙白字的文本界面。作為一名嵌入式開就個(gè)人認(rèn)識(shí)對(duì)GNU/LINUX的特色——文件系統(tǒng),做簡(jiǎn)要介紹。理細(xì)節(jié)(在硬盤或者SD卡中實(shí)際就是0和1的排列組合)包裝成則包含了指向這些空間的“指針。記住一個(gè)非常重要的概念,GNU/LINUX是建立在文件系統(tǒng)之上的,系統(tǒng)將外部設(shè)備甚至網(wǎng)絡(luò)設(shè)備也當(dāng)做文件進(jìn)行讀寫!在LINUX系統(tǒng)的/根目錄下面有:binbootdevetchomemediamntoptprocrootsbinselinuxsrvsysuservarbin建立概念即可,命令的查閱參見,.linux/。bootCPU和GPUboot目錄下面有這個(gè)文件。這個(gè)文件控制著樹莓派UART是否輸出系統(tǒng)信息。devdevice,cdromttyUSBttyS0,終端tty**在這兒都有體現(xiàn)。有幾個(gè)非常有趣的設(shè)備zero、null、random.以后你會(huì)發(fā)現(xiàn)他們的妙用。etc:包含運(yùn)行在系統(tǒng)上所有程序的配置文件。這個(gè)目錄很重要,經(jīng)常用!home:主目錄,GNU/LINUX作為多用戶操作系統(tǒng),每一個(gè)用戶考下面的連接:tutorials/309527-clscpu、lsusblspci錄下面文件的內(nèi)容。var:這個(gè)目錄很有意思,如我們的網(wǎng)絡(luò)文件儲(chǔ)存在www下面。在log目錄下存儲(chǔ)各種日志,用戶登錄,系統(tǒng)運(yùn)行,開機(jī)信息,網(wǎng)絡(luò)里尋找靈感。2.2設(shè)計(jì)方法ARM+LINUXRaspbian作為一個(gè)完整的操CC++PHPPythonjava等各種編程語言構(gòu)建的程序。筆者主要用到C、Python兩種語言。C語言是Python是一種面向?qū)ο蟮母呒?jí)語RaspberryPi中Pi是pythonGNU/LINUX內(nèi)置的命令程序都是經(jīng)受過歷史考驗(yàn)的,尤其是是Debain這樣一個(gè)以穩(wěn)定性為特色的操作系統(tǒng)。大多數(shù)命資源,其次是自己編寫程序,而在編程語言中優(yōu)先選擇Python語CC語言放在最前面,Python語言或者直接調(diào)用系統(tǒng)集成好的工具會(huì)把許多細(xì)節(jié)率的角度考慮,也應(yīng)該多使用C語言。GNU/LINUX+ARM配置文件都是以*.confIDE可以節(jié)我們編寫代碼的質(zhì)量和速度。常用編輯器由三款:Nano、Vim和Emacs。相比較而言,Nano使用非常簡(jiǎn)單,同時(shí)功能無幾,適合入門級(jí)用戶使用。Vim和Emacs是GNU/LINUX系統(tǒng)中最為著名的兩款VimVim的強(qiáng)大所折服,通過按鍵的組合和插件的使用,Vim賦予機(jī)械的二極管、門電Emacs使用GNU/LINUXVimEmacs應(yīng)該熟練掌握一種。VimGNU/LINUX操作系統(tǒng)默認(rèn)安裝Vi(VimEmacs講,底層開發(fā)人員(硬件到操作系統(tǒng))適宜使用Vim,上層開發(fā)人員(操作系統(tǒng)到網(wǎng)絡(luò))使用Emacs。助我們遠(yuǎn)程控制目標(biāo)機(jī)器或者方便調(diào)試:SSH、VNC、USB轉(zhuǎn)串口、Mini/GtktermSSHSecureShell和傳輸層基礎(chǔ)上的安全協(xié)議,為計(jì)算機(jī)上的Shell(殼層或者命令解釋器)提供安全的傳輸和使用環(huán)境。SSH可以使得我們獲得遠(yuǎn)程運(yùn)行LINUX系統(tǒng)命令行的能力,另外SCP命令可以進(jìn)行文件傳輸。VNCVirtualNetworkComputingRFB協(xié)定的屏幕畫面分Tightvnc購買鼠標(biāo)和鍵盤的費(fèi)用,同時(shí)方便的進(jìn)行遠(yuǎn)程操作桌面。SSH只能Tightvnc的圖形界面,USB轉(zhuǎn)串口和Mini/Gtkterm橋接至USB接口。這就要用到PL2303芯片。PL2303將USB端口和標(biāo)準(zhǔn)RS232USB手。這使之獲得了比傳統(tǒng)UART控制器更高的信息傳送速率。將樹莓派的第68腳、10腳(UART收發(fā))分別與模塊的相應(yīng)引腳相連,USBUART口輸出,同時(shí)正常工作時(shí)UART也可以作為調(diào)試和控制窗口。如下圖示筆者的串口連接方法:圖2-3USB轉(zhuǎn)串口連接筆記本另外注意,樹莓派可以通過對(duì)GPIO第2腳+5V來供電,而PL2303也正好有一個(gè)+5V+5V款程序查看串口發(fā)送來的信息,這就要用到Mini/Gtkterm。Mini以模擬ANSI和VT102Gtktrem是基于GTK+是Gtkterm,感覺不錯(cuò),但是Mini的文本操作模式更適合GNU/LINUX環(huán)境。如果個(gè)人電腦安裝的是微軟系統(tǒng)的話,可以是使用超級(jí)終端。雖然最近幾年GNU/LINUX系統(tǒng)特別是UBUNTU發(fā)行版,在圖形網(wǎng)頁。這里要提到兩款比較著名的文本瀏覽器Lynx和W3m。LynxUNIXMAC且仍在積極的開發(fā)之中。用戶眾多,功能強(qiáng)大。W3m是一款基于文持中文,和Emacs有一定淵源。這里不做詳細(xì)介紹。另外要提及一個(gè)GNU/LINUX下的圖形界面開發(fā)工具,GTK+。GTK+,GIMPToolKit,一個(gè)生成跨平臺(tái)的圖形界面開發(fā)工具。GTK+提供一整套開發(fā)控件,使得我們可以使用他來開發(fā)小到“HelloWorld!”大至Gnome桌面的各種應(yīng)用。由于其跨平臺(tái)性,GTK+開發(fā)的工具在GNU/LINUXGTK+自身采用C持,如C++、java、python等。下圖是筆者的Debian桌面:圖2-4筆者漂亮的Gnome桌面意義的一個(gè)開源軟硬件平臺(tái)——ArduinoArduino是一個(gè)開源的單片機(jī)控制器,它使用AtmelAVR單片機(jī),采用了開放源代碼的軟硬JAVAC語言的Processing/Wiring開發(fā)環(huán)境。與8051單片機(jī)不同,其集成開發(fā)環(huán)境可以非常方便的幫助我們實(shí)現(xiàn)USB而ArduinoArduino作為下位機(jī)控制外部器件,是一個(gè)不錯(cuò)的組合(當(dāng)然可以換成如UDOO之類的高級(jí)ARMArduino開發(fā)環(huán)境的簡(jiǎn)圖:圖2-5ArduinoIDE展示2.3設(shè)計(jì)功能在ARM+GNU/LINUX軟硬件平臺(tái)下面,我們可以實(shí)現(xiàn)各種功能,簡(jiǎn)單來說可以分為本地應(yīng)用、網(wǎng)絡(luò)應(yīng)用。本地應(yīng)用主要包括GPIO口、串口、SPI和I2C的使用,用來控制外部引腳的高低電平或者放以及軟件源的制作。第3章本地應(yīng)用設(shè)計(jì)3.1GPIO引腳控制本地應(yīng)用開發(fā)主要有三種方法,介紹如下。1、經(jīng)典法的C語言開發(fā):首先下載并安裝airspayce網(wǎng)站BCM2835有關(guān)輸入輸出的庫函數(shù),編譯并安裝。該庫函數(shù)提供了各種端口操作函數(shù)可供使用,GPIO引腳、SPI、I2C、系統(tǒng)時(shí)鐘。附錄里面有SPI測(cè)試程樹莓派上用到的心電采集模塊、北斗模塊、與上位機(jī)或者Arduino一些設(shè)置。將和ttyAMA0有關(guān)的信息刪除,并將inttab文件找到包含的行,在前面加“#”將該項(xiàng)注釋掉。2、簡(jiǎn)潔的Python語言開發(fā):上面我們提到的是傳統(tǒng)的經(jīng)典的C語言開發(fā)方法,而是用Python可以極大的提高我們的開發(fā)效率。Python是面向?qū)ο蟮母呔S護(hù)費(fèi)用低,跨平臺(tái)、開源。在使用的過程中我們會(huì)發(fā)現(xiàn)Python體現(xiàn)在樹莓派的方方面面。下面的例子,簡(jiǎn)單展示了一個(gè)Python腳本,其簡(jiǎn)練可見一斑:importwiringpifromtimeimportsleepio=(.WPI_MODE_SYS)(18,)#Setuppin18(GPIO1)whileTrue:(18,)#Turnonlightsleep(2)(18,)#Turnoffsleep(2)對(duì)于電腦初學(xué)者來說,Python有限,本文沒有對(duì)具體GPIO引腳的編程進(jìn)行詳盡的說明。3、功能強(qiáng)大的Shell編程:但凡使用過GNU/LINUX肯定對(duì)于ShellShell雙擊TAB系統(tǒng)會(huì)提Debian系統(tǒng)中顯示有2756個(gè)命令可用。Python編程和ShellLINUX之后應(yīng)該試著學(xué)習(xí)Shell解決日常工作。硬件編程之外我們需要注意一些事情。樹莓派GPIO口默認(rèn)除電源腳為+5v+3.3v高,0VArduino默認(rèn)為+5v0v3.3V電平轉(zhuǎn)成5V。如果外部設(shè)備需要較大電流的話,也需要可慮各個(gè)引腳的負(fù)載能力。切記,切記!樹莓派GPIO引腳內(nèi)部沒有保護(hù)電路,千萬不要不將+5V與地短路,后果很嚴(yán)重。(總電流大于1.5A),使用7805做線性電源自身功耗相當(dāng)大,散熱效果很差。后來改用LM2576做開關(guān)電源,效果明顯好轉(zhuǎn)。開關(guān)電源核心是LM2576芯片,外加幾個(gè)電容、二極管、電感即可,考慮到兼容性采用USB接口輸出+5V。下圖筆者自制的開關(guān)電源外形圖:圖3-1LM2576開關(guān)電源3.2無線路由器的實(shí)現(xiàn)建立無線局域網(wǎng)。本項(xiàng)目所使用的無線模塊是RT5370,主要是RT5370的配置:我們要用到兩款軟件HostapdUdhcpHostapd是一個(gè)接入點(diǎn)和驗(yàn)證服務(wù)器的用戶空間守護(hù)進(jìn)程,它實(shí)現(xiàn)了IEEE802.11的接入管理、IEEE802.1XWPA2/EPA身份驗(yàn)證、RADIUS客戶端和EPA認(rèn)證服務(wù)器。Udhcp是一款專用于嵌入式設(shè)備的DHCP電腦上面的DHCPudhcpd,亦即dhcp客戶端程序。1RT5370是否被正確識(shí)別。$sudolsusbBus001**************************Bus001**************************Bus001**************************Bus001Device007:ID148f:5370RalinkTechnology,Corp,RT53702、本機(jī)識(shí)別正常,安裝相關(guān)軟件:$sudoapt-getinstallhostapdudhcpd3、下面配置DHCP服務(wù)器,編輯文件,添加如下內(nèi)容:start#DHCP可分配的IP地址空間end5#應(yīng)為是在家庭內(nèi)使用,數(shù)量不必過多interfacewlan0#Udhcp服務(wù)器的工作設(shè)備remainingyesoptdns#DHCP客戶端設(shè)備使用的DNS服務(wù)器optsubnet#子網(wǎng)掩碼optrouter#無線網(wǎng)的網(wǎng)關(guān),即樹莓派的無線IP地址optlease864000#DHCP服務(wù)器默認(rèn)運(yùn)行時(shí)間,10天后自動(dòng)關(guān)閉4、使能DHCP服務(wù)器開機(jī)運(yùn)行,修改default/udhcpd將DHCP_ENABLED=”no”改為:#DHCP_ENABLED=”no”5、將network/interface添加或者對(duì)相應(yīng)行做如下修改:ifacewlan0inetstatic#固定樹莓派的無線地址作為局域無線網(wǎng)的網(wǎng)關(guān)addressnetmask#allow-hotplugwlan0#wpa-roamwpa_supplicant/wpa_#ifacedefaultinetdhcp6、配置hostapd??梢詤⒖磆ostapd.gz中的內(nèi)容。編輯(或者生成)文件hostapd/添加以下內(nèi)容:interface=wlan0#要使用的網(wǎng)卡driver=nl80211#驅(qū)動(dòng)名稱ssid=My_AP#無線局域網(wǎng)的名稱hw_mode=g#channel=6#hostapd運(yùn)作的頻率macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=My_Passphrase#無線網(wǎng)的密碼wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP修改完上述文件后,編輯文件default/hostapd將#DAEMON_CONF=””改為:DAEMON_CONF=”hostapd/”7、配置網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT根網(wǎng)線連接網(wǎng)絡(luò)。首先修改文件找到行4.ip_forward=1,去掉前面的“#”將該選項(xiàng)使能。為了將NAT在linux內(nèi)核中使能運(yùn)行一下命令,修改防火墻設(shè)置:$sudoiptables-tnat-APOSTROUTING-oeth0-jMASQUERADE$sudoiptables-AFORWARD-ieth0-owlan0-mstate--stateRELATED,ESTABLISHED-jACCEPT$sudoiptables-AFORWARD-iwlan0-oeth0-jACCEPT現(xiàn)在樹莓派就可以進(jìn)行NAT保存,運(yùn)行下面的命令將現(xiàn)在的防火墻設(shè)置生成文件:$sudosh-c"iptables-save>4.nat"設(shè)置開機(jī)啟動(dòng)時(shí)加載上面的防火墻設(shè)置,在network/interfaces文件底部添加下面的一行:upiptables-restore<4.nat8hostapd和udhcpd開機(jī)自啟動(dòng):$sudoupdate-rc.dhostapdenable$sudoupdate-rc.dudhcpdenable線信號(hào)。3.3網(wǎng)絡(luò)電視的配置首先添加相應(yīng)的軟件源,打開文件apt/.d/添加下面的內(nèi)容:deb./raspbianwheezycontrib然后導(dǎo)入存檔簽名秘鑰:$sudoapt-keyadv--keyserver.--recv-key5243CDED完成之后,更新系統(tǒng):$sudoapt-getupdate安裝網(wǎng)絡(luò)電視軟件:$sudoapt-getinstallxbmc速度較慢,完成之后,關(guān)機(jī)重啟,進(jìn)入xbmc.更改系統(tǒng)設(shè)置正常顯示中文,安裝相應(yīng)的ZIP文件,添加對(duì)于youku、toudu、qiyi等國內(nèi)視頻網(wǎng)站的支持。如下圖是作者通過樹莓派的網(wǎng)絡(luò)電視觀看“舌尖上的中國”:圖3-2XBMC觀看舌尖上的中國第4章網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)在我的理解中,從一個(gè)整體的角度考慮puting,硬件資源是土TcpUdp特殊的功能(如Pagekite反向代理服務(wù)器)應(yīng)該對(duì)于網(wǎng)絡(luò)底層細(xì)通信協(xié)議TCPIP/DNS做簡(jiǎn)要介紹。TCP,TransmissionControlProtocol,傳輸控制協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由IETF的RFC793定義。在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI能。UDPUserDatagramProtocol相比較而言,UDPDNS服務(wù)就是采用的UDP協(xié)議。IP,InternetProcotol,網(wǎng)絡(luò)通信DNSDomainNameSystem,是DNS內(nèi)容,參見《UNIXNETWORKPROGRAMING4.1樹莓派網(wǎng)絡(luò)連接WLAN3G簡(jiǎn)單,將網(wǎng)線連接入網(wǎng)口,然后設(shè)置相應(yīng)ip地址即可。但是我們Arm的只需要在network/interface的配置:ifaceeth0inetstaticaddressnetmaskgateway另外還要在中加入本地DNS服務(wù)器的地址。wpa-configure搜索無線需要用到iwlistifup,ifconfig式,是自己的亮點(diǎn),使用ZTE-A3563G上網(wǎng)卡連接網(wǎng)絡(luò)。對(duì)于智能車可以用到,意義在于不受地理限制的傳送大數(shù)據(jù)量信息(100K/S介紹,參看下面的連接如果你要用到3G上網(wǎng)卡或者首先參看下面/RPi_VerifiedPeripherals圖是筆者使用的3G上網(wǎng)卡:圖4-1ZTE-A3564.2服務(wù)器和Pagekite五種網(wǎng)絡(luò)控制方案及其比較:1LAMP:Linux+Apache+Mysql+Php+CGI2Socket:TCPUDP3DjangoPi:Python+Django(flask)4WEBIOPI:Python5LLSP:Linux+Lighttpd+SQLlite+Php+CGI最先想到的LAMPApache和Mysql耗過多的資源留給其他程序的資源不足,影響了主體功能的發(fā)揮。另外網(wǎng)絡(luò)電視Xbmc也需要消耗很多資源,所以這個(gè)方案不行。然后是Socket,曾經(jīng)非常愚蠢的嘗試著進(jìn)行底層socket編程。從最基本的TCP/UDP間理解TCP/IP.下面是DjangoPi,Django和Flask都是基于python的網(wǎng)絡(luò)服務(wù)器框架。PythonPython發(fā)揮出來。曾經(jīng)有一個(gè)DjangoPi的項(xiàng)目,現(xiàn)在已經(jīng)擱淺。這個(gè)方WebiopiPython語言。該軟件已集成了一個(gè)網(wǎng)絡(luò)服務(wù)器,和各種GPIO函數(shù),多種javascript業(yè)設(shè)計(jì)使用Webiopi實(shí)現(xiàn)功能,如果做實(shí)用話智能家居應(yīng)用的話,本方案不可。最后是LLSPLighhtpdCPUSQLLite:?350KBC其它數(shù)據(jù)庫管理系統(tǒng)相比,SQLite戶端應(yīng)用程序的訪問,但它的一個(gè)不可分割的一部分。與LAMP相說這更重要。相比較Webiopi,我們需要自己重寫新客戶端和服務(wù)挑篩選出來時(shí),畢設(shè)所剩時(shí)間已經(jīng)沒有多少了,沒有辦法實(shí)施了。臺(tái),應(yīng)該采用一款資源更多的板子,或者自己根據(jù)需要做板子。Pagekite:動(dòng)態(tài)DNS客戶端,才可以使得外網(wǎng)可以通過域名找到我們的機(jī)器。幸運(yùn)的是,還有pagekite。Pagekite是一種逆向代理工具將本地localhost的服務(wù)器以合適NAT都可以發(fā)現(xiàn)她的妙用。她可以使任何運(yùn)行python并可以連接到外部網(wǎng)絡(luò)的設(shè)備同時(shí)可以被外部網(wǎng)絡(luò)設(shè)備所訪問。Pagekite/比如筆者的域名.me,記住密碼。需要注意的是免費(fèi)的pagekite服務(wù)只能提供31天或者2.5G6到8個(gè)域名,15如果推廣智能家居的話,我們需要自己籌建pagekite服務(wù)器。然過剛剛的域名看到自己的網(wǎng)站了。通過下面的命令暴露自己的web端口(80):$80.me打開22端口進(jìn)行ssh遠(yuǎn)程訪問:$22ssh:.mePagekite對(duì)于智能手機(jī)也是有意義的。安裝了對(duì)應(yīng)的python工作環(huán)境和之后,在配以類似于lighhtpd和php之類的軟件,每一部智能手機(jī)都可以打造成為一個(gè)網(wǎng)絡(luò)服務(wù)器。我向這肯定是有用途。4.3Webiopi配置Webiopi,一個(gè)完全集成的物聯(lián)網(wǎng)框架通過瀏覽器或者應(yīng)用程件不做詳細(xì)介紹。我并沒有使用webiopi具體的去控制某個(gè)電器,令我眼前一亮,服務(wù)器、底層硬件控制,全部依靠python語言實(shí)現(xiàn),也足見Python的強(qiáng)大,有必要對(duì)之深入理解。另外,這個(gè)軟件中體現(xiàn)一個(gè)好東西,COAP,我沒有能深入理解。下圖是Webiopi的默認(rèn)配置:圖4-2webiopi示意圖COAP:ConstrainedApplicationProcotol一種專門應(yīng)用于簡(jiǎn)COAP是用于資源有限的網(wǎng)絡(luò)器件如物聯(lián)網(wǎng)的應(yīng)用層協(xié)議。4.4Motion的配置Motion小型web服務(wù)器可以將圖像或者視頻實(shí)時(shí)傳遞到網(wǎng)絡(luò)或者壓縮存儲(chǔ)。功能豐富,消耗CPU和內(nèi)存較多。Mjpg-Stream,圖像、視頻采集,并將之時(shí)間傳遞到網(wǎng)絡(luò)或者壓縮存儲(chǔ)。CPU消耗很大,完成使用的是Motion,當(dāng)加入其它功能之后明顯感覺資源的瓶頸。Motionsudomotionmotion/文件中的一些選項(xiàng),可以motion的使用有較大改觀。setup_modeoff#啟動(dòng)運(yùn)行模式widthheight#圖像的高度和寬度area_detect5#檢測(cè)動(dòng)態(tài)區(qū)域output_alloff#存儲(chǔ)全部圖片output_motionon#存儲(chǔ)運(yùn)動(dòng)圖片ffmpeg_cap_newon#圖像采集的同時(shí)壓縮成視頻webcam_port8081#視屏流輸出端口webcam_maxrate10#視頻輸出幀頻率webcam_localhoston#本機(jī)輸出以上僅僅介紹了,筆者用到的幾個(gè)選項(xiàng),實(shí)際Motion還有很置服務(wù)器。我沒有將Motion的強(qiáng)大很好的發(fā)揮出來。上面提到的圖像輸出選項(xiàng)和視頻壓縮選項(xiàng)都設(shè)置為off降低CPUSD言,mjpg-stream在每秒5幀和每秒30幀速率下的視頻輸出流下CPU使用量都高居95%左右。我沒有仔細(xì)閱讀上訴二者的源代碼,CPU和內(nèi)存到底消耗在什么過程中了。這就是調(diào)用成型命令、程序的弊端。下圖是筆者的實(shí)際效果圖:圖4-3視頻監(jiān)視效果圖第5章軟件源的制作UDP通信和串口GNU/LINUXDebian散的組織,由3000人志愿者組成,接受世界多非盈利組織的資金支持,SoftwareinthePublicInterest提供支持并持有商標(biāo)作為保護(hù)機(jī)構(gòu)。正是這樣一個(gè)組織在維護(hù)debian操作系統(tǒng),同時(shí)開發(fā)、一個(gè)巨大的軟件池。最為一名debian用戶我從來不去下第三方的軟件,而只從debian的官方軟件池獲得(因其開源特性沒有版權(quán)raspbian,是一款基于debian并根據(jù)具體硬件和應(yīng)用目標(biāo)做了相應(yīng)修改的操作系統(tǒng),她繼承了debian絕大多數(shù)的軟件池。樹莓派的官方軟件件池(就在H408己的畢設(shè)內(nèi)容和個(gè)人見解通過軟件源這樣一個(gè)載體留給學(xué)弟學(xué)妹,希望大家再接再勵(lì),更創(chuàng)輝煌。軟件源的制作比較簡(jiǎn)單。我首先是使用wget克隆的中國科技大學(xué)的源:(http|rsync)://.eduraspbian/。然后使用rysnc定期和官方的源進(jìn)行同步:rsync--archive--verbose--delete--delete-delay--delay-updates\.org::archivetomirror我把自己的論文以及期間所有的文獻(xiàn)和網(wǎng)頁全部存儲(chǔ)在www/目錄下面,若有需要可以自行獲取。圖5-1軟件源效果圖結(jié)論派平臺(tái)自身資源相對(duì)于個(gè)人電腦仍顯不足,在運(yùn)行三大功能時(shí)CPU有幾個(gè)問題,留待解決。1、自己在畢業(yè)設(shè)計(jì)的過程中嘗試了多種不同的方案,發(fā)現(xiàn)了的兩個(gè)軟件motionpagekite入理解的話是可以有所創(chuàng)新的。2、我是否可以在自己的程序中將GPU的強(qiáng)大功能發(fā)揮出來。GPU用來進(jìn)行圖形CPU要用GPIO口控制小車的步進(jìn)電機(jī),各個(gè)車轱轆的控制是不能同時(shí)定。這就要用到實(shí)時(shí)操作系統(tǒng),舉兩例RTLINUX,Xenomail.3、軟件源的制作是一個(gè)亮點(diǎn)。我還有自動(dòng)化的殷鵬同學(xué)、張要用到PWMBeagleBoard或者Udoo。4、如果上述的功能被某家企業(yè)完全整合在一起的話,家庭隱私也是一個(gè)值得考量的問題。前幾天曝光出來的“棱鏡門事件便到保護(hù)。致謝時(shí),好友殷鵬,張辰的點(diǎn)子的確也幫了我不少,感謝二位。參考文獻(xiàn)1MaikSchmidt,RaspberryPiAquickStartGuide,ProgmaticBookshelf,August8,20122MattRichardson&&ShawnWallacejklfd,Startwithraspberrypi,O`ReilyMedia,December7,20123ChristopherHallinan,EmbededLinuxPrimer,PrenticeHall,September18,20064FredrikLundh,Pythonstandardlibrary,O`ReillyMedia,May20015W.RichardStevens/BillFenner/Andre,UnixNetworkProgramingI,Addison-WesleyProfessional,November24,20036BrianW.KernighanandDennisM.Ritchie,CProgramingLanguage,rentice-Hall,19887SteveLevineandMariaRodriguez,WebProgramminginPythonwithPython,Mit,January20108MendelCopper,AdvancedBash-ScriptingGuide,TheLinuxDocumentProject,Nov20129RobertSedgewick,AlgoritheminC,Addison-Wesley,Sep199710Richard
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年無人機(jī)安防監(jiān)控系統(tǒng)采購合同2篇
- 2025版委托持股業(yè)務(wù)盡職調(diào)查與風(fēng)險(xiǎn)評(píng)估合同3篇
- 2025版塔吊租賃合同解除及賠償協(xié)議6篇
- 2025版小企業(yè)勞動(dòng)合同修訂與完善建議5篇
- 光纖通信在高速鐵路信號(hào)系統(tǒng)中的應(yīng)用考核試卷
- 《企業(yè)文化圣經(jīng)》課件
- 初中生財(cái)經(jīng)素養(yǎng)的培養(yǎng)與財(cái)經(jīng)知識(shí)普及教育的實(shí)踐探索策略考核試卷
- 人力資源管理培訓(xùn)課程課件-高效招聘與面試技巧
- 2025版高端商務(wù)區(qū)門面房使用權(quán)購買合同4篇
- 2025版商業(yè)地產(chǎn)物業(yè)委托居間合同范本3篇
- 2024年蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫含答案解析
- 人教版初中語文2022-2024年三年中考真題匯編-學(xué)生版-專題08 古詩詞名篇名句默寫
- 2024-2025學(xué)年人教版(2024)七年級(jí)(上)數(shù)學(xué)寒假作業(yè)(十二)
- 山西粵電能源有限公司招聘筆試沖刺題2025
- 醫(yī)療行業(yè)軟件系統(tǒng)應(yīng)急預(yù)案
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 《精密板料矯平機(jī) 第2部分:技術(shù)規(guī)范》
- 2024光伏發(fā)電工程交流匯流箱技術(shù)規(guī)范
- 旅游活動(dòng)碳排放管理評(píng)價(jià)指標(biāo)體系構(gòu)建及實(shí)證研究
- 2022年全國職業(yè)院校技能大賽-電氣安裝與維修賽項(xiàng)規(guī)程
- 2024年黑龍江省政工師理論知識(shí)考試參考題庫(含答案)
評(píng)論
0/150
提交評(píng)論