版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于RaspberryPi實現(xiàn)的智能家居36本文以樹莓派為載體進行智能家居操縱器的設(shè)計。在對現(xiàn)在三種市面上的網(wǎng)絡電視的比較中引出畢設(shè)的主角樹莓派。第一是LINUX系統(tǒng)常識性的介紹;然后是在ARM/LINUX平臺上面開發(fā)應用的兩種方法:調(diào)用系統(tǒng)已有資源、做程序(C經(jīng)典法、python快捷法);然后通過簡單的關(guān)于GPIO口的使用(點亮LED),建立家庭內(nèi)無線局域網(wǎng)和網(wǎng)絡電視的配置展現(xiàn)了本地應用的種種可能;隨后簡略介紹了差不多網(wǎng)絡協(xié)議(TCP/IP),并在此基礎(chǔ)上比較了五種不同服務器的優(yōu)缺點,并將我們的服務器暴露給外部網(wǎng)絡,介紹了實現(xiàn)遠程視頻監(jiān)控的兩種方法及其比較;最后是軟件源的建立及其意義。在結(jié)論
2、中詳細排列了自己關(guān)于整個平臺的總體認識。關(guān)鍵字:智能家居;樹莓派;Arm;LinuxAbstractThewholeworkofmygraduationprojectisrelatedtoRaspberryPi,anArm&&Linuxdevelopmentplatform.Asanintroduction,thefirsttwochaptersshowoutsomemethodsofsmarthomeapplicationdevelopmentonthisplatformandthecapabilityofRaspberryPibytickingtheGPIOportsand
3、settingupahome-scalelocalwirelessnetwork.Thenabrieflydescriptionofseveralprimaryinternetprotocol,comparing5differentwaysofweb-serverbuilding,puttingforwardweb-servertotheoutsideworld.Finally,myjudgmentabouttheentiredevelopmentplatform.Keywords::SmartHome;RaspberryPi;Arm;Linux目錄摘要錯誤!未定義書簽。AbstractII目
4、錄III第1章緒論11.1 課題背景、目的和意義11.1.1 課題背景11.1.2 課題目的21.1.3 課題意義31.2 智能家居進展現(xiàn)狀31.3 要緊研究內(nèi)容及內(nèi)容安排4第2章操縱器平臺介紹42.1 設(shè)計平臺的軟硬件介紹52.2 設(shè)計方法102.3 設(shè)計功能14第3章本地應用設(shè)計153.1 GPIO引腳操縱153.2 無線路由器的實現(xiàn)173.3 網(wǎng)絡電視的配置21第4章網(wǎng)絡應用設(shè)計224.1 樹莓派網(wǎng)絡連接234.2 服務器和Pagekite244.3 Webiopi配置274.4 Motion的配置28第5章軟件源的制作30結(jié)論33致謝34參考文獻35附錄36第1章緒論1.1 課題背景、
5、目的和意義1.1.1 課題背景第一從我的親身經(jīng)歷講起。今年4月,考研復試終止之后始耐心做畢業(yè)設(shè)計,某一天盧老師找我去給他家安裝無線路由器。學校網(wǎng)絡比校外網(wǎng)絡收費高,許多用戶轉(zhuǎn)而使用學校不處的電信網(wǎng)絡。另外家庭內(nèi)網(wǎng)絡終端,如筆記本電腦、上網(wǎng)本、平板電腦、智能手機,逐步增多,如何能夠讓多個終端同時接入網(wǎng)絡是一個咨詢題。校方或者講網(wǎng)絡中心,引進了新的校園網(wǎng)客戶端,正是為了鼓舞大伙兒建立家庭內(nèi)無線局域網(wǎng),解決多終端上網(wǎng)咨詢題。那天在他家安裝TP-link無線路由器專門簡單的建立起了家庭無線網(wǎng)。不足之處是:新的校園網(wǎng)客戶端要求必須有一個上網(wǎng)終端連接TP-LINK并始終運行認證程序,其他網(wǎng)絡終端才能夠分享
6、無線網(wǎng)。盧老師家的臺式電腦從此以后365天24小時開著,費電不講,像這種家庭用一般臺式機連續(xù)運行幾個月可能就要癱瘓了。后來在樹莓派官方論壇上看到了幾篇關(guān)于樹莓派連接無線網(wǎng)絡的帖子,給了我許多啟發(fā)。樹莓派完全能夠?qū)⑸鲜雠_式機客戶端認證和TP-link無線路由器的功能和二為一。后文有關(guān)于實現(xiàn)過程的詳細介紹,盡管沒有什么技術(shù)含量,的確顯示出樹莓派或者嵌入式系統(tǒng)在智能家居方面是能夠有所作為的。另外一件情況是有關(guān)三網(wǎng)合一、網(wǎng)絡電視機頂盒。下面是三則廣告:小米高清互聯(lián)網(wǎng)電視盒299元(上海、杭州、長沙三地市銷售進行中);PPTV5月18日零點開放800臺工程版PPBOX的網(wǎng)絡預售,價格僅為199元;樂視盒
7、子C1S再次改變你的電視。自己曾經(jīng)試著在樹莓上面安裝XBMC實現(xiàn)了網(wǎng)絡電視的功能,樹莓派又能夠添加一個功能。還有一件我曾經(jīng)有切身感受的情況,在我上初中三級的一個下午,奶奶在家突法心肌梗塞,當時她的周圍只有剛上幼兒園的小弟,小弟驚慌失措,不知該如何是好。等到其他家庭成員發(fā)覺情形,著手施救時,為時已晚。如果當時她周圍有人能幫一把,或者及時的告知家里的其他成員,也許奶奶還有機會看看曾孫。你或者你周圍的人總是會有家庭財務失竊的經(jīng)歷。主人不在,緊閉的安全門形同虛設(shè),不良分子乘虛而入對我們的個人隱私甚至家庭財產(chǎn)造成損害。其時若能有一個忠誠的總管為我們及時的偵測到不法分子的侵入,通知主人,或者求助于公安民警
8、,便能夠及時的幸免缺失。另一方面,許多人的智能手機都差不多更換了好幾部。看那所謂的智能手機,配置動則1Ghz主頻的處理器,1GB的內(nèi)存,等等之類硬件配置何其出眾。而現(xiàn)在確實是如此一個小小的板子,700Hz主頻512MB內(nèi)存,差不多顯示出龐大的潛能。那么是否能夠通過某種方式把智能手機的潛能也發(fā)揮出來呢?在傳統(tǒng)的上網(wǎng)談天,拍照玩游戲之外是否也是能夠有所作為的呢?1.1.2 課題目的本文所要實現(xiàn)的功能,在市面上都差不多有成型的產(chǎn)品。我所做的是要把幾個有關(guān)智能家庭應用的獨立功能同時在一塊板子上面實現(xiàn),并試著擴展自己的功能。在那個過程中,為其他人學習Arm/LINUX開發(fā),或者講在樹莓派上面的開發(fā)厘清一
9、條道路。同時嘗試擴展智能手機的功能。1.1.3 課題意義本文并沒有多少前瞻性的東西,所提到的智能家居的各個方面市面上都差不多有了成型的產(chǎn)品。自己感受比較有意義的是:為我們學校家屬區(qū)建立家庭無線網(wǎng)提供了一點參考;為測控專業(yè)有關(guān)課程的開展和自動化協(xié)會的進展建立一個牢固的基礎(chǔ);為開源/自由軟件的事業(yè)做出了一點個人奉獻,那個是最重要的。1.2 智能家居進展現(xiàn)狀從個人一輩子活經(jīng)歷來看,智能家居依舊一個遙遠的詞匯,大多數(shù)老百姓還沒有接觸到這些東西。不明白是價格的緣故,亦或現(xiàn)在的智能家居還只概念炒作,行業(yè)的大方向此處不做過多評論?,F(xiàn)僅就上面提到的樂視、小米、PPTV只是一年左右時刻連續(xù)公布的價位功能相近的三
10、款擴展一般電視為網(wǎng)絡電視的數(shù)字機頂盒做一下簡單介紹和比較:第一是小米盒子,高清互聯(lián)網(wǎng)電視,迄今為止小米手機最發(fā)燒友的配件,硬件價格299元,視頻來源為央視正版授權(quán)高清內(nèi)容,標配遙控器或者小米手機來操縱控,體積類似于大屏智能手機,HDMI接口;Coretex-A9處理器,主頻800MHZ,內(nèi)存1G、H.264、VC-1、WMV-HD、MPEG1/2/4最大至1080p30幀/秒,10/100M自適應RJ45接口,Micro-USB接口;其次是PPBOX,1GHZ主頻處理器、1GB內(nèi)存、4G閃存,支持DLNA和Airplay多屏互動,售價299元,HDMI接口、wifi、藍牙、3.5mm音頻輸出;
11、最后是樂視盒子,硬件免費,內(nèi)容收費;樂視網(wǎng)TV版12個月服務費價格490元,6個月服務費價格290元。Coretex-a9架構(gòu)雙核1.5G處理器,無線連接功能,并其集成無線路由器功能,流暢播放1080P高清電影,內(nèi)容來源樂視網(wǎng)正版資源。不管從硬件依舊內(nèi)容資源的角度來看,樂視盒子都更勝一籌,費用自然也是最高的。我想網(wǎng)絡電視的本質(zhì)依舊電視,或者講視頻內(nèi)容,如果讓我為家里面配備一臺如此的設(shè)備的話,確信是要以內(nèi)容為要緊考慮。因此盡管價格高一些,我依舊會選擇樂視盒子。盡管安裝xbmc的樹莓派硬件功能不比這三者差,然而沒有內(nèi)容資源的支持確實是無源之水,沒有有用價值。從另外一個角度來講,如此的價格去電影院看
12、電影會有更好些的試聽享受,同時對一般家庭用戶而言肥皂劇和新聞聯(lián)播也是要看的,大伙兒的需求未必確實是每天歐美大片,如此樂視的優(yōu)勢就可不能那么明顯了。1.3 要緊研究內(nèi)容及內(nèi)容安排本文第一介紹了樹莓派開發(fā)平臺的軟硬件資源以及在ARm/LINUX平臺開發(fā)應用的一樣方法,提出我將要實現(xiàn)的功能(第二章);然后是智能家居操縱器本地開發(fā)(第三章)和網(wǎng)絡開發(fā)(第四章),最后是樹莓派軟件源的制作和善后工作(第五章)。第2章操縱器平臺介紹樹莓派是英國樹莓派基金會推出的一款旨在推動學校運算機科學教育的信用卡大小的單板電腦。由于其強大的運算能力,豐富的外部擴展和低廉的價格而被選作本畢業(yè)設(shè)計的開發(fā)平臺。2.1設(shè)計平臺的
13、軟硬件介紹下面是樹莓派宏觀接口圖:圖2-1:樹莓派B型板的宏觀結(jié)構(gòu)圖樹莓派就相當因此一塊運算機主板。居于長方形板面中心的是一塊BCM2835片上系統(tǒng),具上包括了一個ARM1176JZF-s700Mhz的處理器(能夠超頻至1Ghz),和一塊VideoCoreIVGPU,還有512MRAM(A型板內(nèi)存為256M)。板子上面沒有內(nèi)置的長期儲備設(shè)備,然而提供一個SD插梢,用戶能夠?qū)⒆约旱腟D卡插入作為硬盤使用。SD插槽的旁邊是一個Micro-USB電源插孔,由此引入5V的電源,也能夠通過GPIO接口的2號(VCC)和3號(GND)引腳提供5V電源。在SD插槽的另一邊是26針的擴展接口,其中2腳能夠接入
14、或給出5V電源,1腳給出3.3V電源,第12腳能夠提供PWM,另外包括一組UART,一組SPI,一組I2C,8個GPIO弓I腳。擴展接口還算豐富。兩種視頻接口方式。其一是HDMI,HDMI兼容的電視或者顯示器能夠直截了當通過那個接口獲得輸出的視頻信號,VGA顯示器能夠通過HDMI-VGA轉(zhuǎn)換器得到VGA信號。在HDMI相反方向是一個RCA接口,能夠輸出模擬視頻信號供舊式電視使用。專門顯眼的能夠看到疊在一起的兩個USB接口(A型板只有一個USB接口),能夠用來連接鼠標和鍵盤,總是會遇到USB接口不夠用的時候,這是就需要我們通過USB-HUB來進行擴展。在USB接口旁邊是10/100M以太網(wǎng)接口,
15、作用不言自明。另外有三個不長用的外設(shè)。一是,USB口和RCA接口之間的音響/測試接口;二是,板上面的類似于擴展接口的JTAG接口;三是,TFT觸摸屏接口。* 低功耗ARM1176JZ-F應用處理器* 1080p30幀每秒全高清視編碼/解碼* 高性能視頻輸出。1080p60幀每秒連續(xù)高辨論率LCD、hdmi輸出* 先進的圖像傳感器流水線(ISP)長達20萬像素的攝像頭高達220萬V dlfcliJUuiru I廿曰口口ore 2I八Yl匕LJICJPl L 、像F面是該芯片的內(nèi)部結(jié)構(gòu)圖:Md MeaFixel9D Memory自 iSOMPScco圖2-2BCM2835內(nèi)部結(jié)構(gòu)圖總的來講,樹莓派
16、板子的外部接口還算豐富,處理器、儲備設(shè)備不夠強大。但因其低廉的價格(B型板35美元,A型板25美元),在8051單片機和個人電腦之間為我們提供了一個理想的嵌入式開發(fā)平臺。軟件方面,毫無疑咨詢選擇GNU/LINUX平臺。做為開源軟件平臺,GNU/LINUX給予用戶以免費或者較低的價格獵取操作系統(tǒng)和軟件的源代碼的權(quán)力。這使得用戶能夠按照自己的需要編輯、修改源代碼,分發(fā)自己的代碼,鼓舞人們互相分享。其開放、共享的精神受到了許多科技人員的喜愛。在本畢業(yè)設(shè)計中筆者使用的操作系統(tǒng)是Raspbian,一款基于Debian并按照樹莓派硬件條件進行修改的操作系統(tǒng)。如下是維基百科中關(guān)于Debain的描述:Debi
17、an是由GPL和其他自由軟件許可協(xié)議授權(quán)的自由軟件組成的操作系統(tǒng),由Debian打算(DebianProject:)組織愛護。Debian打確實是一個獨立的、分散的組織,由3000人理想者組成,同意世界多個非盈利組織的資金支持,SoftwareinthePublicInterest提供支持并持有商標作為愛護機構(gòu)。Debian以其堅守Unix和自由軟件的精神,以及其給予用戶的眾多選擇而聞名。現(xiàn)時Debian包括了超過37,500個軟件包并支持12個運算機系統(tǒng)結(jié)構(gòu)(i386、amd64>arm、mips、IBM等等)。Debian是一個大的系統(tǒng)組織框架,在那個框架下有多種不同操作系統(tǒng)核心的分
18、支打算,要緊為采納Linux核心的DebianGNU/Linux系統(tǒng),其他還有采納GNUHurd核心的DebianGNU/Hurd系統(tǒng)、采納FreeBSD核心的DebianGNU/kFreeBSD系統(tǒng),以及采納NetBSD核心的DebianGNU/NetBSD系統(tǒng)。甚至還有應用Debian的系統(tǒng)架構(gòu)和工具,采納OpenSolaris核心構(gòu)建而成的NexentaOS系統(tǒng)。在這些Debian系統(tǒng)中,以采納Linux核心的DebianGNU/Linux最為聞名。眾多的Linux公布版,例如Ubuntu、Knoppix和Linspire及Xandros等,者B基于DebianGNU/Linux。筆者使
19、用GNU/LINUXDebian差不多有三年時刻了,深刻的感受到Debian的強大。針關(guān)于嵌入式而言,采納Debian系統(tǒng)有三大優(yōu)勢:1、豐富的軟件包和強大簡便的軟件包治理器2、通用操作系統(tǒng),支持多種運算機系統(tǒng)架構(gòu)3、強大的理想者/開發(fā)人員組織如下文所講,關(guān)于適應了微軟操作系統(tǒng)的用戶來講,一些GNU/LINUX版本絢麗的桌面環(huán)境也許會讓你感到驚艷,然而相信我GNU/LINUX的精華來源于黑紙白字的文本界面。作為一名嵌入式開發(fā)者,應該熟練的使用文本界面解決咨詢題,那樣更能節(jié)約寶貴的系統(tǒng)資源同時更接近硬件或軟件的本質(zhì)。由于知識過于龐雜,那個地點僅就個人認識對GNU/LINUX的特色文件系統(tǒng),做簡要
20、介紹。文件系統(tǒng)要緊包括兩部分:文件、名目。文件系統(tǒng)將枯燥的物理細節(jié)(在硬盤或者SD卡中實際確實是0和1的排列組合)包裝成為操作系統(tǒng)易于讀寫的形象,也確實是用戶可見的文件,或者講一般文件。而名目,其本質(zhì)是仍是文件,或者講專門的文件,亦即儲存其他文件的文件。能夠?qū)⑽募靼椎脼閷嶋H的物理儲備空間,而名目則包含了指向這些空間的“指針”。記住一個專門重要的概念,GNU/LINUX是建立在文件系統(tǒng)之上的,系統(tǒng)將外部設(shè)備甚至網(wǎng)絡設(shè)備也當做文件進行讀寫!在LINUX系統(tǒng)的/根名目下面有:binbootdevetchomemediamntoptprocrootsbinselinuxsrvsysuservarbo
21、ot:本名目儲備系統(tǒng)啟動有關(guān)的信息,如系統(tǒng)內(nèi)核,CPU和GPU關(guān)于內(nèi)存的分配。我們將看到在樹莓派的boot名目下面有cmdline.txt那個文件。那個文件操縱著樹莓派UART是否輸出系統(tǒng)信息。dev:device,即設(shè)備。光驅(qū)cdrom,優(yōu)盤ttyUSB,串口ttyS0,終端tty*在這兒都有體現(xiàn)。有幾個專門有味的設(shè)備zero、null、random.以后你會發(fā)覺他們的妙用。etc:包含運行在系統(tǒng)上所有程序的配置文件。那個名目專門重要,經(jīng)常用!home:主名目,GNU/LINUX作為多用戶操作系統(tǒng),每一個用戶都有各自名目以儲備個人信息。這就要引申出文件權(quán)限的概念。參考下面的連接:proc:該
22、名目下面存放一些系統(tǒng)運行狀態(tài)信息。如查看lscpu、lsusb、lspci、查看系統(tǒng)登陸用戶的一些命令,實際是讀取的本名目下面文件的內(nèi)容。var:那個名目專門有意思,如我們的網(wǎng)絡文件儲存在/var/www下面。在/var/log名目下儲備各種日志,用戶登錄,系統(tǒng)運行,開機信息,網(wǎng)絡連接信息,內(nèi)核運行信息等。如果系統(tǒng)運行顯現(xiàn)咨詢題應該第一到那個地點查找靈感。2.2 設(shè)計方法接上節(jié),我們將要在ARM+LINUX平臺上面實現(xiàn)自己的功能。實現(xiàn)的方法有兩種:其一,自己動手寫代碼;其二,調(diào)用系統(tǒng)已有的命令、程序。第一如果自己動手的話,Raspbian作為一個完整的操作系統(tǒng),能夠編譯并執(zhí)行如C、C+、PHP
23、、Python、java等各種編程語言構(gòu)建的程序。筆者要緊用到C、Python兩種語言。C語言是基礎(chǔ),開發(fā)周期長,執(zhí)行效率高。Python是一種面向?qū)ο蟮母呒壵Z言,有許多針對特定應用的庫函數(shù)可控調(diào)用,開發(fā)周期短,執(zhí)行效率低(RaspberryPi中Pi是python的縮寫)。其次是調(diào)用系統(tǒng)已有的命令、程序,GNU/LINUX內(nèi)置的命令程序差不多上經(jīng)受過歷史考查的,專門是是Debain如此一個以穩(wěn)固性為特色的操作系統(tǒng)。大多數(shù)命令、程序都能夠同意用戶的參數(shù)做出相應的動作,來完成用戶的要求。筆者認為,在實際開發(fā)過程中,應該盡量第一使用系統(tǒng)自帶的資源,其次是自己編寫程序,而在編程語言中優(yōu)先選擇Pyth
24、on語言,其次是C語言。然而,從學習的角度來講,應該把C語言放在最前面,Python語言或者直截了當調(diào)用系統(tǒng)集成好的工具會把許多細節(jié)蒙蔽掉,限制了用戶的權(quán)力。另外,關(guān)于嵌入式系統(tǒng),從資源和效率的角度考慮,也應該多使用C語言。嵌入式開發(fā),專門是在GNU/LINUX+ARM下面,還有一項專門重要的工具:文本編輯器。編輯器之因此重要,是因為第一專門多系統(tǒng)配置文件差不多上以*.conf的形式儲存在文件系統(tǒng)中,我們能夠通過文本編輯器方便的修改;其次,使用文本編輯器而非圖形IDE能夠節(jié)約許多寶貴的系統(tǒng)資源,熟練把握文本編輯器之后能夠極大的提升我們編寫代碼的質(zhì)量和速度。常用編輯器由三款:Nano、Vim和E
25、macs。相比較而言,Nano使用專門簡單,同時功能無幾,適合入門級用戶使用。Vim和Emacs是GNU/LINUX系統(tǒng)中最為聞名的兩款文本編輯神器。筆者使用Vim兩年有余,深刻的被Vim的強大所折服,通過按鍵的組合和插件的使用,Vim給予機械的二極管、門電路生氣和活力。因此Emacs也是專門強大的一款編輯器。關(guān)于經(jīng)常使用GNU/LINUX,或者做嵌入式開發(fā)的人來講,Vim、Emacs應該熟練把握一種。Vim更加輕巧,所有的GNU/LINUX操作系統(tǒng)默認安裝Vi(Vim的前身)。相比較而言Emacs更加靈活。簡單按照愛好愛好來講,底層開發(fā)人員(硬件到操作系統(tǒng))適宜使用Vim,上層開發(fā)人員(操作
26、系統(tǒng)到網(wǎng)絡)使用Emacs。通常嵌入式設(shè)備,例如樹莓派資源有限,我們總是在個人電腦上完成開發(fā)過程然后向嵌入式設(shè)備移植,另外我們也需要借助個人電腦的一些外設(shè),如鍵盤和鼠標,完成一些工作。幾個工具能夠關(guān)心我們遠程操縱目標機器或者方便調(diào)試:SSH、VNC、USB轉(zhuǎn)串口、Minicom/Gtkterm。SSH,SecureShell安全殼協(xié)議,一項創(chuàng)建在應用層和傳輸層基礎(chǔ)上的安全協(xié)議,為運算機上的Shell(殼層或者命令講明器)提供安全的傳輸和使用環(huán)境。SSH能夠使得我們獲得遠程運行LINUX系統(tǒng)命令行的能力,另外SCP命令能夠進行文件傳輸。VNC,VirtualNetworkComputing,一種
27、使用RFB協(xié)定的屏幕畫面分享及遠程操作軟件。此軟件借由網(wǎng)絡,能夠傳送鍵盤與鼠標的動作及實時的屏幕畫面。例如,筆者使用的是Tightvnc,正確安裝并配置之后,便能夠在個人電腦上虛擬樹莓派的桌面環(huán)境,節(jié)約了用于購買鼠標和鍵盤的費用,同時方便的進行遠程操作桌面。SSH只能提供給用戶命令行工具,更加節(jié)約資源,而Tightvnc的圖形界面,更易于新手使用,同時有極少數(shù)工作也只能在圖形界面下完成,故而也是專門有價值的。下面是USB轉(zhuǎn)串口和Minicom/Gtkterm,在無法連接網(wǎng)絡或者系統(tǒng)顯現(xiàn)故障時,我們還能夠通過樹莓派的串口,對它進行調(diào)試。為了方便在個人電腦上顯示串口窗口,我們需要將串口橋接至USB
28、接口。這就要用到PL2303芯片。PL2303將USB端口和標準RS232端口連接起來,兩塊大的片上緩存調(diào)配兩個方向的數(shù)據(jù)流,為了提升傳輸速率采納了USB塊狀數(shù)據(jù),串口自動進行信號握手。這使之獲得了比傳統(tǒng)UART操縱器更高的信息傳送速率。將樹莓派的第6腳(地),8腳、10腳(UART收發(fā))分不與模塊的相應引腳相連,USB口接電腦,樹莓派默認將內(nèi)核啟動信息從UART口輸出,同時正常工作時UART也能夠作為調(diào)試和操縱窗口。如下圖示筆者的串口連接方法:圖2-3USB轉(zhuǎn)串口連接筆記本另外注意,樹莓派能夠通過對GPIO第2腳+5V來供電,而PL2303也正好有一個+5V弓I腳,如果樹莓派外接設(shè)備不是專門
29、多的話(如只接網(wǎng)線),我們能夠直截了當將上述的+5V對應連接,使樹莓派正常工作。上圖,是筆者總結(jié)出的樹莓派最簡工作方式。下面需要一款程序查看串口發(fā)送來的信息,這就要用到Minicom/Gtkterm。Minicom是一種文本模式的串口通信工具,類似于微軟系統(tǒng)的超級終端,能夠模擬ANSI和VT102終端。功能強大,應用稍顯復雜。Gtktrem是基于GTK+開發(fā)的串口調(diào)試程序,圖像界面,簡單有用。筆者使用的是Gtkterm,感受不錯,然而Minicom的文本操作模式更適合GNU/LINUX環(huán)境。如果個人電腦安裝的是微軟系統(tǒng)的話,能夠是使用超級終端。盡管最近幾年GNU/LINUX系統(tǒng)專門是UBUNT
30、U發(fā)行版,在圖形界面方面差不多做的相當花哨,然而關(guān)于一名高手或者針對嵌入式開發(fā)來講,我們應該熟練把握文本界面的使用,甚至在文本里面掃瞄網(wǎng)頁。那個地點要提到兩款比較聞名的文本掃瞄器Lynx和W3m。Lynx是純文本網(wǎng)頁掃瞄器,能夠在UNIX/LINUX/MAC系統(tǒng)中使用,歷史悠久,同時仍在主動的開發(fā)之中。用戶眾多,功能強大。W3m是一款基于文本的網(wǎng)頁掃瞄器,支持多種操作系統(tǒng),在命令行終端能夠?qū)iT好的支持中文,和Emacs有一定淵源。那個地點不做詳細介紹。另外要提及一個GNU/LINUX下的圖形界面開發(fā)工具,GTK+。GTK+,GIMPToolKit,一個生成跨平臺的圖形界面開發(fā)寸|GTK+提供一
31、整套開發(fā)控件,使得蕩楣多多使用他來開發(fā)小到I"HelloWorld!”大至Gnome桌面的各種應用。由于其跨平jGTk+j臺性!,GTK+IH在GNU/LINUX,微軟系統(tǒng)上都能夠運行。了關(guān)pggtr的支I 者的.ebian桌面:C語言開發(fā),在其設(shè).之初就考慮到C+、java、python】等。下圖是筆圖2-4筆者漂亮的Gnome桌面補充一點內(nèi)容,盡管筆者在設(shè)計過程中沒有用到,依舊比較有意義的一個開源軟硬件平臺Arduino。Arduino是一個開源的單片機操縱器,它使用AtmelAVR單片機,采納了開放源代碼的軟硬件平臺,同時使用類似JAVA、C語言的Processing/Wiri
32、ng開發(fā)環(huán)境。與8051單片機不同,具集成開發(fā)環(huán)境叫盤盛密庸溫航R二SBgy|.采集等功能。樹莓派版件操作的行rduino飛fk通信和運算能力不夠,二者結(jié)合,以樹莓派作為上位機進行網(wǎng)絡通信處理大量數(shù)據(jù),使用Arduino作為下位機操縱外部器件,是一個不錯的組(因此能夠換成如UDOO之類的高級 圖是ARM板子)。下圖2-5ArduinoIDE展現(xiàn)2.3 設(shè)計功能在ARM+GNU/LINUX軟硬件平臺下面,我們能夠?qū)崿F(xiàn)各種功能,簡單來講能夠分為本地應用、網(wǎng)絡應用。本地應用要緊包括GPIO口、串口、SPI和I2C的使用,用來操縱外部引腳的高低電平或者數(shù)據(jù)流以操縱外部器件。還能建立家庭無線局域網(wǎng),將樹
33、莓派打造成為網(wǎng)絡視頻播放器。網(wǎng)絡應用,要緊包括建立服務器、服務器開放以及軟件源的制作。第3章本地應用設(shè)計3.1 GPIO引腳操縱本地應用開發(fā)要緊有三種方法,介紹如下。1、經(jīng)典法的C語言開發(fā):第一下載并安裝airspayce網(wǎng)站BCM2835有關(guān)輸入輸出的庫函數(shù),編譯并安裝。該庫函數(shù)提供了各種端口操作函數(shù)可供使用,要緊有:GPIO弓I腳、SPI、I2C、系統(tǒng)時鐘。附錄里面有SPI測試程序可供參考。其中缺少串口函數(shù),然而各種外設(shè),例如筆者曾經(jīng)在樹莓派上用到的心電采集模塊、北斗模塊、與上位機或者Arduino通信等等,都需要用到串口,因此串口專門重要。另外,樹莓派以及一些嵌入式系統(tǒng)默認的會將啟動信息
34、通過串口輸出,串口也能夠被當做調(diào)試終端來使用。如果要把串口回來其本性,我們需要修改一些設(shè)置。將/boot/cmdline.txt和ttyAMAO有關(guān)的信息刪除,并將/etc/inttab文件找到包含/ttyAMA0/的行,在前面加“#”將該項注釋掉。2、簡潔的Python語言開發(fā):上面我們提到的是傳統(tǒng)的經(jīng)典的C語言開發(fā)方法,而是用Python能夠極大的提升我們的開發(fā)效率。Python是面向?qū)ο蟮母呒壘幊陶Z言,使用它能夠加速開發(fā),高效的與系統(tǒng)整合,效率高且愛護費用低,跨平臺、開源。在使用的過程中我們會發(fā)覺Python體現(xiàn)在樹莓派的方方面面。下面的例子Blink.py,簡單展現(xiàn)了一個Python腳
35、本,其簡練可見一斑:importwiringpifromtimeimportsleepio=wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS)io.pinMode(18,io.OUTPUT)#Setuppin18(GPIO1)whileTrue:io.digitalWrite(18,io.HIGH)#Turnonlightsleep(2)io.digitalWrite(18,io.LOW)#Turnoffsleep(2)關(guān)于電腦初學者來講,Python有不可抗拒的魅力。注意,篇幅有限,本文沒有對具體GPIO引腳的編程進行詳盡的講明。3、功能強大的Shell編程:
36、但凡使用過GNU/LINUX確信關(guān)于Shell專門熟悉,它不僅是一個命令講明器,其內(nèi)置的命令能夠?qū)iT方便關(guān)心我們完成系統(tǒng)各種日常愛護、編輯文件、查看網(wǎng)絡等等工作。在Shell雙擊TAB系統(tǒng)會提示你是否輸出各種命令,例如在我的Debian系統(tǒng)中顯示有2756個命令可用。Python編程和Shell編程專門類似,那個地點不做詳細介紹,在用戶熟練使用LINUX之后應該試著學習Shell解決日常工作。硬件編程之外我們需要注意一些情況。樹莓派GPIO口默認除電源腳為+5v,其他引腳均為+3.3v高,0V低。上面提到的Arduino默認為+5v高,0v低,二者不可直截了當相連,最好使用三極管電路將3.3V
37、電平轉(zhuǎn)成5V。如果外部設(shè)備需要較大電流的話,也需要可慮各個引腳的負載能力。切記,切記!樹莓派GPIO引腳內(nèi)部沒有愛護電路,千萬不要不將+5V與地短路,后果專門嚴峻。如果使用電池供電的話,需要用到線性電源或者開關(guān)電源。相比較而言線性電源效率低但噪聲小,開關(guān)電源效率高但噪聲大。支中電源國既通經(jīng)卷用足因為連接的外設(shè)需要的電流較大(總照流大于1.5A),使用7805做線性電源自身功耗相當大,散熱園豕螢。后來改用LM2576做開關(guān)電源,成效明峭,轉(zhuǎn)。開無骷,心M2576芯片,外加幾個電容、二極管了電感g(shù)惟國葡常,USB接口輸出+5V。下圖筆者唯,修feOK視:圖3-1LM2576開關(guān)電源3.2 無線路由
38、器的實現(xiàn)樹莓派自身連接有線網(wǎng)絡(參看下一章),通過外接無線模塊,建立無線局域網(wǎng)。本項目所使用的無線模塊是RT5370,要緊是RT5370的配置:我們要用到兩款軟件Hostapd、Udhcp。Hostapd是一個接入點和驗證服務器的用戶空間守護進程,它實現(xiàn)了IEEE802.11的接入治理、IEEE802.1X/WPA/WPA2/EPA身份驗證、RADIUS客戶端和EPA認證服務器。Udhcp是一款專用于嵌入式設(shè)備的DHCP軟件,功能比個人電腦上面的DHCP程序弱,使用簡單方便。在那個地點我們只用到udhcpd,亦即dhcp客戶端程序。1、 連接各個外設(shè)啟動樹莓派,運行下面命令查看RT5370是否
39、被正確識不。Bus 001Bus 001Bus 001Bus 001$sudolsusb*Device007:ID148f:5370RalinkTechnology,Corp,RT53702、 本機識不正常,安裝有關(guān)軟件:$sudoapt-getinstallhostapdudhcpd3、下面配置DHCP服務器,編輯文件/etc/udhcpd.conf,添加如下內(nèi)容:start#DHCP可分配的IP地址空間end5#應為是在家庭內(nèi)使用,數(shù)量不必過多interfacewlan0#Udhcp服務器的工作設(shè)備remainingyesoptdns8.8.
40、.2#DHCP客戶端設(shè)備使用的DNS服務器optsubnet#子網(wǎng)掩碼optrouter#無線網(wǎng)的網(wǎng)關(guān),即樹莓派的無線IP地址optlease864000#DHCP服務器默認運行時刻,10天后自動關(guān)閉使能DHCP服務器開機運行,修改/etc/default/udhcpd將DHCP_ENABLED=”no”改為:#DHCP_ENABLED=”no”將/etc/network/inteface添加或者對相應行做如下修改:ifacewlan0inetstatic#固定樹莓派的無線地址作為局域無線網(wǎng)的網(wǎng)關(guān)address192.168.4
41、2.1netmask#allow-hotplugwlan0#wpa-roam/etc/wpa_supplicant/wpa_supplicant.conf#ifacedefaultinetdhcp6、配置hostapd能夠參看/etc/hostapd/examples/hostapd.conf.gz中的內(nèi)容。編輯(或者生成)文件/etc/hostapd/hostapd.conf添力口以下內(nèi)容:interface=wlan0#要使用的網(wǎng)卡driver=nl80211#驅(qū)動名稱ssid=My_AP#無線局域網(wǎng)的名稱hw_mode=g#channel=6#hostapd運作
42、的頻率macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=My_Passphrase#無線網(wǎng)的密碼wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP修改完上述文件后,編輯文件/etc/default/hostapd#DAEMON_CONF=改為:DAEMON_CONF=”/etc/hostapd/hostapd.con”f7、配置網(wǎng)絡地址轉(zhuǎn)換(NAT),該技術(shù)能夠使幾臺終端設(shè)備通過一根網(wǎng)線連接網(wǎng)絡。第一修改/etc/sysctl.conf文件找到行net.
43、ipv4.ip_forward=1,去掉前面的“#”將該選項使能。為了將NAT在linux內(nèi)核中使能運行一下命令,修改防火墻設(shè)置:$sudoiptables-tnat-APOSTROUTING-oeth0-jMASQUERADE$sudoiptables-AFORWARD-ieth0-owlan0-mstate-stateRELATED,ESTABLISHED-jACCEPT$sudoiptables-AFORWARD-iwlan0-oeth0-jACCEPT現(xiàn)在樹莓派就能夠進行NAT了,因此我們想把剛剛的設(shè)置選項永久儲存,運行下面的命令將現(xiàn)在的防火墻設(shè)置生成文件:$sudosh-c"
44、;iptables-save>/etc/iptables.ipv4.nat"設(shè)置開機啟動時加載上面的防火墻設(shè)置,在/etc/network/interfaces文件底部添加下面的一行:upiptables-restore</etc/iptables.ipv4.nat8現(xiàn)在我們就能夠建立無線局域網(wǎng)了,設(shè)置hostapd和udhcpd開機自啟動:$sudoupdate-rc.dhostapdenable$sudoupdate-rc.dudhcpdenable樹莓派開機重啟,使用手機或者電腦能夠檢測到我們剛剛建立的無線信號。3.3 網(wǎng)絡電視的配置第一添加相應的軟件源,打開文件/
45、etc/apt/sources.ist.d/mene.list添加下面的內(nèi)容:deb然后導入存檔簽名秘鑰:完成之后,更新系統(tǒng):$sudoapt-getupdate安裝網(wǎng)絡電視軟件:$sudoapt-getinstallxbmc,完成之后,關(guān)機重啟,進入xbmc.更換系統(tǒng)設(shè)WT屜j產(chǎn)麗I國”絡電視觀看“舌尖上的中置正惟濕定,安皆申5ZIP文件,添加關(guān)于youku、toudu、Iqiyi等國內(nèi)視頻網(wǎng)站的晝,圖3-2XBMC觀看舌尖上的中國第4章網(wǎng)絡應用設(shè)計在我的明白得中,從一個整體的角度考慮computing,硬件資源是土地,驅(qū)動程序是地基,操作系統(tǒng)便是我們的建筑物,應用程序是我們房子的裝飾品,而
46、網(wǎng)絡則是如此一個家庭和外界進行溝通的郵政系統(tǒng)。對親朋好友的祝福與咨詢候是書信的內(nèi)容。而若要合理地投送我們的真情閑適的話,需要Tcp/Ip/Udp等通信協(xié)議作為信封,將地址,發(fā)件人,收件人,時刻等一一表述?,F(xiàn)在差不多專門少有人寫信了,網(wǎng)絡通信卻越來愈多。如果要寫出高質(zhì)量的網(wǎng)絡應用或者自己要實現(xiàn)專門的功能(如Pagekite反向代理服務器)應該關(guān)于網(wǎng)絡底層細節(jié)有一定的認識。因為所涉及的內(nèi)容較多,那個地點僅僅就常見的幾個通信協(xié)議TCP/UDP/IP/DNS做簡要介紹。TCP,TransmissionControlProtocol,傳輸操縱協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,由I
47、ETF的RFC793定義。在簡化的運算機網(wǎng)絡OSI模型中,它完成第四層傳輸層所指定的功能。UDP,UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議,相比較而言,UDP協(xié)議只是簡單的將信息打包按照目的地址往外傳輸。郵件只是簡單的送到郵筒里面,任其自生自滅。因此他也是有專門用途的,例如DNS服務確實是采納的UDP協(xié)議。IP,InternetProcotol,網(wǎng)絡通信協(xié)議,為運算機網(wǎng)絡相互連接進行通信而設(shè)計的協(xié)議。簡單來講確實是,信封上面的發(fā)件人地址和收件人地址,或者講本機和目標機器在英特網(wǎng)上面的位置坐標。DNS,DomainNameSystem,域名系統(tǒng)。信件從發(fā)件人地址到收件人地址,走鐵
48、路,高速公路,依舊空郵這確實是DNS的任務,查找連接兩個地址之間的通路。有關(guān)于網(wǎng)絡的詳細內(nèi)容,參見UNIXNETWORKPROGRAMING。4.1 樹莓派網(wǎng)絡連接ifaceeth0inetstaticaddressnetmaskgateway另外還要在/etc/resov.conf中加入本地DNS服務器的地址。連接無線略微有點復雜。圖像界面下使用wpa-configure搜索無線信號,連接即可。命令行工具也能夠解決那個咨詢題,只是稍顯苦惱。需要用到iwlist,ifup,ifconfig等幾個工具,那個地點不做詳細介紹,參
49、看參考文獻第一本書中第六章,網(wǎng)絡連接。最后一個網(wǎng)絡連接方式,是自己的亮點,使用ZTE-A356IGi網(wǎng)絡。.哨*居而言,這一聯(lián)網(wǎng)方式說不大。筆者:友殷鵬做的智能導,能夠卜到,意義在于不受地理限,傳送大數(shù)據(jù)量信息(100口甲。只是筆者并不舉薦使用中所!款這后,參1面的連接如果你要用到3G上網(wǎng)卡或者第一參看品的連接然后再選擇使用何種外設(shè),Jp:/Rpi_Ver|fiedPeripherals。下圖是筆者使用的3G上網(wǎng)卡:圖4-1ZTE-A3564.2 服務器和Pagekite五種網(wǎng)絡操縱方案及其比較:1 LAMP:Linux+Apache+Mysql+Php+CGI2 Sock
50、et:TCP/IP/UDP3 DjangoPi:Python+Django(flask)4 WEBIOPI:Python5 LLSP:Linux+Lighttpd+SQLlite+Php+CGI最先想到的LAMP,標準的服務器配置,然而那個方案又最先被否定。Apache和Mysql體量有些大,樹莓派的本身的資源有限,服務器消耗過多的資源留給其他程序的資源不足,阻礙了主體功能的發(fā)揮。另外網(wǎng)絡電視Xbmc也需要消耗專門多資源,因此那個方案不行。然后是Socket,曾經(jīng)專門愚蠢的嘗試著進行底層socket編程。從最差不多的TCP/UDP協(xié)議建立自己的服務器。如此做太白費時刻,而且短時刻內(nèi)不可能有什么
51、成果。此方案不適用于我們在樹莓派上面建立服務器,然而關(guān)于黑客或者想在網(wǎng)絡方面有所為的人,應該花時刻明白得TCP/IP.下面是DjangoPi,Django和Flask差不多上基于python的網(wǎng)絡服務器框架。Python實在強大,最近幾年使用Python建立網(wǎng)絡服務也越來越流行。個人學藝不精,沒有把他的強大功能發(fā)揮出來。曾經(jīng)有一個DjangoPi的項目,現(xiàn)在差不多擱淺。那個方案不行評判,還待時刻驗證。然后是Webiopi,強烈的依靠于Python語言。該軟件已集成了一個網(wǎng)絡服務器,和各種GPIO函數(shù),多種傳感器函數(shù),能夠方便的的擴展服務器端腳本和客戶端javascript腳本。的確專門方便,到
52、目前為止差不多差不多實現(xiàn)了筆者既定的目標。然而在后續(xù)的使用過程中,卻也感受到諸多限制。在引腳功能擴展之外,例如添加實時視頻或者上傳文件,立感不便。因此僅限于畢業(yè)設(shè)計使用Webiopi實現(xiàn)功能,如果做有用話智能家居應用的話,本方案不可。最后是LLSP。Lighhtpd:安全、高速、兼容性好、靈活,高效率的網(wǎng)絡服務器,低內(nèi)存使用量,高校CPU使用,功能豐富。SQLLite:一個關(guān)系數(shù)據(jù)庫治理系統(tǒng)中包含一個小的(?350KB)C編程庫。在其它數(shù)據(jù)庫治理系統(tǒng)相比,SQLite是不是一個單獨的過程,是從客戶端應用程序的訪咨詢,但它的一個不可分割的一部分。與LAMP相比較而言,那個方案更加節(jié)約資源,對資源
53、緊張的嵌入式系統(tǒng)的來講這更重要。相比較Webiopi,我們需要自己重寫新客戶端和服務器程序,但靈活型好,我們能夠按需要擴展自己的功能。那個方案挑選擇出來時,畢設(shè)所剩時刻差不多沒有多少了,沒有方法實施了。然而自己感受,如果確實要實際應用的話,不能采納樹莓派那個平臺,應該采納一款資源更多的板子,或者自己按照需要做板子。Pagekite:一如校園網(wǎng),居民家庭內(nèi)的網(wǎng)絡一樣差不多上局域網(wǎng),外界無法直截了當訪咨詢到內(nèi)網(wǎng)的服務器,許多網(wǎng)絡服務提供商為了減少流量復核也會默認關(guān)閉用戶的網(wǎng)絡端口。通常我們需要申請自己的域名,安裝動態(tài)DNS客戶端,才能夠使得外網(wǎng)能夠通過域名找到我們的機器。幸運的是,還有pageki
54、te。Pagekite是一種逆向代理工具將本地服務器連接至外部網(wǎng)路。她給予運行在localhost的服務器以合適的域名,穿透防火墻和NAT使之外部可見。支持多種操作系統(tǒng),各種網(wǎng)絡連接方式。不管是黑客,學生,嵌入式開發(fā)者,系統(tǒng)治理員都能夠發(fā)覺她的妙用。她能夠使任何運行python并能夠連接到外部網(wǎng)絡的設(shè)備同時能夠被外部網(wǎng)絡設(shè)備所訪咨詢。Pagekite的使用。第一我們在面注冊賬號,申請域名。例如筆者的域名richardmarx.pagekite.me,記住密碼。需要注意的是免費的pagekite服務只能提供31天或者2.5G流量的服務。如果你需要更高質(zhì)量的服務的話,你需要支付一定的資金。例如6美
55、元每月,我們就能夠得到8個域名,15流量的服務。作為學習的話免費服務足夠使用的了,如果推廣智能家居的話,我們需要自己籌建pagekite服務器。然后下載pagekite.py至樹莓派,運行該程序。輸入一些信息之后,我們就能夠通過剛剛的域名看到自己的網(wǎng)站了。通過下面的命令暴露自己的web端口(80):$pagekite.py80richardmarx.pagekite.me通常我們需要遠程登錄樹莓派進行操縱,下面的命令能夠關(guān)心我們打開22端口進行ssh遠程訪咨詢:$pagekite.py22ssh:foo.pagekite.mePagekite關(guān)于智能手機也是有意義的。安裝了對應的python工作環(huán)境和pagekie.py之后,在配以類似于lighhtpd和php之類的軟件,每一部智能手機都能夠打造成為一個網(wǎng)絡服務器。我向這確信是有用途。4.3 Webiopi配置Webiopi,一個完全集成的物聯(lián)網(wǎng)框架通過掃瞄器或者應用程序遠程或者本下載安裝相應的包,如上圖所示是,默認的head.html,那個軟件不做詳細介紹。我并沒有使用webiopi具體的去操縱某個電器,而是用操縱小車的運動模擬了對家電的操作。那個小軟件的的確確令我眼前一亮,服務器、底層硬件操縱,全部依靠python語言實現(xiàn),也足見Python的強大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度道路綠化養(yǎng)護精修合同書2篇
- 二零二五年度垂釣園租賃合同執(zhí)行細則4篇
- 二零二五年智能家用中央空調(diào)系統(tǒng)安裝與節(jié)能評估合同3篇
- 二零二五年度臨時材料堆放場地租賃與節(jié)能減排合同4篇
- 2025年度旅游度假村項目開發(fā)與運營合同4篇
- 2025年婚姻和解合同
- 二零二五年度農(nóng)村集體土地民房買賣合同范本4篇
- 2025年度跑步訓練中心安全監(jiān)控系統(tǒng)安裝與維護合同4篇
- 2025年度個人股權(quán)變更登記與過戶合同3篇
- 2025年度醫(yī)療責任保險合同書示范文本4篇
- 《沙盤技術(shù)》教學大綱
- 職業(yè)培訓師培訓課件
- (新版)多旋翼無人機超視距駕駛員執(zhí)照參考試題庫(含答案)
- 哈利波特中英文全集
- DLT5210.1-電力建設(shè)施工質(zhì)量驗收及評價規(guī)程全套驗評表格之歐陽法創(chuàng)編
- 500句漢語日常對話
- 《抽搐的鑒別與處理》課件
- 2024-2030年中國凈菜加工行業(yè)產(chǎn)能預測及投資規(guī)模分析報告版
- 自來水廠建設(shè)項目可行性研究報告
- 承諾保證協(xié)議
- 2025年公司副總經(jīng)理述職報告范文
評論
0/150
提交評論