




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
摘要智能家居是未來家居生活的趨勢,也是物聯(lián)網(wǎng)時代的主要產(chǎn)品之一。隨著計算機技術(shù)、通訊技術(shù)和嵌入式系統(tǒng)的發(fā)展,智能家居已經(jīng)越來越多的進入人們的生活。本文嘗試從幾個方面改造現(xiàn)有家用電器,實現(xiàn)簡單的智能家居效果。主要包括紅外線遙控器控制空調(diào)、電視,zigbee及繼電器控制燈光,并嘗試使用MT7681wifi串口模塊實現(xiàn)手機和智能家居主控的通訊。主控部分選用Arduino開源硬件平臺。Arduino是一個基于開放源代碼的軟硬件平臺,具有使用類似 Java,C語言的Processing/Wiring開發(fā)環(huán)境。Arudino作為智能家居的控制中心實現(xiàn)與互聯(lián)網(wǎng)或手機的交互,通過Internet也可隨時監(jiān)控家中的情況,并可以隨時控制家用電器。系統(tǒng)測試結(jié)果表明,該系統(tǒng)基本達到預期使用要求,并具有一定功能拓展空間。關鍵詞:智能家裝;嵌入式;ArduinoAbstractItwouldbethetrendoffuture SmartHome.ItwouldbeoneofthemostimportantproductoftheInternetofthings.asthedevelopmentofcomputersystem,communicationandembeddedsystem.SmartHomehasbeenmoreandmoreavailableinourlife.NowIwanttoremadethehouseholdappliancesTobuildasimpleSmartHomesystem.IchangemyphonetobeainfraredremotecontrolunitfortheairconditioningandTUsezigbeeunitandrelayforcontrolthelight.AndtrytomakeanetgatebyMT7681.ArduinoisuseforthemaincontrolunitofthesystemofSmarthome.Arduinoisaopensourceproject,Itsbaseonprocessing/wiringdevelopmentenvironment,justasjavaorC.Arduinoisuseasthemaincontrolunitofthehouse.anditcancontactwiththeInternetorthephone.oucanwatcheverythingofyourhouseandalsocancontrolthembyyourphone.Testingshowthatthesystemworkwell,andalsocanbeexpend.KEYWORD:Smarthome;embeddedsystem;AraduinoTOC\o"1-5"\h\z摘要 !..Abstract 錯誤!未定義書簽。\o"CurrentDocument"緒論 1..1.1智能家裝的概念及其發(fā)展趨勢 11.2智能家裝控制系統(tǒng)功能 智能家居的監(jiān)控 家庭安全防范. 4.軟硬件系統(tǒng) .6..2.1硬件部分 .6.Arduino平臺介紹 6.zigbee模塊 7.MT7681串口wifi模塊 8.2.2軟件部分 8..\o"CurrentDocument"系統(tǒng)設計方案. 9..3.1紅外線遙控 9..3.1.1紅外遙控的原理 采集紅外遙控器的編碼 103.1.3紅外線發(fā)射. 133.2可燃氣體報警 14MQ-2傳感器 143.2.2燃氣報警器的制作 15zigbee組網(wǎng)和控制 17zigbee的組網(wǎng) 17zigbee通過繼電器控制臺燈. 19zigbee的特點 21交互設計方案. 24\o"CurrentDocument"項目結(jié)論 30參考文獻 331.緒論1.1智能家居的概念及其發(fā)展趨勢智能家居,或稱智能住宅。智能家居是以住宅為平臺,兼?zhèn)浣ㄖ⒕W(wǎng)絡通信、信息家電、設備自動化,集系統(tǒng)、結(jié)構(gòu)、服務、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境。智能家居可以定義為一個過程或者一個系統(tǒng)。利用先進的計算機技術(shù)、網(wǎng)絡通訊技術(shù)、綜合布線技術(shù)、將與家居生活有關的各種子系統(tǒng),有機地結(jié)合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品位且宜人的家庭生活空間;還由原來的被動靜止結(jié)構(gòu)轉(zhuǎn)變?yōu)榫哂心軇又腔鄣墓ぞ?,提供全方位的信息交換功能,幫助家庭與外部保持信息交流暢通,優(yōu)化人們的生活方式,幫助人們有效安排時間,增強家居生活的安全性。融合了自動化控制系統(tǒng)、計算機網(wǎng)絡系統(tǒng)和網(wǎng)絡通訊技術(shù)于一體的網(wǎng)絡化智能化的家居控制系統(tǒng)。智能家居將讓用戶有更方便的手段來管理家庭設備,比如,通過加觸摸屏、無線遙控器、電話、互聯(lián)網(wǎng)或者語音識別控制家用設備,更可以執(zhí)行場景操作,使多個設備形成聯(lián)動;另一方面,智能家居內(nèi)的各種設備相互間可以通訊,不需要用戶指揮也能根據(jù)不同的狀態(tài)互動運行,從而給用戶帶來最大程度的高效、便利、舒適與安全。智能化家裝為用戶提供了始終在線的網(wǎng)絡服務,與互聯(lián)網(wǎng)隨時相連,為在家辦公提供了方便條件。智能安防可以實時監(jiān)控非法闖入、火災、煤氣泄露、緊急呼救的發(fā)生。一旦出現(xiàn)警情,系統(tǒng)會自動向中心發(fā)出報警信息,同時啟動相關電器進入應急聯(lián)動狀態(tài),從而實現(xiàn)主動防范。家電的智能控制和遠程控制,如對燈光照明進行場景設置和遠程控制、電器的自動控制和遠程控制等??梢酝ㄟ^語音識別技術(shù)實現(xiàn)智能家電的聲控功能;通過各種主動式傳感器(如溫度、聲音、動作等)實現(xiàn)智能家居的主動性動作響應。環(huán)境自動控制。如家庭中央空調(diào)系統(tǒng)。提供全方位家庭娛樂。如家庭影院系統(tǒng)和家庭中央背景音樂系統(tǒng)?,F(xiàn)代化的廚衛(wèi)環(huán)境。主要指整體廚房和整體衛(wèi)浴。管理家庭信息及與小區(qū)物業(yè)管理公司聯(lián)系。家庭理財服務。通過網(wǎng)絡完成理財和消費服務。智能信息家電可以通過服務器直接從制造商的服務網(wǎng)站上自動下載、更新驅(qū)動程序和診斷程序,實現(xiàn)智能化的故障自診斷、新功能自動擴展。在不久的將來智能話家居將不再是一座被動的房間或者建筑,而成為幫助人們更合理的利用時間的工具。使家,工作,生活更高效節(jié)能。網(wǎng)絡化的智能家裝可以為人們提供在任何地方遙控家里的家電,照明,窗簾等的功能。也能提供更好的防盜報警,火災報警等功能。智能算法也使得設備可以學習主人的生活習慣自動完成很多設置和功能。配合云端大數(shù)據(jù)和類似蘋果公司的iri或者微軟公司的kinect等交互設備。會給人們帶來全新的生活體驗。1.2智能家裝控制系統(tǒng)功能1.2.1智能家居的監(jiān)控家庭設備的遠程監(jiān)控包括電器設備的集中、遠距離(通過手機APP或者Internet)遙控設備、控制及數(shù)據(jù)采集。(圖1.2.1)紅外代詡轉(zhuǎn)發(fā)器圖1.2.1智能家裝的示意圖(1)家用電器的監(jiān)視和控制,可以使用遙控器來控制家里的燈光、熱水器、電動窗簾、飲水機、空調(diào)等設備的開關、同時控制諸如電視、DVD、音響等設備。(2) 定時控制:提前設定某些產(chǎn)品的開啟關閉時間,可以有效的節(jié)約能源。(3) 集中控制:可以在客廳同時打開臥室和衛(wèi)生間的燈,并開始給浴缸注熱水,夜晚還可以在臥室打開走廊和衛(wèi)生間的燈光、調(diào)試燈光亮度。還可以隨時參看各設備的運行情況。(4) 網(wǎng)絡遠程控制:無論身在何處都可以通過Internet或者手機監(jiān)視家里的一舉一動。并可以隨時操控家中的電器。1.2.2家庭安全防范(1) 監(jiān)控系統(tǒng)是用于本地和遠程了解特定區(qū)域情況,保留錄像備查,起著威懾、監(jiān)督、取證和管理作用的網(wǎng)絡系統(tǒng)。當用戶全家外出旅游時,家中無人,一定不放心家中的安全。這時你只要打開電腦,連接上系統(tǒng),就可以看到家里的各個角落,房里的燈有沒有關?廚房的水電有沒有漏?有沒有賊闖入家里?一目了然。智能家居的監(jiān)控系統(tǒng)還具有實時監(jiān)控功能,通過分布在室內(nèi)的電視機,監(jiān)視器,觸摸屏,可以實時監(jiān)控住宅周邊、門口、各個房間、室內(nèi)通道、車庫等重點區(qū)域的實時情況。系統(tǒng)還會自動將實時監(jiān)控或者遠程監(jiān)控的影像通過硬盤錄像功能錄制下來。如果有盜賊闖進家,就可以記錄下盜賊的影像作為證據(jù)。(2) 報警系統(tǒng)通過報警系統(tǒng)將家居環(huán)境發(fā)生的意外災情,如:非法入侵,火災,燃氣泄漏等第一時間通知到你或相關人員,以得到及時處理。報警系統(tǒng)通過報警主機布置處理安裝在室內(nèi)外的各種探測器,將探測器發(fā)出的信號最快地傳遞到相關的人員。廠家提供有各種功能用途的探測器,適用于家庭的不同區(qū)域。(3)門禁安全系統(tǒng)是非常重要的,它是家庭防護的第一道防線。智能家居的門禁系統(tǒng)在為你提供防護的同時還能為你提供了更多出入的方便。你可以通過授權(quán)自己,家人,客人通過密碼,刷卡,或者指紋,語音口令等智能識別認證方便的進出你的家門。安全防護系統(tǒng)還包括許多的內(nèi)容,智能家居安全防護系統(tǒng)是一個復雜的的網(wǎng)絡系統(tǒng)。各種智能防護設備通過信息通訊系統(tǒng)、網(wǎng)絡系統(tǒng)彼此配合協(xié)調(diào)工作,組成一個智能化的安全防護系統(tǒng)。它為我們享受高品質(zhì)的智能居家生活提供有力的保障。2.軟硬件系統(tǒng)本文設計利用Arduino基于AVR的開源嵌入式硬件平臺,2.4Ghzzigbee模塊,IR紅外收發(fā)模塊,MT7681wifi串口模塊實現(xiàn)智能家裝的一些功能。系統(tǒng)設計包括系統(tǒng)的硬件設計和調(diào)試和控制軟件的編寫。2.1硬件部分Arduino平臺介紹Arduino是一個基于開放原始碼的軟硬件平臺構(gòu)建于開放源代碼simpleI/O介面版,并且具有使用類似Java,C語言的Processing/Wiring的開發(fā)環(huán)境。圖2.1.1Arduino開發(fā)板Arduino能通過各種各樣的傳感器來感知環(huán)境,通過控制燈光、馬達和其他的裝置來反饋、影響環(huán)境。板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,收錄進微控制器。對Arduino的編程是利用Arduino編程語言(基于Wiring)和Arduino開發(fā)環(huán)境(basedonProcessing)來實現(xiàn)的?;贏rduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,他們之間進行通信(比如Flash,Processing,MaxMSP)來實現(xiàn)??梢宰约簞邮种谱?,也可以購買成品套裝;Arduino所使用到的軟件都可以免費下載。硬件參考設計(CAD文件)也是遵循availableopen-source協(xié)議,你可以非常自由地根據(jù)你自己的要求去修改他們。zigbee模塊ZigBee是基于IEEE802.15.4標準的低功耗局域網(wǎng)協(xié)議。根據(jù)國際標準規(guī)定,ZigBee技術(shù)是一種短距離、低功耗的無線通信技術(shù)。這一名稱(又稱紫蜂協(xié)議)來源于蜜蜂的八字舞,由于蜜蜂0。。)是靠飛翔和“嗡嗡-(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構(gòu)成了群體中的通信網(wǎng)絡其特點是近距離、低復雜度、自組織、低功耗、高數(shù)據(jù)速率。主要適合用于自動控制和遠程控制領域,可以嵌入各種設備。簡而言之ZigBee就是一種便宜的,低功耗的近距離無線組網(wǎng)通訊技術(shù)。MT7681串口wifi模塊串口WIFI模塊是基于Uart接口的符合wifi無線網(wǎng)絡標準的嵌入式模塊,內(nèi)置無線網(wǎng)絡協(xié)議IEEE802.11協(xié)議棧以及TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口數(shù)據(jù)到無線網(wǎng)絡之間的轉(zhuǎn)換。通過串口WIFI,傳統(tǒng)的串口設備也能輕松接入無線網(wǎng)絡2.2軟件部分軟件設計部分主要由以下幾大部分構(gòu)成:即數(shù)據(jù)采集與數(shù)據(jù)分析部分及分析控制部分。數(shù)據(jù)采集部分是對傳感器的信號進行采集分析控制部分則是根據(jù)采集的信息進行分時操作有利于提高系統(tǒng)效。Arduino可以兼容C/C++。3.系統(tǒng)設計方案3.1紅外線遙控3.1.1紅外遙控的原理紅外遙控系統(tǒng)主要分為調(diào)制、發(fā)射和接收三部分,如下圖所示:調(diào)制:紅外遙控發(fā)射數(shù)據(jù)時采用調(diào)制的方式,即把數(shù)據(jù)和一定頻率的載波進行“與”操作,這樣可以提高發(fā)射效率和降低電源功耗。調(diào)制載波頻率一般在30khz到60khz之間,大多數(shù)使用的是38kHz,占空比1/3的方波,如圖所示,這是由發(fā)射端所使用啊55kHz晶振決定的。在發(fā)射端要對晶振進行整數(shù)分頻,分頻系數(shù)一般取12,所以455kHz:12^37.9kHz^38kHz。發(fā)射系統(tǒng):目前有很多種芯片可以實現(xiàn)紅外發(fā)射,可以根據(jù)選擇發(fā)出不同種類的編碼。由于發(fā)射系統(tǒng)一般用電池供電,這就要求芯片的功耗要很低,芯片大多都設計成可以處于休眠狀態(tài),當有按鍵按下時才工作,這樣可以降低功耗芯片所用的晶振應該有足夠的耐物理撞擊能力,不能選用普通的石英晶體,一般是選用陶瓷共鳴器,陶瓷共鳴器準確性沒有石英晶體高,但通常一點誤差可以忽略不計。紅外線通過紅外發(fā)光二極管:LED)發(fā)射出去,紅外發(fā)光二極管內(nèi)部材料和普通發(fā)光二極管不同,在其兩端施加一定電壓時,它發(fā)出的是紅外線而不是可見光。最簡單電路,選用元件時要注意三極管的開關速度要快,還要考慮到LED的正向電流和反向漏電流,一般流過LED的最大正向電流為100mA,電流越大,其發(fā)射的波形強度越大。這個電路有一點缺陷,當電池電壓下降時,流過LED的電流會降低,發(fā)射波形強度降低,遙控距離就會變小。而射極輸出電路可以解決這個問題,兩個二極管把三級管基極電壓鉗位在1.2V左右,因此三級管發(fā)射極電壓固定在0.6V左右,發(fā)射極電流IE基本不變,根據(jù)IE^IC,所以流過LED的電流也基本不變,這樣保證了當電池電壓降低時還可以保證一定的遙控距離。接收:紅外接收電路通常被廠家集成在一個元件中,成為一體化紅外接收頭。內(nèi)部電路包括紅外監(jiān)測二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監(jiān)測二極管監(jiān)測到紅外信號,然后把信號送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發(fā)射器和接收器的距離遠近。交流信號進入帶通濾波器,帶通濾波器可以通過30khz到60khz的負載波,通過解調(diào)電路和積分電路進入比較器,比較器輸出高低電平,還原出發(fā)射端的信號波形。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高接收的靈敏度。3.1.2采集紅外遙控器的編碼主要使用了38kHz紅外一體化接收頭,因為已經(jīng)集成了三極管,所以不需要為了增加功率而額外配三極管。紅外《d和100Q電阻。
電路示意圖(如圖3.1.1)Arduinopins圖3.1.1紅外線接收部分電路圖實物組裝完成后(如圖3.1.2)圖3.1.2紅外線接收實物圖接收紅外線編碼的代碼如下:/**IRremote:IRrecvDemo-demonstratesreceivingIRcodeswithIRrecvAnIRdetector/demodulatormustbeconnectedtotheinputRECV_PIN.Version0.1July,2009Copyright2009KenShirriff[url][/url]*/#include<IRremote.h>intIR_PIN=11;定義紅外接收器的引腳為11IRrecvrecv(IR_PIN);decode_resultsresults;voidsetup()(Serial.begin(9600);recv.enableIRIn();//初始化紅外接收器}voidloop()(if(recv.decode(&results))(Serial.println(results.value,HEX)以16進制換行輸出接收代碼Serial.println();/為了便于觀看輸出結(jié)果增加一個空行recv.resume();〃接收下一個值}}經(jīng)過查閱相關資料了解到,當按下遙控器的按鍵時,遙控器將發(fā)出的一串二進制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能。可將它們分為5部分,分別為引導碼、地址碼、地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時.均是低位在前。高位在后。分析可以得到?引導碼高電平為4.5ms,低電平為4.5ms。當接收到此碼時.表示一幀數(shù)據(jù)的開始。單片機可以準備接收下面的數(shù)據(jù)。地址碼由8位二進制組成,共256種.地址碼重發(fā)了一次。主要是加強遙控器的可靠性.如果兩次地址碼不相同.則說明本幀數(shù)據(jù)有錯.應丟棄。不同的設備可以擁有不同的地址碼.因此。同種編碼的遙控器只要設置地址碼不同,也不會相互干擾。所有按鍵發(fā)出的地址碼都是相同的。數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼.可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關系不滿足相反的關系.則本次遙控接收有誤.數(shù)據(jù)應丟棄。在同一個遙控器上.所有按鍵的數(shù)據(jù)碼均不相同。用串口調(diào)試助手啟用監(jiān)控,依次記錄下空調(diào)或電視遙控器上所有鍵的編碼。如圖(3.1.3)圖3.1.3記錄所有按鍵的編碼3.1.3紅外線發(fā)射紅外線發(fā)射的電路同上面接收的電路是一樣的只是控制Arduino的3號管腳輸出PWM(脈沖寬度調(diào)制)。代碼如下/**發(fā)射紅外線信號*/#include<IRremote.h> //引用IRRemote函式庫RsendIRsend; //定義IRsend來發(fā)射紅外線訊號voidsetup()(pinMode(3,OUTPUT);digitalWrite(3,HIGH);//點亮LED測試(可以過手機攝像模式觀察)delay(3000); //等待3秒digitalWrite(3,LOW);//結(jié)束測試}voidloop(){Serial.print("SendIR:");IRsend.sendNEC(0x837F18E7,32);//0x837F18E7為頻道增加按鈕delay(3000); //等待3秒}對著電視試驗了一下可以使用。機頂盒和空調(diào)遙控器同理。這樣就實現(xiàn)了使用嵌入式系統(tǒng)來控制家用電器的功能但是由于硬件條件限制,紅外發(fā)射器的有效距離和角度都有很大限制,暫時想到的解決辦法是用多個發(fā)射器同時發(fā)射,針對不同家用電器放置不同的角度和位置。另外由于家里使用的是創(chuàng)維的電視盒機頂盒和美的空調(diào)的遙控器。以上三個的紅外遙控沒有相互編碼相同的情況其他品牌的因條件有限未做實驗。3.2可燃氣體報警MQ-2傳感器MQ-2Sensor是基于QM-NG1探頭的氣體傳感器,QM-NG1是采用目前國際上工藝最成熟,生產(chǎn)規(guī)模最大郵口02材料作為敏感基體制作的廣譜性氣體傳感器。該產(chǎn)品的最大特點是對各種可燃性氣體(如氫氣、液化石油氣、一氧化碳、烷烴類等氣體以及酒精、乙醚、汽油、煙霧等有毒氣體具有高度的敏感性。使用方法:1元件開始通電工作時,沒有接觸丁烷氣體,其電導率也急劇增加,約一分鐘后達到穩(wěn)定,這時方可正常使用,這段變化在設計電路時可采用延時處理解決。2加熱電壓的改變會直接影響元件的性能,所以在規(guī)定的電壓范圍內(nèi)使用為佳。3元件在接觸標定氣體1000ppm丁烷后10秒鐘以內(nèi)負載電阻兩端的電壓可達到(Vdg-Va)差值的70%(即響應時間);脫離標定氣體1000ppm丁烷30秒鐘以內(nèi)負載電阻兩端的電壓下降到(Vdg-Va)差值的70%(即恢復時間)。4符號說明檢測氣體中電KRdg、檢測氣體中電壓Vdg、Rdg與Vdg的關系:Rdg=RL(VC/Vdg-1)5負載電阻可根據(jù)需要適當改動,以滿足設計的要求。6使用條件:溫度-15?40笆;相對濕度20?85%RH;大氣壓力80?106KPa。7環(huán)境溫濕度的變化會給元件電阻帶來小的影響,可進行濕度補償,最簡便的方法是采用熱敏電阻補償之。8避免腐蝕性氣體及油污染,長期使用需防止灰塵堵塞防爆不銹鋼網(wǎng)。3.2.2燃氣報警器的制作將MQ-2的VCC和GND引腳單獨共5V電源。數(shù)據(jù)引腳連接入Arduino開發(fā)板的P0端子。紅色LED接入Arduino開發(fā)板的P1端子。喇叭接入Arduino開發(fā)的P2端子。實物(如圖:3.2.1)圖3.2.1蜂鳴燃氣報警器代碼如下:#defineled1#definealarm2voidsetup(){Serial.begin(9600);}voidloop(){intval;val=analogRead(0);if(val>200){led=1;alarm=1;}else{led=0;alarm=0;}Serial.println(val,DEC);delay(100);}當MQ-2檢測的值超標時觸發(fā)報警,喇嘛發(fā)聲,并且紅燈亮起。起到報警作用。3.3zigbee組網(wǎng)和控制zigbee的組網(wǎng)Arduino附加Zigduino內(nèi)部集成了802.15.4協(xié)議無線模塊,支持任何基于802.15.4協(xié)議的無線模塊,包括ZigBee。組網(wǎng)方案設計:組建一個完整的zigbee網(wǎng)狀網(wǎng)絡包括兩個步驟:網(wǎng)絡初始化、節(jié)點加入網(wǎng)絡,其中節(jié)點加入網(wǎng)絡又包括兩個步驟:通過與協(xié)調(diào)器連接入網(wǎng)和通過已有父節(jié)點入網(wǎng)。Zigbee網(wǎng)絡的建立是由網(wǎng)絡協(xié)調(diào)器發(fā)起的,任何一個igbee節(jié)點要組建一個網(wǎng)絡必須要滿足以下兩點要求:(1) 節(jié)點是FFD節(jié)點,具備zigbee協(xié)調(diào)器的能力;(2) 節(jié)點還沒有與其他網(wǎng)絡連接當節(jié)點已經(jīng)與其他網(wǎng)絡連接時,此節(jié)點只能作為該網(wǎng)絡的子節(jié)點因為一個zigbee網(wǎng)絡中有且只有一個網(wǎng)絡協(xié)調(diào)器。網(wǎng)絡初始化的流程如下:(1)確定網(wǎng)絡協(xié)調(diào)器,首先判斷節(jié)點是否是FFD節(jié)點,接著判斷此FFD節(jié)點是否在其他網(wǎng)絡里或者網(wǎng)絡里是否已經(jīng)存在協(xié)調(diào)器。通過主動掃描,發(fā)送一個信標請求命令Beaconrequestcommand,然后設置一個掃描期限T_scan_duration),如果在掃描期限內(nèi)都沒有檢測到信標,那么就認為FFD在其pos內(nèi)沒有協(xié)調(diào)器,那么此時就可以建立自己的zigbee網(wǎng)絡,并且作為這個網(wǎng)絡的協(xié)調(diào)器不斷地產(chǎn)生信標并廣播出去。(2) 進行信道掃描過程。包括能量掃描和主動掃描兩個過程:首先對指定的信道或者默認的信道進行能量檢測,以避免可能的干擾。以遞增的方式對所測量的能量值進行信道排序拋棄那么些能量值超出了可允許能量水平的信道,選擇可允許能量水平的信道并標注這些信道是可用信道。接著進行主動掃描,搜索節(jié)點通信半徑內(nèi)的網(wǎng)絡信息。這些信息以信標幀的形式在網(wǎng)絡中廣播,節(jié)點通過主動信道掃描方式獲得這些信標幀,然后根據(jù)這些信息,找到一個最好的、相對安靜的信道,通過記錄的結(jié)果,選擇一個信道,該信道應存在最少的zigbee網(wǎng)絡,最好是沒有zigbee設備。在主動掃描期間,mac層將丟棄phy層數(shù)據(jù)服務接收到的除信標以外的所有幀。(3) 設置網(wǎng)絡ID。找到合適的信道后,協(xié)調(diào)器將為網(wǎng)絡選定一個網(wǎng)絡標識符(PANID取值<=0x3FFF),這個ID在所使用的信道中必須是唯一的,也不能和其他zigbee網(wǎng)絡沖突,而且不能為廣播地址oxFFFF(此地址為保留地址,不能使用)。PANID可以通過偵聽其他網(wǎng)絡的ID然后選擇一個不會沖突的ID的方式來獲取,也可以人為的指定掃描的信道后來確定不和其他網(wǎng)絡沖突通ANID。在zigbee網(wǎng)絡中有兩種地址模式:擴展地址64位)和短地址(16位),其中擴展地址由IEEE組織分配,用于唯一的設備標識;短地址用于本地網(wǎng)絡中設備標識,在一個網(wǎng)絡中,每個設備的短地址必須唯一,當節(jié)點加入網(wǎng)絡時由其父節(jié)點分配并通過使用短地址來通信對于協(xié)調(diào)器來說,短地址通常設定為0x0000;上面步驟完成后,就成功初始化Tzigbee網(wǎng)狀網(wǎng)絡,之后就等待其他節(jié)點的加入。節(jié)點入網(wǎng)時將選擇范圍內(nèi)信號最強的父節(jié)點包括協(xié)調(diào)器)加入網(wǎng)絡,成功后將得到一個網(wǎng)絡短地址并通過這個地址進行數(shù)據(jù)的發(fā)送和接收,網(wǎng)絡拓撲關系和地址就會保存在各自的flash中。zigbee通過繼電器控制臺燈Zigduino控制器是zigbee和Arduino的整合模塊,和繼電器模塊配合使用實現(xiàn)對于臺燈的控制。將繼電器的線圈分別接至Zigduino控制器的P3和GND,觸點接220V的零線。接到遠程信號時P3輸出高、低電平??刂评^電器的觸點從而控制臺燈的開關。原理圖(如囹
J.T-D-F:AVt-I-5P]圖J.T-D-F:AVt-I-5P]圖3.2.1ZIGBEE模塊原理圖tMHUCCFtlDilltt.ll□nwni□unrnilSTATU■tn)CtlKErHCn??EH哼aCL砒CL+P泗牌』lPX%L』:ISCDLT'tAMiPDIv?mKJWIKHMJ數(shù)據(jù)發(fā)送部分代碼:voidsetup()(Serial.begin(115200);}voidloop()(intn=analogRead(A0);floatvol=n*(5.0/1023*100);upload_sensor(vol);/調(diào)用子函數(shù)delay(5000);}voidupload_sensor(floatvol)(//sendtheHTTPPUTrequest核心代碼charbuf[200];memset(buf,0,200);intret;ret=sprintf(buf,"GET/upload.php?uid=ycf&ps=ycf&sensor_name=Arduino&data="http://;設置協(xié)議Serial.print(buf);暫存至bufSerial.print(vol);/調(diào)用要發(fā)送的數(shù)據(jù)volSerial.println("HTTP/1.1");//HTT協(xié)議名稱Serial.println("Host:05/”設置服務器地址Serial.println("Connection:close")數(shù)據(jù)傳輸完畢,連接關閉Serial.println();}數(shù)據(jù)接收部分的代碼:staticvoidrxCB_Loopback(uint8port,uint8event)(/*若接收緩沖區(qū)中有數(shù)據(jù)*/if(rxLen)(/*若將接收緩沖區(qū)中的數(shù)據(jù)寫入到串口不成功7if(!HalUARTWrite(SERIAL_APP_PORT,rxBuf,rxLen))(/*在指定時間SERIALAPP_TX_RTRY_TIMEOUT后觸發(fā)串口重發(fā)送事件*/osal_start_timerEx(SerialApp_TaskID,SERIALAPP_TX_RTRY_EVT,SERIALAPP_TX_RTRY_TIMEOUT);return;//返回}/*若將接收緩沖區(qū)中的數(shù)據(jù)寫入到串口成功Velse{/*停止串口重發(fā)送事件*/osal_stop_timerEx(SerialApp_TaskID,SERIALAPP_TX_RTRY_EVT);}}/*若從串口讀取數(shù)據(jù)不成功讀出的數(shù)據(jù)長度為0)*/if(!(rxLen=HalUARTRead(port,rxBuf,SERIAL_APP_RX_CNT))){return;//返回}/*若將已從串口讀取的數(shù)據(jù)回寫到串口成功Vif(HalUARTWrite(SERIAL_APP_PORT,rxBuf,rxLen)){rxLen=0;//清零接收緩沖區(qū)中數(shù)據(jù)長度變量}/*若將已從串口讀取的數(shù)據(jù)回寫到串口不成功7else{/*在指定時間SERIALAPP_TX_RTRY_TIMEOU1p觸發(fā)串口重7osal_start_timerEx(SerialApp_TaskID,SERIALAPP_TX_RTRY_EVT,SERIALAPP_TX_RTRY_TIMEOUT);}}打開串口調(diào)試助手,參看無線傳輸?shù)倪^程rxBuf,接到后判斷是什么字符,然后做相應的處理。zigbee的特點(1)低功耗。在低耗電待機模式下,2節(jié)5號干電池可支持1個節(jié)點工作6?24個月,甚至更長。這是ZigBee的突出優(yōu)勢。相比較,藍牙能工作數(shù)周、WiFi可工作數(shù)小時。TI公司和德國的Micropelt公司共同推出新能源的ZigBee節(jié)點。該節(jié)點采用Micropelt公司的熱電發(fā)電機給TI公司的ZigBee提供電源。低成本。通過大幅簡化協(xié)議不到藍牙的1/10),降低了對通信控制器的要求,按預測分析,以8051的8位微控制器測算,全功能的主節(jié)點需要32KB代碼,子功能節(jié)點少至4KB代碼,而且ZigBee免協(xié)議專利費。每塊芯片的價格大約定美元。低速率。ZigBee工作在20?250kbps的速率,分別提供250kbps(2.4GHz\40kbps(915MHz和20kbps(868MHz)的原始數(shù)據(jù)吞吐率,滿足低速率傳輸數(shù)據(jù)的應用需求。近距離。傳輸范圍一般介于10?100m之間,在增加發(fā)射功率后,亦可增加到1?3km。這指的是相鄰節(jié)點間的距離。如果通過路由和節(jié)點間通信的接力,傳輸距離將可以更遠。短時延。ZigBee的響應速度較快,一般從睡眠轉(zhuǎn)入工作狀態(tài)只需15ms,節(jié)點連接進入網(wǎng)絡只需30ms,進一步節(jié)省了電能。相比較,藍牙需要3?10s、WiFi需要3s。高容量。ZigBee可采用星狀、片狀和網(wǎng)狀網(wǎng)絡結(jié)構(gòu),由一個主節(jié)點管理若干子節(jié)點,最多一個主節(jié)點可管理254個子節(jié)點;同時主節(jié)點還可由上一層網(wǎng)絡節(jié)點管理,最多可組成65000個節(jié)點的大網(wǎng)。(7) 高安全°ZigBee提供了三級安全模式,包括無安全設定、使用訪問控制清單(AccessControlList,ACL)防止非法獲取數(shù)據(jù)以及采用高級加密標準(AES128)的對稱密碼,以靈活確定其安全屬性。(8) 免執(zhí)照頻段。使用工業(yè)科學醫(yī)療(ISM)頻段,915MHz(美國),868MHz(歐洲),2.4GHz(全球)。由于此三個頻帶物理層并不相同,其各自信道帶寬也不同,分別為0.6MHz,2MHz和5MHz。分別有1個,10個和16個信道。這三個頻帶的擴頻和調(diào)制方式亦有區(qū)別。擴頻都使用直接序列擴頻DSSS),但從比特到碼片的變換差別較大。調(diào)制方式都用了調(diào)相技術(shù)但868MHz和915MHz頻段采用的是BPSK,而2.4GHz頻段采用的是OQPSK。在發(fā)射功率為0dBm的情況下,藍牙通常能有10米的作用范圍。而ZigBee在室內(nèi)通常能達到30-50米的作用距離,在室外空曠地帶甚至可以達到400米(TICC2530不加功率放大)。所以ZigBee可歸為低速率的短距離無線通信技術(shù)。4.交互設計方案智能家裝作為物聯(lián)網(wǎng)項目,除了本身內(nèi)部網(wǎng)絡通過igbee通訊。還需要和Internet進行通訊。各種支持zigbee的傳感器把采集到的信息通過網(wǎng)關上傳至Internet上。也可以通過Internet控制家居內(nèi)部的元件。實現(xiàn)遠程控制。如(圖4.1)麥全件。實現(xiàn)遠程控制。如(圖4.1)麥全圖4.1智能家裝交互直走-二I.--L本文中使用了MT7861wifi串口模塊作為智能家居的網(wǎng)關部件。作為以Arduino為中心的智能家居的主控部分和Internet的接口。MT7861作為網(wǎng)關的使用和Arduino交互的代碼(如圖4.2)entitie-5[i|,status=STATUS_OIILnfE;:/*sendi:iieaa/aTfLirsearaicsrc-itraTriEiEids.:*ffcr(k-0;k<k^_HRIENOSJJUM;k44|[if(entitirsliIfriends[k]=L&&rntitieslk]rStiatus=ST^TU3_0NinJE'Iil=wrlz=(emlLlea[t]p,azrlen(usee-1ogcn)卜也);LItlXOl[perroi("write'');break/ifU—E^_EirriIIES_N?i(t*notZEgi5P=rEds7fan(L=D?i<MiK_EHTrriES_tTUK;L+l->[if^mzancrc-{entitiesTiJ-idP"氣mjUVhUL.xOC?rjC1'-z'jj■xUlnP£)—0)\entities[i].fd■=Ed;ersti-ies[i].s-acus:=STJiHJ5_OMLllH.rrnanqpy;enti^-iea[2]■idPp+3tzlsa^ujerl!>3iM.|?Ej:breik;if(i—MaX_EH7rriT5_tCnHI[print;["zactu?henczzirsa.□"|;1]/*asadrheon/cizlineszaniscrLt;rsirle^aa,*/if(L<^_E.UiniESJfUH){Eg。;Jx!RK_JRrENBjmH-E+—)\iz(sucitiea11].zrlends[Jc|=1i4 .s匚己皿=5lftTU5_-JE4LLKlj|cnaz虹葬;bzero(rinpbuf(1024)i;msg=^enizlziea[k],azactl3=SIAIOS_CKLIHE)?u.Berlc-^cnsisseilsgDi£;圖4.2網(wǎng)關的代碼部分網(wǎng)關搭建成功后就可以通過互聯(lián)網(wǎng)向家中的rduinno發(fā)送指令,也可以隨時監(jiān)測家中的情況了。使用Yeelink搭建交互平臺,Yeelink是一家為物聯(lián)網(wǎng)的開放服務提供商,完成對傳感器數(shù)據(jù)的接入管理,數(shù)據(jù)存儲,以及將數(shù)據(jù)隨時顯示給客戶。使用了基于RESTful架構(gòu)的開放API體系,通過統(tǒng)一的webservice,使得用戶能方便取回和管理自己的傳感器數(shù)據(jù)。不管是在android,iOS等操作系統(tǒng)上,都可以使用Yeelink提供的界面組件API。可以非??焖俚拇罱ㄆ饘儆谧约邯氁粺o二的APP,能夠方便的將傳感器數(shù)據(jù),共享到網(wǎng)絡。除此以外我還嘗試了使用微信的公共號作為交互平臺來控制家中的設備。首先申請微信的公共號作為交互平臺,成為微信開發(fā)者。用戶發(fā)給公共平臺的消息以XML文件形式發(fā)送。解析XML代碼如下:<?phpdefine("TOKEN”,"xiaorenfeng");$wechatObj=newwechatCallbackapiTest();$wechatObj->responseMsg();classwechatCallbackapiTest{publicfunctionresponseMsg(){$postStr=$GLOBALS["HTTP_RAW_POST_ITA"];if(!empty($postStr)){$postObj=simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);$fromUsername=$postObj->FromUserName;$toUsername=$postObj->ToUserName;$keyword=trim($postObj->Content);$time=time();$textTpl="<xml><ToUserName>v![CDAA[%s]]>v/ToUserName><FromUserName><![CDJTA[%s]]></FromUserName><CreateTime>%sv/CreateTime><MsgType><![CDJTA[%s]]></MsgType><Content><![CD;TA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";?>讀取到發(fā)送給公共號的消息以后就可以通過關鍵詞來執(zhí)行相關動作了。例如當關鍵詞等于打開CCTV5,微信公共號會向家里的智能家裝網(wǎng)關發(fā)送打開CCTV5回復的代碼如下。if(!empty($keyword)){$msgType="text";$contentStr="OPEN"+keyword‘;$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);echo$resultStr;}else(echo"不知道您要做什么;}}else(echo"”;exit;}}privatefunctioncheckSignature(){$signature=$_GET["signature"];$timestamp=$_GET["timestamp"];$nonce=$_GET["nonce"];$token=TOKEN;$tmpArr=array($token,$timestamp,$nonce);sort($tmpArr);$tmpStr=implode($tmpArr);$tmpStr=sha1($tmpStr);if($tmpStr==$signature){returntrue;}else{returnfalse;}}}網(wǎng)關通過Arduino控制紅外模塊打開電視,并播放CCTV5。利用微信公共平臺提供的各種API可以方便的通過微信和Arduino的數(shù)據(jù)交換。效果(如圖4.3)
圖4.3微信平臺的交互智能家裝內(nèi)網(wǎng)網(wǎng)關搭建好以后,只要能在互聯(lián)網(wǎng)和Arduino之間傳遞數(shù)據(jù),方法不局限于以上兩種??梢酝ㄟ^GPRS模塊通過電話或短信和Arduino傳遞數(shù)據(jù)等等。智能家居網(wǎng)內(nèi)的交換數(shù)據(jù)的方式包括有線和無線。有線通訊和無線通訊。也可以使用類似siri的語音識別系統(tǒng),或者kinect體感識別系統(tǒng)。對著電視喊打開CCTV5或者互動手臂換臺的情況,在現(xiàn)有條件下也是可以實現(xiàn)的。5.項目結(jié)論智能家居是有效利用計算機技術(shù),通訊技術(shù)和嵌入式技術(shù)的綜合產(chǎn)物。依據(jù)科學的設計和個性化需求,完成對家居生活進行網(wǎng)絡化、智能管理化。幫助人們實現(xiàn)更加舒適、快捷、便利的全新生活體驗。同時滿足人們對于娛樂和安全等各方面的需求自主學習和人工智能算法上的進步,也使得智能家裝產(chǎn)品越來越聰明。配合不遠的未來大數(shù)據(jù)的廣泛應用,甚至設備
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)基地領養(yǎng)動物合同標準文本
- 關于社保補充合同標準文本
- 保潔服務合同8篇
- 傳媒公司與公司合同標準文本
- 共同經(jīng)營投資合同標準文本
- 落實新課程標準的具體措施計劃
- 學生興趣小組活動計劃
- 傳幫帶心得體會【5篇】
- 學校美術(shù)課程的課外延伸研究計劃
- 班主任如何開展小組合作學習計劃
- 病歷書寫規(guī)范細則(2024年版)
- 華南理工大學《統(tǒng)計學》2022-2023學年第一學期期末試卷
- GB/T 29468-2024潔凈室及相關受控環(huán)境圍護結(jié)構(gòu)夾芯板
- 爐襯材料與結(jié)構(gòu)的改進
- DB11-238-2021 車用汽油環(huán)保技術(shù)要求
- 2024年湖南省高考化學試卷真題(含答案解析)
- 《永久基本農(nóng)田調(diào)整劃定工作方案》
- 藥學技能競賽標準答案與評分細則處方
- 中小學生研學旅行投標方案(技術(shù)方案)
- 小學英語時態(tài)練習大全(附答案)-小學英語時態(tài)專項訓練及答案
- 實數(shù)數(shù)學中的關鍵概念
評論
0/150
提交評論