亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZigBee自組網(wǎng)絡(luò)的智能家居系統(tǒng)設(shè)計(jì)

        2022-09-21 01:34:20王剛王楚楚余亞?wèn)|金寶根
        電子測(cè)試 2022年17期
        關(guān)鍵詞:數(shù)據(jù)庫(kù)信息

        王剛,王楚楚,余亞?wèn)|,金寶根

        (紹興文理學(xué)院 數(shù)理信息學(xué)院,浙江紹興,312000)

        0 引言

        隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,人們對(duì)生活的便捷性要求越來(lái)越高,萬(wàn)物互聯(lián)的時(shí)代慢慢來(lái)臨,更加智能的日常已經(jīng)成為必然。然而由于傳統(tǒng)家居布線復(fù)雜、安裝維護(hù)成本高昂且存在安全隱患等問(wèn)題,使得智能家居無(wú)法真正實(shí)現(xiàn)。因此本系統(tǒng)在短距離通信中查找可行方案。通過(guò)對(duì)比 ZigBee、WiFi、藍(lán)牙、超寬帶通信(UWB)、近場(chǎng)通信(NFC)等等無(wú)線傳輸技術(shù),發(fā)現(xiàn)ZigBee通訊技術(shù)作為一種基于IEEE802.15.4協(xié)議的短距離無(wú)線通信技術(shù),具有功耗低、復(fù)雜度低、成本低等特點(diǎn),是取代傳統(tǒng)家居布線方案的極好的一種選擇[1]。因此本系統(tǒng)決定采用ZigBee通信組建局域網(wǎng)絡(luò),作為智能家居系統(tǒng)的通訊網(wǎng)絡(luò)。至于嵌入式Web服務(wù)器,常用的有Boa、GoAhead和Thttpd三種,經(jīng)過(guò)對(duì)比雖然各有優(yōu)勢(shì),但考慮到本設(shè)計(jì)的需求,Boa服務(wù)器具有功能強(qiáng),速度快,安全性高,占用資源少的功能特點(diǎn),十分適合資源相對(duì)有限的嵌入式系統(tǒng),因此本方案采用的家庭網(wǎng)關(guān)選用了Boa服務(wù)器,并采用CGI設(shè)計(jì)與HTML客戶端通信,從而實(shí)現(xiàn)客戶端對(duì)本地家電的操控以及環(huán)境監(jiān)測(cè)[2]。

        1 系統(tǒng)設(shè)計(jì)

        此系統(tǒng)除了M0端并沒(méi)有設(shè)置其他ZigBee終端節(jié)點(diǎn),因此以M0上的風(fēng)扇、LED等外設(shè)作為家電控制的終端節(jié)點(diǎn)進(jìn)行演示。如下圖所示系統(tǒng)整體分為三個(gè)部分,M0端負(fù)責(zé)對(duì)環(huán)境參數(shù)進(jìn)行采集顯示,家庭網(wǎng)關(guān)充當(dāng)服務(wù)器的作用、網(wǎng)頁(yè)客戶端用于人機(jī)交互。其中自組家庭通信網(wǎng)絡(luò)由ZigBee協(xié)調(diào)器及其終端節(jié)點(diǎn)構(gòu)成,協(xié)調(diào)器在家庭網(wǎng)關(guān)(A7)及終端節(jié)點(diǎn)(M0)之間充當(dāng)連接橋梁的角色,實(shí)現(xiàn)了將M0端采集到的數(shù)據(jù)信息上傳到家庭網(wǎng)關(guān),同樣將用戶端的操作指令通過(guò)家庭網(wǎng)關(guān)下傳到各終端節(jié)實(shí)現(xiàn)控制家電的開關(guān)。家庭網(wǎng)關(guān)和用戶客戶端采用Internet進(jìn)行雙向通信,服務(wù)器和終端節(jié)點(diǎn)以自組網(wǎng)絡(luò)雙向通信,因此借助家庭網(wǎng)關(guān)為中轉(zhuǎn),利用Zigbee網(wǎng)絡(luò)即實(shí)現(xiàn)了用戶和終端節(jié)點(diǎn)的雙向通信。

        圖2 M0數(shù)據(jù)采集端示意圖

        2 硬件設(shè)計(jì)

        2.1 數(shù)據(jù)采集端及家庭網(wǎng)關(guān)設(shè)計(jì)

        系統(tǒng)設(shè)計(jì)M0數(shù)據(jù)采集端主控芯片選擇了NXP Semicon ductors的LPC11C14,該處理器基于ARMCortex-M0內(nèi)核,是一個(gè)低功耗、低成本、32位的處理器,主頻可達(dá)50MHz,足以滿足數(shù)據(jù)采集端的任務(wù)需求。M0端采用的是DHT11溫濕度復(fù)合傳感器對(duì)溫度及濕度進(jìn)行采集,此外還有數(shù)碼管風(fēng)扇、對(duì)其采集參數(shù)進(jìn)行顯示、LED、小風(fēng)扇等外設(shè)用于對(duì)家用電器的操控演示、蜂鳴器模擬報(bào)警器報(bào)警等。網(wǎng)關(guān)設(shè)計(jì)考慮到價(jià)格以及功耗采用的是,具備優(yōu)秀的性能、主打低功耗的ARM7芯片。

        2.2 自組網(wǎng)絡(luò)設(shè)計(jì)

        ZigBee自組網(wǎng)絡(luò)是智能終端系統(tǒng)的核心,根據(jù)ZigBee在網(wǎng)絡(luò)中扮演的角色不同,可分為協(xié)調(diào)器、路由器和終端節(jié)點(diǎn)三類,協(xié)調(diào)器負(fù)責(zé)組織網(wǎng)絡(luò),其允許路由器與終端節(jié)點(diǎn)與其綁定并接收兩者發(fā)送過(guò)來(lái)的信息。終端節(jié)點(diǎn)負(fù)責(zé)將終端采集的信息發(fā)送給ZigBee協(xié)調(diào)器[2]。考慮到現(xiàn)實(shí)實(shí)際情況,可以根據(jù)家庭范圍大小采用不同的傳感網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),經(jīng)過(guò)測(cè)試在組網(wǎng)簡(jiǎn)單的星型網(wǎng)絡(luò)結(jié)構(gòu),在80米范圍內(nèi)通信均有效可靠,如果終端節(jié)點(diǎn)距離協(xié)調(diào)器過(guò)遠(yuǎn)則可通過(guò)樹狀網(wǎng)絡(luò)進(jìn)行通訊,使用路由器在中間作為中轉(zhuǎn)從而延長(zhǎng)通信的距離。

        Zigbee模塊采用CC2530芯片設(shè)計(jì)和實(shí)現(xiàn),只需在網(wǎng)絡(luò)節(jié)點(diǎn)安裝少量的濾波電路和PCB天線。它與高度可靠的短程無(wú)線通信協(xié)議IEEE802.15.4兼容,并使用CSMA-CA技術(shù)解決數(shù)據(jù)沖突,16-bits CRC技術(shù)保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,使其通信具有極高的可靠性,雖然通信速率較低但最大數(shù)據(jù)傳輸速率250Kbps遠(yuǎn)遠(yuǎn)滿足此設(shè)計(jì)的需求。ZigBee模塊具有工作、休眠兩種狀態(tài),功耗低工作狀態(tài)瞬間電流僅為25mA,休眠狀態(tài)電流更是幾乎可以忽略不計(jì)。因此,此設(shè)計(jì)供電方式采用2節(jié)五號(hào)電池對(duì)其供電,經(jīng)過(guò)理論計(jì)算大概可以使用超過(guò)半年時(shí)間。此外ZigBee的協(xié)調(diào)器設(shè)計(jì)還需要串口模塊,用于與家庭網(wǎng)關(guān)進(jìn)行通信。

        3 軟件設(shè)計(jì)

        3.1 網(wǎng)絡(luò)通信協(xié)議及多線程程序設(shè)計(jì)

        家庭網(wǎng)關(guān)與協(xié)調(diào)器之間通信需要協(xié)議,家庭網(wǎng)關(guān)發(fā)送給ZigBee網(wǎng)絡(luò)的指令操作信息及終端節(jié)點(diǎn)采集到的數(shù)據(jù)信息,在信息發(fā)送時(shí)需要添加不同的表頭進(jìn)行區(qū)分,不同的操作設(shè)備也要根據(jù)約定好相應(yīng)的編號(hào)用以區(qū)分。當(dāng)消息處理線程得到信息首先會(huì)對(duì)信息類型進(jìn)行判斷,根據(jù)不同的類型信息做出相對(duì)應(yīng)的操作[3]。在這個(gè)過(guò)程中處理器會(huì)開啟多個(gè)線程,如:數(shù)據(jù)庫(kù)線程、LED控制線程、Buzzer控制線程、CGI線程、控制命令線程等,根據(jù)接收到的事件不同喚醒不透的線程進(jìn)行處理。考慮到多線程中對(duì)臨界資源操作時(shí),可能會(huì)產(chǎn)生競(jìng)爭(zhēng),出現(xiàn)錯(cuò)誤,因此這里我們對(duì)各個(gè)線程引入了互斥鎖、條件變量等同步互斥機(jī)制。主線程運(yùn)行后,各任務(wù)線程開始運(yùn)行,被觸發(fā)后則喚醒各線程的條件變量,做出相應(yīng)的處理,處理后繼續(xù)阻塞等待下一次的喚醒。

        以數(shù)據(jù)庫(kù)線程為例:創(chuàng)建鏈表頭后一直等待條件變量的喚醒,經(jīng)過(guò)對(duì)接收數(shù)據(jù)信息解析發(fā)現(xiàn)表頭是約定的環(huán)境信息,則喚醒數(shù)據(jù)庫(kù)相關(guān)的條件變量,喚醒后查看是否有信息,若沒(méi)有繼續(xù)等待,若有信息則循環(huán)對(duì)數(shù)據(jù)庫(kù)進(jìn)行相應(yīng)的操作,操作完畢繼續(xù)等待下一次條件變量的喚醒。流程如下圖3所示。

        圖3 SQlite 線程工作流程示意圖

        LED線程如下圖4所示:LED線程一直阻塞等待喚醒,服務(wù)器接收到客戶端下發(fā)的指令后,通過(guò)對(duì)接收的信息分析對(duì)比發(fā)現(xiàn)是控制LED小燈的命令,則喚醒LED線程,根據(jù)led文件掩碼信息,識(shí)別是控制的哪個(gè)小燈,根據(jù)事前約定好的協(xié)議封裝控制狀態(tài)指令,拼接后發(fā)送給控制端即可以控制對(duì)應(yīng)小燈的亮滅。

        圖4 LED處理線程工作流程示意圖

        3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)

        軟件設(shè)計(jì)中對(duì)數(shù)據(jù)的存儲(chǔ)以及一些初始化參數(shù)(報(bào)警溫度臨界值等)存儲(chǔ)采用的數(shù)據(jù)庫(kù)是sqlite3,該數(shù)據(jù)庫(kù)具有C語(yǔ)言函數(shù)接口,可以用這些接口很容易地對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作。例如:在c程序想打開一個(gè)數(shù)據(jù)庫(kù)即可使用int sqlite3_open(文件名,sqlite3 **)函數(shù),若想對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查等操作使用sqlite3_exec(sqlite3*,const char *sql,sqlite3_callback, void *,char **errmsg )函數(shù)就可以在執(zhí)行各種sql語(yǔ)句,(const char *sql即需要使用的sql語(yǔ)句,詳情使用見sqlite官網(wǎng))。各線程的激活如數(shù)據(jù)庫(kù)的激活以及各種操作是在數(shù)據(jù)接收線程后面,為區(qū)分各種操作命令類型,根據(jù)接收端和發(fā)送端要約定的協(xié)議,接收端接收到數(shù)據(jù)后即對(duì)消息進(jìn)行解析,根據(jù)約定的消息頭,分為不同的功能執(zhí)行不同的工作線程、不同的功能函數(shù)。

        圖5 環(huán)境參數(shù)存儲(chǔ)形式圖

        如上圖溫濕度記錄存儲(chǔ)表為例,數(shù)據(jù)庫(kù)中根據(jù)存儲(chǔ)信息類型的不同,分為不同的表,如用戶注冊(cè)表、環(huán)境參數(shù)表等。例如,通過(guò)對(duì)table_select_mask掩碼進(jìn)行與操作,就能標(biāo)記出是對(duì)數(shù)據(jù)庫(kù)的哪個(gè)表格進(jìn)行操作。以此類推根據(jù)操作掩碼,就能識(shí)別出不同的操作、根據(jù)數(shù)據(jù)掩碼就能區(qū)分不同種類的數(shù)據(jù),從而將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中相對(duì)應(yīng)的表中。

        3.3 嵌入式服務(wù)器與客戶端設(shè)計(jì)

        BOA服務(wù)器采用HTTP超文本傳輸協(xié)議,是一個(gè)功能強(qiáng)大、速度快、安全性高、占用資源少的嵌入式系統(tǒng)服務(wù)器。BOA使用需要移植及配置,移植方便,這里不進(jìn)行詳述。服務(wù)器和CGI程序之間的通信需要環(huán)境變量的協(xié)作,由于HTML只能顯示靜態(tài)網(wǎng)頁(yè),不能與服務(wù)器動(dòng)態(tài)數(shù)據(jù)交互,因此必須通過(guò)表單與服務(wù)器交互,來(lái)解決用戶使用網(wǎng)頁(yè)客戶端的動(dòng)態(tài)交互功能。表單提交方法由METHOD標(biāo)簽的屬性所決定,當(dāng)“METHOD=GET”時(shí),信息是通過(guò) QUERY—STRING這個(gè)環(huán)境變量來(lái)傳遞。而當(dāng)“METHOD=POST”,表單信息將通過(guò)標(biāo)準(zhǔn)輸入來(lái)進(jìn)行讀取數(shù)據(jù),并用環(huán)境變量CONTENT—LENGTH記錄發(fā)送數(shù)據(jù)的長(zhǎng)度(因?yàn)镃GI中不會(huì)出現(xiàn)EOF,所以讀取字節(jié)長(zhǎng)度絕對(duì)不能超過(guò)發(fā)送數(shù)據(jù)長(zhǎng)度)。

        如圖6所示,客戶端的瀏覽器與嵌入式Web服務(wù)器BOA建立連接,要經(jīng)過(guò)初始化socket、bind、listen等初始化過(guò)程,瀏覽器通過(guò)以CGI程序的GET或者POST表單傳遞方式向Web服務(wù)器發(fā)送表單,服務(wù)器通過(guò)分析表單信息,調(diào)用不同的CGI,例如小燈開關(guān)CGI,報(bào)警器CGI等,即實(shí)現(xiàn)了用戶在網(wǎng)頁(yè)端動(dòng)態(tài)下發(fā)操作指令,通過(guò)Boa服務(wù)器的處理下發(fā)到ZigBee網(wǎng)絡(luò)的終端節(jié)點(diǎn)實(shí)現(xiàn)家電的控制。

        圖6 通訊整體框圖

        圖7 cgi調(diào)用流程圖

        同樣,終端節(jié)點(diǎn)的信息也可以經(jīng)過(guò)ZigBee協(xié)調(diào)器發(fā)到服務(wù)器,繼而上傳到用戶端。最終實(shí)現(xiàn)了用戶通過(guò)電腦手機(jī)等智能設(shè)備,借助家庭智能網(wǎng)關(guān)、ZigBee自組網(wǎng)絡(luò)能夠遠(yuǎn)程控制家電,查看環(huán)境參數(shù)。

        4 總結(jié)

        此系統(tǒng)經(jīng)過(guò)驗(yàn)證,能夠根據(jù)家庭大小所需要,采用不同的ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)調(diào)整通信網(wǎng)絡(luò)范圍大小,根據(jù)要操控的家電多少增加或減少ZigBee終端端點(diǎn),使用方便、穩(wěn)定可靠,達(dá)到了預(yù)期的功能,具有一定的現(xiàn)實(shí)意義。

        猜你喜歡
        數(shù)據(jù)庫(kù)信息
        數(shù)據(jù)庫(kù)
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        展會(huì)信息
        數(shù)據(jù)庫(kù)
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产精品人妻一区二区三区四| 国产69精品久久久久9999| 亚洲羞羞视频| 亚洲av中文aⅴ无码av不卡| 亚洲专区路线一路线二网| 国模91九色精品二三四| 亚洲国产精品18久久久久久| 精品国品一二三产品区别在线观看 | 丰满少妇被猛进去高潮| 精品香蕉一区二区三区| 99久久精品费精品国产一区二| 亚洲国产激情一区二区三区| 中文字幕在线观看国产双飞高清 | 无遮挡呻吟娇喘视频免费播放| 国产一起色一起爱| 99国产精品久久久蜜芽| 久久AⅤ无码精品色午麻豆| 日韩中文字幕一区在线| 蜜臀一区二区三区精品| 久久久久久久综合综合狠狠| 亚洲精品无码久久毛片| 成人av天堂一区二区| 丰满少妇被啪啪到高潮迷轩| 女人被弄到高潮的免费视频| 小sao货水好多真紧h视频| 中文字幕无码人妻丝袜| 天堂av一区二区麻豆| 久久婷婷五月综合色奶水99啪| 无码人妻丰满熟妇区毛片| 日韩AV无码一区二区三区不卡毛片| 狠狠色丁香婷婷久久综合2021| 一本色道亚州综合久久精品| 91精品国产综合久久精品密臀| 真人做爰试看120秒| 亚洲av永久无码天堂网手机版| 欧美破处在线观看| 成人av综合资源在线| 亚洲乳大丰满中文字幕| 在线看亚洲十八禁网站| 无码高清视频在线播放十区| 亚洲本色精品一区二区久久|