基于NB-IoT的智能家居系統設計_第1頁
基于NB-IoT的智能家居系統設計_第2頁
基于NB-IoT的智能家居系統設計_第3頁
基于NB-IoT的智能家居系統設計_第4頁
基于NB-IoT的智能家居系統設計_第5頁
已閱讀5頁,還剩61頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要:為了增加智能家居系統的通信距離,降低節點傳輸能耗和實現遠程實時控制,基于云平臺技術,利用NB-IoT(窄帶物聯網)技術設計了一款小型遠程測控智能家居系統。系統采用TexasInstrumentCC2530作為主控設備,QuectelBC26模塊,結合多種傳感器,阿里云服務器和人機交互小程序應用構成了具有實時遠程測控功能的小型智能家居測控系統;家居系統節點采集到的數據,通過ZigBee協調器發送到NB-IoT物聯網通訊模塊,再將其發送至遠程阿里云服務器;通過人機交互小程序應用對云服務器數據庫數據的獲取和操控,實現了對家居環境情況的監測和對家庭用電器設備的控制。實驗結果表明:系統具有低功耗、遠程實時測控、數據準確等特點,具有一定的實際應用價值。關鍵詞:NB-IoT;智能家居;低功耗;云平臺;Abstract:Inordertoincreasethecommunicationdistanceofthesmarthomesystem,reducenodetransmissionenergyconsumptionandrealizeremotereal-timecontrol,asmallremotemeasurementandcontrolsmarthomesystemisdesignedbasedoncloudplatformtechnologyandusingNB-IoT(NarrowBandInternetofThings)technology.ThesystemusesTexasInstrumentCC2530asthemaincontroldevice,QuectelBC26module,combinedwithavarietyofsensors,AlibabaCloudserverandhuman-computerinteractionappletapplicationstoformasmallsmarthomemeasurementandcontrolsystemwithreal-timeremotemeasurementandcontrolfunctions;datacollectedbythehomesystemnodes,ThroughtheZigBeecoordinatortosendtotheNB-IoTInternetofThingscommunicationmodule,andthensendittotheremoteAliyunserver;throughthehuman-computerinteractionappletapplicationtothecloudserverdatabasedataacquisitionandcontrol,toachievethemonitoringofthehomeenvironmentAndthecontrolofhouseholdelectricalequipment.Theexperimentalresultsshowthatthesystemhasthecharacteristicsoflowpowerconsumption,remotereal-timemeasurementandcontrol,accuratedata,etc.,andhascertainpracticalapplicationvalue.Keywords:NB-IoT;SmartHome;lowpowerconsumption;cloudplatform;

目錄第1章緒論 第1章緒論課題研究背景與意義近年來,隨著科技的進步和物聯網技術的發展,萬物互聯時代來臨。人們對生活品質的要求越來越高,智能生活、智能家居、智能社區等概念已經深入到普通百姓家中。物聯網的核心和基礎是互聯網,一個基于互聯網的擴展和擴展網絡。它利用局域網或其他通信技術,以感知為目的,將機器與人連接起來,識別萬物之間的聯系,進而構建一個信息化智能化的網絡。智能家居是物聯網應用的重要組成部分,也是與普通人關系最密切的一個重要組成部分。智能家居的概念有著非常悠久的歷史,一百多年前就有這方面的設想,但當時的技術水平無法讓這個想法成為現實。自20世紀80年代以來,隨著科技的飛速發展,智能家居逐漸從概念走向現實,成為物聯網研究的重要核心課題。智能家居通過連接物聯網的各種設備來為用戶提供服務。目前傳統的家庭安防系統通常嵌入式網關安裝使用繁瑣,內部控制子系統相互獨立,整體難以形成有效連接,且存在組網布線復雜等問題。為了彌補上述不足,設計了一款智能家居系統,采用ZigBee技術與NB-IoT技術相結合進行無線組網,拓展了各子系統的功能,增強了相互之間聯動,安裝方便,同時還開發了手機微信小程序讓用戶更容易使用和管理系統。智能家居系統不僅僅是不同設備的簡單組合,而是一個可以相互通信的有機整體。它通過網絡將家庭監控、電視、照明、空調、洗衣機、門鎖和傳感器等設備連接到互聯網。用戶使用智能手機應用程序或計算機可以實時查看和控制家中的所有設備。隨著科技的不斷發展,未來會有越來越多全新的功能出現,比如語音控制等。國內物聯網產品推出較晚,穩定性、功能、價格均有提升空間。NB-IoT由LTE技術發展而來,是一種基于蜂窩的窄帶物聯網技術。具有覆蓋廣、終端成本低、海量連接等優勢。它非常適合于物聯網中智能家居系統的應用。本課題希望通過低功耗廣域網(Low-PowerWide-AreaNetwork,LPWAN)中的NB-IoT通信技術,開發出價格低廉、連接穩定、可擴展性強的智能家居系統。

國外智能家居的發展現狀智能家居的概念最初是為使家用電器而開發的。智能家居最初是為了使家用電器能夠自動控制而無需復雜的人工干預。后來歐美一些工業化國家擴展了這個概念,提出了“智能住宅”的概念。1984年美國聯合技術公司改造了康涅狄格州的一座舊建筑。大樓內的電梯、空調、照明均與計算機相連,通過計算機進行監控,實現信息化管理,這使地原本毫無關聯的功能整合成了一個有機的整體,實現了最初的智能化,可以說這就是智能家居的原型。這些智能家居概念中最為人熟知的就是“未來之家”,它由微軟之父比爾·蓋茨斥巨資9700萬美元,歷時七年建造。該建筑有許多傳感器,可以即時檢測到內部情況。環境發生變化時,允許計算機根據傳感器數據調整室內環境。此外,還有許多智能設備連接到傳感器。大眾對智能家居的概念有了初步的了解,其他國家也紛紛效仿,開發了自己的智能家居系統。下面介紹幾個國際上較為著名的參與智能家居研發的公司及其產品。三星智能家居HomeManagementSolution(HMS):這是由三星電子推出的智能家居平臺,該平臺整合了三星的智能家電設備,用戶可以通過移動終端的應用程序來管理已連我的智能家電設備。在感知到入室盜竊時,向智能手機發送提示短信,并自動錄像。三星的智能家居方案是使用Wi-Fi將智能家居終端連到Wi-Fi路由器上,通過連接網絡的手機APP來控制家里的設備。蘋果HomeKit:這是蘋果公司于2014年發布的智能家居平臺。在蘋果官網上可以看到,HomeKit目前支持的設備包括橋接器、攝像頭、燈泡、插座、開關等。HomeKit現在是蘋果系統的一部分,用戶可以通過蘋果手機、蘋果平板電腦或Siri語音助手來控制這些設備。Apple本身并不制造這些設備,而是連接到其他硬件制造商的智能家居設備。這些公司包括Nanleaf、Phlips、Kaiterra等。NestLabs:NestLabs是一家成立于2010年的公司。其產品包括智能恒溫器、煙霧探測器和安全系統。其最著名的產品是2011年推出的智能恒溫器。這款恒溫器具有可編程、自學習和傳感器控制功能。2014年,NestLabs被谷歌以32億美元收購,是繼125億美元收購摩托羅拉手機業務之后谷歌歷史上第二大現金收購,標志著谷歌進軍智能家居。Google通過Google語音助手以及智能家居核心處理系統GoogleHome對智能家居設備進行監測與控制。Philips:Philips公司在智能家居領域最著名的產品是PhilipsHue智能燈泡,該燈泡結合了Wi-Fi與LED技術,在提供照明的基礎上,通過連接互聯網來實現更多的應用,包括顯示天氣狀況、電子郵件、比賽結果等等。此外,Philips還為開發者開放了API接口和DevelopmentKitSDK,進一步豐富了Hue的功能。Philips近兩年也進入了智能鎖領域,以全自動推拉式智能鎖9200為例,這款產品僅一天就在淘寶眾籌達到500萬,Philips智能鎖具有自動上鎖、虛擬密碼、使用方便等優點。國內智能家居的發展現狀與歐美發達國家相比,我國的智能家居起步較晚。在21世紀之前,智能家居對于大眾來說只是一個遙遠的概念。在中國只有零星的進口銷售,幾乎沒有一家公司投資研發。但進入21世紀后,隨著我國科技水平和人民生活條件的提高,我國的智能家居產業也開始快速發展。百度、阿里巴巴、騰訊、京東、小米等互聯網企業紛紛推出相應的智能家居產品,比如騰訊QQ物聯、京東叮咚音箱等。此外,傳統家居行業也在不斷創新,正向智能家居領域進軍,例如海爾的“海爾U-Home”和美的“M-Smart”。下面簡單介紹一些國內較為著名的家庭智能家居系統。小米物聯:小米從2013年開始物聯網布局,現在小米物聯網是全球最大的物聯網平臺。小米物聯網主要產品包括小米網關、AI音箱、空調伴侶、智能電簾等。小米IoT的無線解決方案是Wi-Fi和ZigBee的結合。小米IoT的優勢在于產品豐富,即使Wi-Fi中斷,ZigBee設備也能繼續工作。此外,小米擁有自己的物聯網平臺(小米物聯網開發者平臺),方便產品和應用的接入。紫光UIOT超級智慧家:UIOT超級智能家居是上海紫光樂聯物聯網科技有限公司研發的新一代無線全家智能家居系統。其產品包括可視對講、ZigBee中繼器、物聯網門鎖、智能音箱、智能窗簾、智能家居服務器等。UIOT超級智能家居的無線解決方案是Wi-Fi和ZigBee的結合。UIOT超級智慧家連續三年獲得中國智能家居十大品牌,連續兩年獲得中國房地產首選智能家居品牌,可以看出,市場仍然是認可紫光UIOT超級智慧家。海爾U-Home:海爾是中國傳統家居行業的巨頭,近年來也不甘落后,進入智能家居行業。海爾U-Home的產品包括智能門鎖、核心網關、智能空調、智能冰箱、空氣凈化器、熱水器等。海爾的無線解決方案是Wi-Fi和ZigBee的結合。海爾U-Home的優勢在于,它依托海爾在傳統家居行業的布局,其產品更廣泛,生態鏈更豐富。對于智能冰箱、智能熱水器等大型設備,也有現成的解決方案。美的智慧:美的智能家居科技有限公司是美的集團下的一級事業部,其前身是美的智慧家居研究院。旗下產品包括AI音箱、智能衣架、智能鎖、空調服務員、探測器、網關等,美的也有自己的IoT開發者平臺,希望在這個平臺上構建M-Smart生態。華為、騰訊、小米、科大訊飛等公司均已完成產品與美的物聯網平臺的對接。根據IDC最新發布的《中國智能家居設備市場季度跟蹤報告,2020年第四季度》顯示,2020年第四季度中國智能家居設備市場出貨量為6,087萬臺,同比增長6.0%,銷售額為130億美元,同比增長4.4%。圖1.12019-2020年中國智能家居設備市場銷售額及同比增長率IDC預測,未來5年中國智能家居設備市場出貨量將以平均21.4%的速度持續增長,2025年市場出貨量將達到近5.4億臺。作為全屋智能解決方案中用戶流量接受度較高的應用場景,智能照明、安防和自動化設備的市場交付量將在未來五年快速增長。預計到2025年,中國智能照明設備市場銷量將超過1億臺,家庭安防監控設備銷量將接近1.2億臺,如圖1.2所示。圖1.22021-2023年中國智能家居設備市場出貨量及預測雖然國內智能家居發展非常迅速,但智能家居設備的出貨量仍然無法與傳統家居相媲美。事實證明,我國智能家居市場遠未飽和,相應的國家指導方針和法規也為智能產業開了綠燈??梢哉f智能家居在我國的前景一片光明。但我們也必須看到,在進一步發展的道路上,仍然存在一些障礙。其一是目前國內還沒有通用的智能家居行業標準,導致產品質量參差不齊,不同品牌的產品幾乎沒有兼容性,只支持自己的產品,無法在統一平臺下集成;其二在研發初期,大量資金投入重復性工作中,導致產品價格虛高,阻礙了智能家居的進一步發展。因此,開發一種適合我國智能家居情況的、具有良好兼容性和可靠性的控制系統具有十分重要的意義。課題研究內容與論文組織結構安排本課題針對目前我國智能家居發展的現狀,提出了一種基于窄帶物聯網(NB-IoT)技術的智能家居系統,利用NB-IoT技術與阿里云IoT平臺的特點設計一種擴展性好、連接穩定的智能家居系統。本課題設計的智能家居系統包括以下四個部分:智能家居終端設備、阿里云IoT平臺、微信小程序客戶端。該系統實現了智能手機客戶端對終端設備的控制以及終端設備的狀態顯示。本文的結構安排如下:第一章是緒論,主要介紹了物聯網以及智能家居的含義,介紹了國內外智能家居的發展現狀,闡述了本課題的研究意義,最后對本論文的內容及章節進行了說明。第二章主要內容是系統總體方案設計,首先確定本智能家居系統要實現的功能,然后簡單介紹了整個智能家居的總體設計方案,然后介紹了集中智能家居中常用的無線通信方式及其優缺點并闡明選擇使用NB-IoT技術的理由。第三章的主要內容是智能家居系統終端的硬件設計,以CC2530與BC26為例,首先詳細介紹了終端設備核心的硬件設計,然后介紹了終端設備傳感器與通信模塊的硬件設計。第四章的主要內容是介紹了智能家居系統終端軟件的設計,首先詳細介紹了智能家居系統終端的軟件開發環境,然后以終端監測模塊為例介紹了溫濕度采集,可燃氣體濃度采集,光照值采集和傳感器與控制程序的軟件開發,隨后介紹了BC26通信模塊和阿里云IoT平臺的軟件設計。第五章的主要內容是微信小程序客戶端的設計,首先介紹了微信小程序,闡述微信小程序客戶端的框架系統,然后介紹了服務端與客戶端的交互,最后是客戶端的總體設計與具體實現。第六章的主要內容是通過對基于NB-IoT的智能家居系統設計的功能結構進行分析調試,完成了微信小程序客戶端的設計與開發。搭建測試環境,從傳感器檢測當前環境狀況到無線通信網絡傳輸質量測試,最后到總體系統進行測試,完成了整個系統的功能測試,驗證了系統的工作狀態和穩定性,確保系統滿足設計初始要求。第七章是總結與展望,首先對本課題的研究工作進行總結,然后分析當前系統的優缺點,指出有待完善與改進之出,立足當下,展望未來。

第2章智能家居系統的總體方案設計本章將要介紹本智能家居系統的總體構架以及工作流程,然后介紹總體構架中的重要組成部分,還會比較幾種廣泛用于智能家居的無線通信方案的優缺點,最終采用NB-IoT技術來實現數據的交互。智能家居系統的總體構架和工作流程本課題的目的是建立一個基于NB-IoT的智能家居系統,本設計的智能家居系統包括五個部分,分別是ZigBee終端節點模塊,ZigBee協調器節點模塊,NB-IoT通信模塊,阿里云IoT平臺和微信小程序客戶端。本課題設計的智能家居系統需實現如下幾個主要功能:(1)實現對智能家居環境進行實時監測,如:溫濕度檢測、可燃氣體濃度檢測、光照值檢測等。(2)實現系統低功耗,本系統終端設備大量部署在家居中,家居內部結構復雜需綜合考慮系統總體功耗。(3)實現遠程監控,平臺管理者可以在微信小程序客戶端上遠程監控終端設備。包括各區域溫濕度參數、光照值以及可燃氣體參數等,使系統運轉更加穩定安全??紤]到上述所需實現的功能,本課題通過對目前的ZigBee、LoRa和NB-IoT等幾種主流的無線通信方式進行比較分析,選擇ZigBee技術結合NB-IoT通信技術實現智能家居環境的檢測與上傳。系統上報數據的流程如下:首先ZigBee終端節點設備采集數據傳輸至ZigBee終端協調器設備,ZigBee終端協調器設備通過NB-IoT把數據上傳至運營商基站,基站通過MQTT協議上報數據到阿里云IoT平臺,然后微信小程序客戶端通過云端API接口獲取數據并在微信小程序客戶端顯示設備狀態。在家居內部由于不同地點所需要監測的環境數據不同,采用不同的傳感器作為感知節點,在一定范圍內通過ZigBee實現各監測子節點間的數據傳輸,最后通過協調器節點完成整體的環境參數處理和上傳。系統的環境監測模塊以傳感器為感知節點,如:溫濕度傳感器模塊、可燃氣體傳感器模塊等,實現對環境參數的檢測;以ZigBee為終端節點互聯的無線模塊,完成小范圍內環境數據傳輸;以CC2530為控制模塊,完成終端節點的環境數據的采集并實現底層參數的發送與接收。感知節點檢測數據且完成預處理,再通過ZigBee終端協調器設備將數據包送至NB-IoT通信模塊,完成數據上傳。本課題的終端監測節點與協調器節點中,數據的采集與處理根據設計要求均選擇CC2530為主控芯片。NB-IoT通信采用BC26模塊,該模式有喚醒模式(Active模式),輕休眠模式(Idle模式)和深睡眠模式(PSM模式),當模塊處于PSM模式時,將關閉聯網活動,包括搜尋小區消息,小區重選等,主要目的是降低模塊功耗。智能家居系統的系統總體架構,如下圖2.1所示。圖2.1系統總體架構圖接下來將簡單介紹智能家居系統的各個組成部分。終端設備各終端設備包括了溫度濕度傳感器,光照傳感器和可燃氣體傳感器等。傳感器適用于感知溫度、濕度、光照、可燃氣體等環境信息,每經過一定時間段或某些信息超過閾值,就將數據上報給平臺,然后通過平臺通知用戶。這類終端的主要難點是大部分傳感器靠電池運行,需要降低其運行的功耗,降低功耗。不過這類終端不需要實時地接收下發的命令,所以可以采用休眠-喚醒的機制來控制功耗,由于NB-IoT的模塊默認就有休眠-喚醒機制所以實現低功耗相對比較簡單。

阿里云IoT平臺阿里云物聯網平臺是一個集設備管理、數據安全通信、消息訂閱功能于一體的綜合平臺。向下支持連接大量設備,采集設備數據上云;提供云端API,服務器可以通過調用云端API向設備發出指令,實現遠程控制。物聯網平臺與設備、服務端、客戶端的消息通信流程如圖所示。圖2.2消息通信流程圖上行通信設備通過MQTT協議與物聯網平臺建立長連接,上報數據(通過Publish發布Topic和Payload)到物聯網平臺。通過AMQP消費組,將設備消息流轉到您的業務服務器上。通過物聯網平臺的云產品流轉功能,處理設備上報數據,將處理后的數據轉發到RDS、表格存儲、函數計算、TSDB、企業版實例內的時序數據存儲、DataHub、消息隊列RocketMQ等云產品中,進行存儲和處理。下行指令通過業務應用下發指令,使業務服務器調用基于HTTPS協議的API接口Pub,給Topic發送指令,將數據發送到物聯網平臺。物聯網平臺通過MQTT協議,使用Publish發送數據(指定Topic和Payload)到設備端。微信小程序客戶端微信小程序客戶端可以分為三部分內容,第一部分是與用戶交互的UI界面,包括輸入產品ProductKey進行查詢,設備管理,設備狀態顯示;第二部分是后臺的監聽服務,監聽來自服務器的消息并即時更新UI的顯示;第三部分是信息通信部分,負責與服務器進行通信。這三部分進行協作就可以完成人機頁面交互,可以實現實時地顯示終端狀態。無線傳感網絡無線傳感網絡節點是該無線傳感網絡下的子裝置,即可以通過預先定義的無線通信協議,節點可以以多跳自組織的方式建立一個完整的無線傳感網絡,在本系統所構建的網絡中以功能可劃分為終端節點、協調器節點、路由節點。終端節點在無線傳感網絡中非常關鍵,它是數據采集裝置,主要的工作就是采集家居內部的環境參數,通過終端節點中微處理器初步的數據處理之后將數據上傳到路由節點;路由節點的主要工作是管理范圍內的終端節點的分簇和進一步處理來自終端節點的數據,隨后將這些數據傳輸到級別更高的節點,也就是協調器節點;無線傳感網絡的核心控制部分就是協調器節點,它的主要工作是將數據通過NB-IoT傳輸模塊上傳到云端監控中心并分配任務到終端節點,據系統設計要求,無線傳感網絡結構如圖2.3所示。圖2.3無線傳感網絡結構圖在本系統中,ZigBee網絡中的設備根據其功能可分為協調器節點(Coordinator),路由節點(Router),終端傳感器節點(EndDevice)三種角色。終端節點在ZigBee無線網絡中主要負責所需數據的采集工作,如外部環境溫濕度、設備狀態參數等,并沒有特定的網絡維護的責任。終端節點上通常安裝有特定功能的傳感器或者電路設計,負責數據采集,然后將采集的數據發送至協調器或者路由器。同時終端節點可接收協調器發送的控制指令,實現對蜂鳴器、繼電器的有效控制。因為終端節點安裝在外部環境或者工業現場,有線供電較為復雜,通常采用電池供電的方式。路由器節點在無線傳感網絡中主要負責接收來自終端節點的數據并進行轉發,實現路由功能,并對終端節點的入網請求進行審核,當自己的子節點通信異常時協助終端節點進行設備通信。在同一個ZigBee網絡中,可有一個或多個路由器節點。協調器節點是ZigBee無線傳感網絡中的核心設備,協調器作為一種啟動、配置網絡的設備,其主要負責構建和啟動ZigBee無線網絡,并對ZigBee無線傳感網絡進行管理,一個ZigBee網絡中有且僅有一個協調器節點。設備通電后,協調器隨機選取一個信道和網絡ID,然后啟動無線傳感網絡,完成無線傳感網絡的構建和啟動功能,同時協調器也可與網絡中的應用層綁定。ZigBee網絡中有兩種工作模式,分別為信標(Beacon)模式和非信標模式(Non-beacon)。在信標模式下,網絡中的所有設備同步工作或者同步睡眠,協調器以一定的時間間隔(一般為15ms)向網絡廣播信標,兩個信標幀之間有16個相同的時槽,時槽的兩部分分別為睡眠區和活動區,數據傳輸只能在活動區進行,以實現最大程度的低功耗。在非信標模式下,父節點為終端子節點緩存數據,子節點主動向其父節點提取數據,通過設置提取周期實現終端節點的周期性。通信方式介紹與選擇終端無線通信協議的選擇在物聯網設備的通信協議中,無線通信協議由于有布置方便易于擴展的有點而被人們普遍采用。較為主流的無線通信協議有以下幾種:Zigbee,Wi-Fi,Bluetooth,433MHZ等技術,表1對這幾種技術進行了對比。表1幾種流行的無線通信技術對比無線技術ZigBeeWi-Fi藍牙443MHZNB-IoT功耗很低高較高低很低設備數量(一個網絡)65535507200020000傳輸速率250Kbps108Mbps1Mbps9.6Kbps250Kbps通信標準IEEE802.15.4IEEE802.11bIEEE802.15.1IEEE802.15.3a5G安全性高中中低高通信距離50-100M20-100M10M1500M+10KM+短距離連接技術短距離連接技術主要為藍牙技術與無線射頻識別即射頻識別技術(RFID)。藍牙技術是一種在業界備受關注的短距離無線連接技術。它是一種無線數據與語音通信的開放性全球規范。它以低成本的短距離無線連接為基礎,可為固定的或移動的終端設備提供廉價的接入服務。藍牙可以實現方便、快捷、靈活、安全、廉價、低功耗的設備間數據和語音通信,因此它是實現無線個域網通信的主流技術之一。其本質是為固定設備或移動設備之間的通信環境創建一個通用的短距離無線接口。它還將通信技術與計算機技術相結合,使不同的設備可以相互無線連接。實現近距離相互通信或近距離操作。其傳輸頻段為全球公眾通用的2.4GHzISM頻段,提供1Mbps的傳輸速率和10m的傳輸距離。無線射頻識別即射頻識別技術(RadioFrequencyIdentification,RFID),是自動識別技術的一種,通過無線射頻方式進行非接觸雙向數據通信,利用無線射頻方式對記錄媒體(電子標簽或射頻卡)進行讀寫,從而達到識別目標和數據交換的目的,RFID在信息的實時更新、信息存儲、壽命、工作效率和安全方面具有優勢。其被全球高科技領域認為是21世紀最有市場前景,最具改變人類生活方式和最具發展潛力的信息技術之一。無線射頻識別技術通過無線電波不接觸快速信息交換和存儲技術,通過無線通信結合數據訪問技術,然后連接數據庫系統,加以實現非接觸式的雙向通信,從而達到了識別的目的,用于數據交換,串聯起一個極其復雜的系統。在識別系統中,通過電磁波實現電子標簽的讀寫與通信。根據通信距離,可分為近場和遠場,為此讀/寫設備和電子標簽之間的數據交換方式也對應地被分為負載調制和反向散射調制。無線射頻識別即射頻識別技術(RFID)是最早實現自動識別的物聯網應用技術之一,它為需要定位的物聯網應用場合提供相應的解決方案。中距離連接技術中距離連接技術主要為ZigBee技術與Thread技術。ZigBee無線網絡協議由五層組成。其中媒體訪問層(MAC)和物理層(PHY)由IEEE802.15.4標準定義。在此基礎上,ZigBee聯盟定義了網絡層(NWK),應用程序支持子層(APS)和應用層(APL)。為了使設備之間的通信更加有效和穩定,制定了ZigBee通信協議標準來完成數據傳輸。通信協議采用分的思想構建,使各層協議之間相互獨立,各層提供相應的服務。具體服務由通信協議制定,為了讓協議中每層協議之間有機結合起來,有條不紊的運行,便推出了協議棧。協議棧是通信協議的具體表現形式,將通信協議中的不同功能分塊具體實現,協議棧定義了通信硬件和軟件之間如何協調工作。目前,供開發者使用的ZigBee通信協議棧有很多,但應用最廣泛的是TexasInstruments公司推出的Z-Stack協議棧,該協議棧符合ZigBee聯盟制定的相關標準,由于該協議棧簡單,對用戶開放,因此受到了眾多用戶的青睞,成為應用最廣泛地ZigBee協議棧。其中,Z-Stack協議棧是將ZigBee通信協議的所有協議集合在一起,以函數的形式表現其每一個相應的功能,并向用戶提供API(應用層)接口供用戶直接調用。整個Z-Stack協議棧采用分層結構,包括硬件抽象層(HAL)和操作系統抽象層(OSAL)。HAL為系統提供各種硬件模塊的驅動,包括通用IO口GPIO,模數轉換ADC的應用程序接口API,通用異步收發器串行端口UART提供各種服務的擴展集。OSAL是一個易于操作的系統平臺。它可以通過時間片旋轉調用不同函數,實現不同的人員調度,提供多任務處理機制。Zigbee協議在滿足條件的情況下,協調器將會自動組網。Zigbee組網有兩個鮮明的特點:①一個Zigbee網絡的理論最大節點數就是2的16次方也就是65536個節點,遠遠超過藍牙的8個和Wi-Fi的32個。②網絡中的任意節點之間都可進行數據通訊。在有模塊加入和撤出時,網絡具有自動修復功能。這里有一個簡單的例子:當一些人各自擁有一個網絡模塊終端時,只要他們在網絡模塊通信的范圍內自動找到對方,他們就可以快速形成互連的網絡。此外,由于人員的流動,他們之間的網絡連接也會發生變化。因此,該模塊還可以通過重新搜索通信對象,確定它們之間的聯系來重置原始網絡,這就是Zigbee的自組網。Thread技術則普遍應用于智能家居行業,采用的IPv6連接實現了設備之間的通信,用戶可以通過Thread移動應用進行交互。長距離連接技術長距離連接技術主要有NB-IoT技術,LTECatM1技術和LoRaWAN技術。NB-IoT是3GPP技術的產物,可確保極低的功耗。另外,它可以利用現有的網絡基礎設施,再不需要構建本地網絡的情況下,在LTE網絡內平穩的運行,且RSSI指標好,信號質量優異。LTECatM1的實質是一種廣域網,可以實現中等數據處理方式的網絡連接,如M2M(MachinetoMachine)設備。由于跟現在的LTE網絡有很好的兼容,CatM1不需要運營商重新建立獨立的基礎設施來實現通信,另外,該技術通過VoLTE(LTE語音)支持語音功能。LoRaWAN實驗測得其功耗非常低,測試的傳輸距離遠。供給廣域網(WAN)工程使用,LoRaWAN提出的意義在于為低功耗的廣域網提供相應的功能,并支持數百萬設備相互連接的大型網絡,實現IoT通信、M2M等應用中的低成本、移動和安全的雙向通信。從以上中我們可以看出,Wi-Fi適合于對于數據傳輸速度較高的場合,比如說智能攝像頭等;而藍牙則適合穿戴式的設備,ZigBee的使用場景是近距離低速率的場合,比如傳感器等。本課題最終選用長距離傳輸采用NB-IoT技術,家居內短距離傳輸選擇ZigBee技術,實現相鄰終端節點數據的通信,將接收到的感知節點的環境參數上傳至阿里云IoT平臺的技術主要原因如下:首先功耗很低,非常適合一些傳感器類的設備﹔其次成本低,有利于推廣;然后是覆蓋范圍廣,連接可靠。終端設備到平臺應用層通信協議的選擇目前針對物聯網場景的應用層通信協議有兩種:CoAP與MQTT。CoAP是一種基于UDP的通信協議,CoAP是一個在Client和Server之間傳遞狀態信息的單對單協議。雖然它支持觀察資源,但是CoAP最適合狀態轉移模型,而不是單純的基于事件。MQTT是IBM開發的基于TCP的一個即時通信協議,適合于多對多的即時通信的場合,優點是由于使用的是TCP長連接,所以進行雙向控制較為簡單,并且有著非常小的通信開銷(最小的消息大小為2字節)。MQTT提供三種不同消息傳遞等級,讓消息能按需到達目的地,為低帶寬和不穩定的網絡環境中的物聯網設備提供可靠的網絡服務,適應在不穩定工作的網絡傳輸需求。NB-IoT技術介紹窄帶物聯網(NarrowBandInternetofThings,NB-IoT)已經成為物聯網的一個重要分支。NB-IoT基于蜂窩網絡,僅消耗180kHz左右的帶寬??梢灾苯釉贕SM網絡、UMTS網絡或LTE網絡中直接部署,以降低部署成本并實現平滑升級。覆蓋廣與傳統GSM相比,一個基站可以提供10倍的面積覆蓋一個NB-IOT基站可以覆蓋10km的范圍,一個基站就可以覆蓋一個小縣城范圍。同時NB-IoT比LTE和GPRS基站提高了20dB的增益??筛采w地下停車場、地下室、地下管線等信號難以到達的場所。在地下不可能有信號打電話,但NB-IOT仍然還是可以通信的。大連接與現有無線技術相比,同一基站下的接入次數增多了50至100倍,每個小區可實現5萬個連接,這是實現萬物互聯所需要的海量連接。其原理是:1.基于對延遲不敏感的特性,使用采用話務模型來存儲更多接入設備的上下文,并在休眠狀態和活動狀態之間進行切換;2、窄帶物聯網上行調度顆粒小,資源使用率更高;3、減少空口信令交互,增加頻譜密度。低功耗NB-IoT在LTE系統的非連續接收(DiscontinuousReception,DRX)基礎上進行優化,采用功耗節省模式(PowerSavingMode,PSM)和增強型非連續接收(EnhancedDiscontinuousReception,eDRX)兩種模式。這兩種模式都是通過用戶終端發起請求和移動性管理實體(MobilityManagementEntity,MME)核心網協商的方式來確定。用戶可以單獨使用PSM和eDRX省電模式之一,也可以同時激活啟用。NB-IoT引入eDRX節能技術和PSM節能模式,進一步降低功耗,延長電池使用壽命。在PSM模式下,終端設備仍然在網絡中注冊,但信令無法到達,因此終端設備保持更長時間的深度睡眠以節省電力。eDRX節能技術進一步延長了終端空閑模式下的睡眠周期時間,減少了接收單元不必要的啟動,相比PSM顯著提高了下行可達性。本章小結本章詳細論述了系統的設計方案和設計目標。根據設計目標,提出了智能家居系統的總體架構設計方案,首先完成總體系統設計構思,整體設計思路包括終端監測節點設備、協調器模塊、通信模塊、阿里云IoT平臺以及微信小程序,大致介紹了實驗中所選用的傳感器,并對模塊所要實現的功能進行具體分析。針對環境數據的傳輸部分給出了相應的技術,并對NB-IoT技術作詳細的介紹。最后對整個系統的軟、硬件開發平臺進行了介紹,針對云平臺通信協議部分采用的是MQTT,并基于阿里云IoT平臺構建云平臺,從而實現微信小程序上實時地顯示終端狀態。

第3章智能家居系統終端硬件設計智能家居系統總體設計智能家居系統的終端監控設備不僅監測環境數據,同時實現數據的傳輸與處理。作為監控節點的同時也作為家居內部感知網絡與外部服務器端通信的節點。在總體設計這一智能家居系統時,根據現場情況要考慮到系統運行時的安全穩定和節點的成本功耗,低功耗也保證著系統的可靠運行。系統終端的總體設計主要分為兩個部分,包括ZigBee終端節點和協調器模塊兩部分。ZigBee終端節點硬件由多傳感器模塊、CC2530控制器模塊、協調器模塊和外圍供電模塊等構成,控制器模塊選擇CC2530芯片作為主控芯片。如下圖5所示,其中傳感器檢測部分由于實驗需要采用一個CC2530接單個傳感器,傳感器分別選擇溫濕度傳感器、氣體傳感器和光照值傳感器。ZigBee協調器節點在其基礎上采用NB-IoT通信模塊來實現數據的上傳。傳感器作為系統的前端環境探測部分,完成智能家居外部溫度(CurrentTemperature)值,外部濕度(CurrentHumidity)值,內部環境溫度(EnvironmentTemperature)值,內部環境濕度(EnvironmentHumidity)值,可燃氣體濃度百分比和光照值百分比等數據的采集。在ZigBee節點中控制器選用CC2530芯片,對采集到的數據進行管理再配合ZigBee協調器完成數據的上傳,實現對智能家居內部環境安全的監測。通信模塊實現家居內部環境數據的傳輸與遠程命令的接收。圖3.1ZigBee終端節點設計框圖

主控模塊及外圍電路CC2530芯片介紹在本系統中,選用了TexasInstruments公司開發生產的CC2530芯片作為終端節點的控制模塊,該芯片內部集成了增強型8051微處理器,RF收發器、高達256KB可編程閃存以及8KBRAM等。其使用的微處理器內核是一個單周期的內核與8051兼容。其使用的8051CPU內核是一個單周期的8051兼容內核,它有三個不同的存儲器訪問總線(SFR、DATA和CODE/XDATA),以單周期訪問SFR、DATA和主SRAM。它還包括一個調試接口和一個18輸入的擴展中斷單元。圖3.2CC2530內部結構原理圖該MCU在訪問SFR,DATA和主SRAM時,其訪問方式為單周期操作。當MCU處于非工作狀態時,通過中斷指令可令CC2530從掛起中醒過來。某些中斷還可以將CC2530從睡眠模式喚醒。該芯片能夠與IEEE802.15.4協議完美結合,支持使用成熟的Z-stack標準協議棧。CC2530芯片抗干擾能力強,能夠有效地抑制電磁等干擾,非常適用于低功耗無線傳感網絡監測。CC2530采用32MHz的運行時鐘,其在外界環境溫度為-40℃~125℃以及外部供電范圍為2.0V~3.6V的條件下運行能達到最好的效果,說明CC2530有很好的適用性。CC2530將許多外圍電路集成到芯片內部,只需要少量的外圍電路即可使系統運行正常。CC2530包含21個標準可配置IO口,其中PO引腳可配置成模擬輸入端口。包含兩路串行通信接口:USART0和USART1,在使用時可以配置寄存器來選擇指定的串口,串口支持UART模式和SPI模式。CC2530自帶5個定時器:定時器1-4和睡眠定時器。定時器1、3-4具有定時計數和PWM功能,定時器2為協議棧專用支持IEEE標準協議。5號睡眠定時器用于計算晶振在一個周期內的振蕩次數。CC2530中使用的AES算法能夠利用其它算法完成對128位密鑰的AES算法加密和解密,保證了網絡層和應用層的數據安全。CC2530模塊如圖3.2所示。本系統采用CC2530芯片作為主控制器,在低功耗、短啟動時間和多種喚醒事件之間取得最佳的運行平衡點。同時,當進入關機或待機模式時,對應的時鐘不會被停止。其CC2530最小系統原理圖如下圖3.3所示。圖3.3CC2530最小系統電路圖電源電路設計在設計中系統有兩種供電方式,一種是使用鋰電池直接供電,另一種是使用USB輸出供電。系統中測試板的輸入電源電壓為5V,其中CC2530工作時標準電壓為2V至3.6V,所以使用5V轉3.6V穩壓器進行電源轉換,再完成3.6V轉3.3V即可滿足終端節點正常工作。首先通過降壓電路實現5V-3.6V,由于本系統中通信模塊選擇的是BC26,該模塊在正常工作時,電壓為3.6V。因此,通過降壓電路可完成其電壓管理,終端系統的電源管理電路設計如圖3.4所示。圖3.4電源管理電路圖串口電路設計串口電路主要用于無線網絡服務器和PC機之間的雙向數據通信,考慮到目前大都數筆記本電腦不帶9孔RS232串口,本次設計采用CH340C設計的USB轉串口電路。CH340C芯片支持5V電源電壓或者3.3V電源電壓。當使用5V電源電壓供電時,為消除電源電壓干擾的影響,V3引腳應該接0.1uF的電源退耦電容。在使用3.3V電源電壓供電,此時電源電壓無干擾產生,因此,本系統中該模塊的VCC引腳可直接與V3引腳串聯,實驗時,考慮到其他電路與該芯片連接,必須保持其外圍電路工作電壓不超過3.3V。根據實驗要求驗證其電氣參數如下表2所示。表2CH340C電氣參數測試名稱參數說明最小值典型值最大值單位VCC電源電壓V3引腳不連VCC引腳4.555.3VV3引腳連接VCC引腳ICC工作時總電源電流1230mAISLPUSB掛起時的總電源電流VCC=5V0.150.2mAVCC=3.3V0.050.08mAVIL低電平輸入電壓-0.50.7VVIH高電平輸入電壓2.0VCC+0.5VVOL低電平輸出電壓(4mA吸入電流)0.5VVOH高電平輸出電壓(3mA輸出電流)(芯片復位期間僅100μA輸出電流)VCC-0.5VIUP內置上拉電阻的輸入端的輸入電流3150300μAIDN內置下拉電阻的輸入端的輸入電流-50-150-300μAVR電源上電復位的電壓門限V串行口芯片CH340C作為一款USB總線傳輸芯片,可實現數據資源的轉接,其具有全速USB設備接口,最高支持2Mbps的通訊波特率,可以采用5V或者3.3V供電。在供電處并聯兩個穩壓濾波電容,根據CC2530中文使用手冊,只需要將CH340C的TXD端與CC2530的PO-2端連接即可,將RXD管腳與CC2530的PO-3管腳連接即可。系統串口電路設計圖下3.5所示。圖3.5串口電路設計圖

傳感器模塊設計溫濕度傳感器在本設計中考慮到需要長期有效的對環境溫濕度進行檢測,并且盡量在不考慮額外部件的同時保證其較長的信號傳輸距離以及超低的能耗。因此,本系統中對環境Temp和Humi參數的采集是利用DHT11芯片來完成,該傳感器是一種常見復合傳感器,其輸出的數字信號是已完成校準的信號,校準系數儲存在OTP內存里。在實驗中需要對環境的檢測信號進行初步處理時,直接調用內存中的校準系數程序。傳感器由電阻式的濕敏元件完成Humi參數的檢測,而Temp參數可根據內部NTC測溫元件完成檢測。其測濕精度為±5%RH,測溫精度為±2℃,測量范圍:20-90%RH、0-50℃。其典型應用電路如下圖3.6所示。圖3.6DHT11溫濕度傳感器電路圖DHT11采用單總線數據格式,一個通信周期約為4ms,單次完整的數據傳輸周期其數據傳輸為40bit,分別為:前十六位為濕度參數,前十六位中前八位為濕度整數數據,后八位濕度小數數據,后十六位為溫度參數,后十六位中前八位溫度整數數據,后八位溫度小數數據,最后八位為校驗和,高位先出。DHT11的供電電壓為3V-5.5V。實驗開始通電,為越過模塊的不穩定狀態,需要等待1秒的延時時間,在此期間控制器無需發送任何指令。在本系統中DHT11與CC2530的通過PO-7口連接,根據實際的連接線長度范圍(<20m)采用5K的上拉電阻。實驗時,需要在VDD與GND引腳之間添加100nF的旁路電容,用來去耦濾波,實現MCU與傳感器之間的正常通信。

MQ-2傳感器在實驗時根據設計要求,當傳感器所處環境中存在可燃氣體,使用簡單電路將電導率的變化轉換為與該氣體濃度相對應的輸出信號,傳感器的電導率隨空中可燃氣體濃度的增大而增大。同時根據設計要求的高靈敏度、快速響應恢復以及簡單的驅動電路,本系統中對室內氣體參數檢測采用的是MQ-2氣體傳感器對比其他幾種半導體傳感器的可燃氣體參數,如下表3所示。本設計選用的MQ-傳感器對甲烷、液化氣、氫氣具有較高的靈敏度,同時對天然氣、LPG(液化石油氣)也有一定的探測。其檢測可燃氣體與煙霧的范圍是100ppm至10000ppm,適合本設計要求。表3幾種可燃氣體傳感器對比名稱MQ-2MQ-4MQ-5MQ-6監測氣體甲烷,氫氣等甲烷液化氣,甲烷丙烷檢測濃度100-10000ppm300-10000ppm300-10000ppm300-10000ppm圖3.7MQ-2氣體傳感器電路圖MQ-2氣體傳感器設計電路如上圖3.7所示。MQ-2氣體傳感器的輸出可以是模擬量格式,同時也可輸出TTL電平信號。TTL輸出可直接對接MCU的I/O口,在低電平下有效。模擬量輸出隨檢測氣體濃度的升高而增大,輸出電壓為0-5V。在本設計中氣體傳感器的AUOT端口與CC2530連接通過PO-5口完成數據傳輸,AOUT接口輸出的信號為電壓,該電壓值會隨著氣體的影響慢慢增大。MQ-2的4引腳輸出為直流信號,隨可燃氣體濃度變化而變化,通常情況下與比較器相連接,系統中當輸出電壓高于設定的初始門檻電壓,輸出報警信號。5516光敏電阻傳感器模塊圖3.8光照值傳感器電路圖根據實驗過程中的設計要求,光敏電阻是由硫化鎘或硒化鎘等半導體材料制成的特殊電阻。它的工作原理是當傳感器所在的環境中有光時,基于內部光電效應,光線越強,電阻值越低。隨著光強度的增加,電阻值迅速下降,光電阻值可以小到1KΩ以下。光敏電阻對光非常敏感。無光時處于高阻狀態,暗電阻一般可達1.5MΩ。當受光照射時,半導體片(光敏層)內就激發出電子—空穴對,參與導電,增強電路中的電流。為了達到高靈敏度,光敏電阻的電極常采用梳狀圖案,它是在一定的掩膜下向光電導薄膜上蒸鍍金或銦等金屬形成的。同時根據設計要求的高靈敏度、快速響應恢復以及簡單的驅動電路,本系統中對室內光照值參數檢測采用的是5516光敏電阻對比其他幾種光敏電阻的光照值參數,如下表4所示。本設計選用的5516光敏電阻具有較高的靈敏度,同時最大功耗為90mW,對比其他光敏電阻有功耗優勢。其工作的溫度范圍是-30至+70度,適合本設計要求。表4幾種光敏電阻對比型號VDCmW環境溫度(℃)光譜峰值(nm)亮電阻(10Lux)(KΩ)暗電阻(MΩ)100γ10上升下降照度電阻特性GL551615090-30~+705405-100.50.530302GL5528150100-30~+7054010-2010.620303GL5537-1150100-30~+7054020-3020.620304GL5537-2150100-30~+7054030-5030.720304GL5539150100-30~+7054050-10050.820305GL5549150100-30~+70540100-200100.920306通信模塊硬件設計本系統采用NB-IoT通信模塊實現智能家居環境系統的網絡連接,完成數據的傳輸。目前整個市場上基于NB-IoT的通信的模塊良莠不齊,本設計選擇幾種對比結果如下表5所示表5NB-IOT通信模塊對比模塊型號BC26NB05-01SARA-N201BC95頻段699-2110MHZ850MHZ703-960MHZ850MHZ網絡中國移動中國電信GSM中國電信BC26是一款高性能、低功耗的NB物聯網系列模塊。通過NB-IoT無線電通信協議(3GPPRel.13和3GPPRel.14)與終端節點基礎設備建立通信。BC26提供豐富的外部接口,如下:UART,SPI,ADC。其協議棧包括UDP/TCP、CoAP和LWM2M等,同時也支持阿里云IoT平臺,使其成為IoT應用領域的理想選擇,本課題中選擇與阿里云IoT平臺配合,完成云平臺構建。根據上文設計的3.3V電源電壓正好滿足該模塊的2.1V-3.63V供電電壓范圍。該模塊的正常工作模式分為Active,Idle和PSM三種,即連接、空閑和節能模式。在省電模式中可采用DRX以及eDRX技術。為實現節能省電,模塊工作于每個DRX周期監聽一次尋呼通道,檢查下行業務是否具有應答。而eDRX相對于DRX具有更長的尋呼周期,但下行數據延時時間長,為解決這一問題模塊只能在尋呼時間窗口(PgingTimeWindow,PTW)內按DRX工作模式運行。模塊在PSM模式下具有極低的耗流,該模塊在T3324定時器超時后進入PSM,同時也可通過PWRKEY或者PSM_EINT喚醒PSM。其電路原理圖如下圖3.9所示。圖3.9BC26通信模塊電路圖在本設計系統中,BC26通信模塊與MCU(CC2530)使用串口1進行通信,即CC2530通過串口1向BC26發送AT指令,控制BC26傳輸數據。其BC26的主串口TXD和RXD先與阻值為1K歐的電阻連接再與CC2530串口連接。BC26的UART接口的串口電平設定值為1.8V,本應用系統的提供的電壓為3.3V,故需要進行串口電平轉換。電平轉換電路設計如下圖3.10所示。圖3.10電平轉換電路圖CC2530的VBRT-RF為模塊的天線接口,端口阻抗為50歐,出口端通常選擇π型匹配電路,在本設計中為了更好地調節射頻性能選擇增加并聯電容。本章小結本章首先提出了智能家居系統終端硬件的總體設計,然后重點介紹了傳感節點的硬件設計。根據設計要求選擇CC2530作為系統的主控模塊,完成其外圍電源的供電電路及檢測模塊電路的設計。終端監測節點模塊給出了溫度、濕度、可燃氣體以及光照值的設計方案。NB-IoT通信模塊選擇移遠的BC26模塊,并對芯片進行簡單的介紹,設計完成BC26與CC2530的電路連接。實現系統總體硬件電路的設計。

第4章智能家居系統終端軟件設計開發環境簡介在本次系統設計中,ZigBee網絡中的硬件單元采用TexasInstrument公司的CC2530模塊,軟件是基于TexasInstrument公司推出的Z-Stack協議棧來實現,因此在軟件設計中采用IARSystems公司專門為微處理器開發的嵌入式系統開發工具IAREmbeddedWorkbench。IAREmbeddedWorkbench是一款微處理器集成開發軟件,支持ARM,MSP430,AVR等芯片內核平臺,它集成了項目管理器,C/C++編譯器,庫管理器等工具。其軟件運行環境界面如圖4.1所示。圖4.1IAREmbeddedWorkbench軟件開發圖

終端監測模塊軟件設計溫濕度采集軟件設計在本實驗中,環境Temp數據和Humi數據采集選用DHT11傳感器。這是一個具有校準數字信號輸出的復合數字量傳感器。采集節點根據測量時序讀取監測環境參數信號。DHT11發出串行單總線數據,CC2530按照單總線格式發送命令以及讀取數據。其工作流程圖如下圖4.2所示。圖4.2溫濕度傳感器工作流程實驗中配置使用串口以及P0_7來完成溫濕度參數的采集,其部分代碼為:SFRBIT(

P0

,

0x80,

P0_7,

P0_6,

P0_5,

P0_4,

P0_3,

P0_2,

P0_1,

P0_0

)#define

DATA_PIN

P0_7DHT11采用單總線數據格式,傳感器內部濕度和溫度數據40Bit的數據一次性傳給單片機,前16位為濕度參數,前8bit為濕度整數數據,后8bit為濕度小數數據。中間16位為溫度參數,前8bit為溫度整數數據,后8bit為溫度小數數據。最后8bit校驗和,全部數據采用校驗和方式進行校驗,校驗方式為數據前四個字節相加,有效的保證數據傳輸的準確性。其主程序為:

DHT11_TEST();//溫濕度值

idstr[0]

=

ENDNUM

+

0x30;

idstr[1]

=

0x00;

temp[0]=wendu_shi+0x30;

temp[1]=wendu_ge+0x30;

temp[2]

=

0x00;

humi[0]=shidu_shi+0x30;

humi[1]=shidu_ge+0x30;

humi[2]=

0x00;//把溫濕度數據進行發送氣體濃度采集軟件設計在本實驗中,選用MQ-2氣體傳感器實現可燃氣體濃度數據的采集,低電平有效,模擬量輸出隨待檢測的有害(可燃)氣體濃度的開高而增加。實驗時,測量引腳選擇主控制器的PO_5,當可燃氣體濃度高于初始的設定值時,控制器的PO_5引腳輸出為低電平,正常狀態下該引腳表現與之相反。其端口配置部分代碼為SFRBIT(

P0

,

0x80,

P0_7,

P0_6,

P0_5,

P0_4,

P0_3,

P0_2,

P0_1,

P0_0

)MQ-2氣體傳感器的數據處理部分代碼為://通道5獲取ADC值

unsigned

char

percentADCMQ=0;//百分比的整數值unsigned

char

GetADCMQ(void){

uint16

adc=0;

float

vol=0.0;

//adc采樣電壓

unsigned

char

volTemp[20];//1203-1

//讀MQ2濃度

得到0-8192

adc=

HalAdcRead(HAL_ADC_CHANNEL_5,

HAL_ADC_RESOLUTION_14);

//最大采樣值8192(因為最高位是符號位)

//2的13次方=8192

if(adc>=8192)

{

return

0;

}

//轉化為百分比

8189/8192=0.9996

vol=(float)((float)adc)/8192.0;

//取百分比兩位數字

percentADCMQ=(int)(vol*100);

if(percentADCMQ<10)

percentADCMQ=1;

if(percentADCMQ>99)

percentADCMQ=99;

//1203-1

memset(volTemp,0,20);

sprintf((char

*)volTemp,"MQ:%d",percentADCMQ);

LCD_P8x16Str(80,

4,

volTemp);

//1203-1

return

percentADCMQ;}實驗測試開始,傳感器通電完成初始化配置,同理串口也完成相應的初始化配置,再獲取ADC采集的參數值,即GetADCMQ(),最后計算其可燃氣體濃度并通過串口打印sprintf((char*)volTemp,"MQ:%d",percentADCMQ);。當實驗過程中測量的實際濃度大于初始設定的濃度時,傳感器上DOUTLED常亮提示用戶。光照值采集軟件設計在本實驗中,選用5516光敏電阻傳感器模塊實現光照值數據的采集,該電阻是一種由半導體材料制成的電阻,其導電率隨著光照值的變化而變化(光線強阻值變弱,光線弱阻值變強)。5516光敏電阻傳感器模塊具有反應速度快、體積小、靈敏度高、可靠性好等特點,被廣泛應用于各種光控設備中。模塊在環境光線亮度達不到設定閾值時,DO端輸出高電平,當外界環境光線亮度超過設定閾值時,DO端輸出低電平。通過輸出AO可以和AD模塊相連,經過AD轉換,可以獲得環境光強更精準的數值。實驗時,測量引腳選擇主控制器的PO_4,當光照值高于初始的設定值時,傳感器的DO端引腳輸出為低電平,DO輸出指示燈亮,正常狀態下該引腳表現與之相反。其端口配置部分代碼為:SFRBIT(

P0

,

0x80,

P0_7,

P0_6,

P0_5,

P0_4,

P0_3,

P0_2,

P0_1,

P0_0

)5516光敏電阻傳感器模塊的數據處理部分代碼為:unsigned

char

percentVOL=0;//百分比的整數值unsigned

char

GetADCVol(void){

uint16

adc=0;

float

vol=0.0;

//adc采樣電壓

unsigned

char

volTemp[20];//1203-1

//讀光照值

adc=

HalAdcRead(HAL_ADC_CHANNEL_4,

HAL_ADC_RESOLUTION_14);

//最大采樣值8192(因為最高位是符號位)

//2的13次方=8192

if(adc>=8192)

{

return

0;

}

//轉化為百分比

8189/8192=0.9996

vol=(float)((float)adc)/8192.0;

//取百分比兩位數字

percentVOL=(int)(vol*100);

if(percentVOL<10)

percentVOL=1;

if(percentVOL>99)

percentVOL=99;

sprintf((char

*)volTemp,"ADC:%d",percentVOL);//1203-1

LCD_P8x16Str(80,

6,

volTemp);//1203-1

return

percentVOL;}實驗測試開始,傳感器通電完成初始化配置,同理串口也完成相應的初始化配置,再獲取ADC采集的參數值,即GetADCVol(),最后計算其光照值并通過串口打印sprintf((char*)volTemp,"ADC:%d",percentVOL);。當實驗過程中測量的實際光照值大于初始設定的光照值時,傳感器上DO-LED常亮提示用戶。傳感器與控制程序設計在本系統中,在降低設備功耗的同時需要考慮與數據上傳實時性之間的平衡,根據這一要求本系統采用間歇性工作的方式運轉。根據ZigBee網絡的特點,必須先創建網絡,是的所有網絡設備加入到該網絡,隨后便可進行數據傳輸。因此,必須使ZigBee網絡設備同步的休眠和喚醒才能保證此ZigBee網絡的正常工作。此ZigBee組網的具體工作流程是:傳感器設備與控制設備被激活喚醒后,ZigBee終端開始搜索并加入ZigBee網絡,入網成功后立即完成環境數據的采集,并將采集到的數據發送給控制器,然后等待接收休眠指令,若收到休眠指令則進入休眠,而休眠指令是由控制器統一發送的,這樣便實現了網絡的同步休眠功能。其工作流程圖如下圖4.3所示。圖4.3終端檢測節點工作流程圖BC26通信模塊軟件設計BC26通信模塊支持多種網絡協議,如:UDP/TCP,CoAP,MQTT,LWM2M,在本設計中選擇MQTT協議棧來實現終端傳感設備與阿里云IoT平臺的通信。本模塊主要完成通信模塊的初始化設定和數據遠程傳輸兩部分。通信初始化完成后,利用主控制器CC2530與BC26通信模塊的AT指令完成數據的上傳,具體即通過全雙工通用同步/異步串行收發模式向BC26發送一系列“AT+”指令,完成通信控制。終端感知設備通過AT指令入網成功后,通過TCP實現與阿里云IoT平臺的連接,由TCP通信負責終端感知節點檢測數據的上報以及控制指令的下發,其中數據包按照MQTT協議打包完成。當檢測其不需要TCP連接,此時斷開連接。本設計中AT命令實現功能主要包括兩部分,首先通信模塊子程序中使用AT命令來實現微控制器與BC26之間的通信,完成對通信模塊的控制。其次是通信模塊通過串口發送AT命令完成終端入網,進一步實現終端與云平臺之間的通信。CC2530采用標準串口來發送和接收AT指令,通過編程實現對終端對象的控制。模塊具體工作步驟如:首先初始化實驗設備,模塊進入Active模式開啟頻道查詢并return1,開始SIM卡讀取激活入網。然后收集構建MQTT協議下的數據包并發送。最后服務器查詢列表數據,設備進入PSM模式,等待下一次數據請求。其工作流程圖如下圖4.4所示。圖4.4NB-IoT通信模塊工作流程圖阿里云IoT平臺設計根據上文2.1.2和2.4章節所述,本系統選擇阿里云IoT平臺來搭建云平臺,如下圖4.5所示。第一次使用需要注冊。登錄進入之后,就可以進行設備產品添加了,本系統中的登錄協議采用MQTT協議。所以在用戶選擇使用的時候,選擇MQTT這個功能的類目接入平臺。圖4.5阿里云主頁在控制臺里面,找到物聯網平臺,然后點擊公共實例立即使用。進入到設備管理-產品界面端。進入界面之后就可以創建產品,圖4.6阿里云IoT平臺點擊進入之后,可以看到有很多種連網方式,根據不同的產品來實現。對于本系統需求,將采用蜂窩(2G/3G/4G/5G)方式接入,創建產品完畢之后進入產品詳情頁可以看到有ProductKey和ProductSecret,這個非常重要,后面在使用云端API查詢將會使用到。在設備頁面添加設備,添加設備需要選擇對應的產品,然后輸入DeviceName,DeviceName可以自定義,可以定義為CoordinatorEB,CoordinatorEB-2以及CoordinatorEB-3,具體設定如下圖4.7所示。添加完成后,設備會顯示未激活,這時只要單片機端控制模塊發送數據到阿里云IoT平臺進行激活就可以了。圖4.7阿里云IoT平臺設備列表圖初始化MQTT函數和MQTT服務器登錄的底層數據代碼顯示:void

BC26_MQTTInit(void)//初始化MQTT{

unsigned

char

SendATData[200];

switch(BC26_Status.Status)

{

case

3:

memset(SendATData,0,200);

sprintf((char

*)SendATData,"AT+QMTCFG=\"aliauth\",0,\"%s\",\"%s\",\"%s\"\r\n",ProductKey,DeviceName,DeviceSecret);

HalUARTWrite(1,SendATData,strlen((const

char

*)SendATData));//設置三元素

BC26_Status.Status=4;//配置下一個鏈接到服務器

都會成功

break;

case

4:

HalUARTWrite(1,"AT+QMTOPEN=0,\"\",1883\r\n",sizeof("AT+QMTOPEN=0,\"\",1883\r\n"));//設置登錄到MQTT服務器

BC26_Status.Status=5;//等待數據返回,調整到串口接收函數處理

獲取到6

break;

case

6:

memset(SendATData,0,200);

sprintf((char

*)SendATData,"AT+QMTCONN=0,\"%s\"\r\n","clientExample");

HalUARTWrite(1,SendATData,strlen((const

char

*)SendATData));//設置登錄

BC26_Status.Status=7;//等待數據返回,去串口函數處理函數進行判斷反饋

break;

}}本章小結本章主要介紹了智能家居系統的軟件部分設計,包括終端環境監測模塊、通信模塊的軟件設計和阿里云IoT云平臺軟件的設計。首先介紹了終端軟件開發環境,接著對網絡中各終端節點的軟件設計進行了介紹,其次對BC26通信模塊的數據傳輸進行介紹。最后,設計了阿里云IoT云平臺軟件,完成相關監測功能。

第5章微信小程序客戶端的開發微信小程序介紹微信小程序,小程序的一種,英文名稱WechatMiniProgram,是一款無需下載安裝即可使用的應用程序。它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。應用申請全面開放后,主體類型為企業、政府、媒體、其他組織或個人的開發者,均可申請注冊小程序。微信小程序、微信訂閱號、微信服務號和微信公司號是并行系統。微信小程序是一款無需下載即可使用的應用,也是一種創新。經過近兩年的發展,微信小程序新的開發環境和開發者生態已經形成。微信小程序也是中國IT行業多年來真正影響普通程序員的一項創新成果。超過150萬開發者加入微信小程序開發,微信小程序應用突破100萬。對于開發者來說,開發小程序的門檻相對較低,難度也沒有App那么高??梢酝瓿珊唵蔚幕A應用,適用于生活服務線下店鋪和非剛需低頻應用的轉換。小程序可以實現消息通知、線下掃碼、公眾號分配等七項功能。其中,通過公眾號連接,用戶可以實現公眾號與小程序的相互跳轉。微信小程序一般會出現在微信程序的頂部。用手指輕輕按住屏幕向下拖動,就會出現你使用過的微信小程序。如今微信小程序覆蓋200多個細分行業,日活躍用戶2億,并已在多個城市實現地鐵公交服務支持。微信小程序的發展帶來了更多的就業機會。2017年,小程序開發創造就業104萬人,社會影響持續提升。微信小程序也并非憑空冒出來的一個概念。當微信中的WebView逐漸成為移動Web的一個重要入口時,微信就有相關的JSAPI了。

開發環境簡介在本次系統設計中,智能家居系統中的微信小程序客戶端軟件是基于騰訊微信公眾平臺來實現,因此在軟件設計中采用騰訊微信公眾平臺專門為微信小程序開發的系統開發工具微信開發者工具。微信開發者工具是一款集成開發軟件,微信小程序的主要開發語言是JavaScript。該工具可以實時監測小程序的開發狀態、快速上傳和部署代碼、進行實時預覽、包含了官方提供的API,方便開發者進行微信小程序的開發工作。因此,本課題使用該工具進行微信小程序的開發工作。微信官方提供了適用于Windows和iOS兩個不同版本操作系統的微信開發者工具,開發者可以根據實際需要選擇下載的版本,其中Windows版本的微信開發者工具僅支持Windows7及以上版本的操作系統,其軟件運行環境界面如圖5.1所示。圖5.1微信開發者工具軟件開發圖小程序的特色對于普通用戶,小程序使應用程序觸手可及。只需要通過掃描二維碼、搜索或朋友的分享直接打開。憑借出色的體驗,小程序使得服務提供者的觸達能力變得更強。?對于開發者來說,小程序框架本身所擁有的快速加載和快速渲染能力,配合配套的云能力、運維能力和數據匯總能力,保證了開發者不用處理瑣碎的工作,專注于具體業務的開發邏輯。小程序模式可以讓微信開放更多的數據。開發者可以獲得一些基本的用戶信息,甚至獲取一些微信群信息,這使得小程序的開放性更加強大。小程序與普通網頁開發的區別?小程序的主要開發語言是JavaScript,因此通常使用小程序開發來與普通網頁開發進行比較。這兩者有著非常大的相似性。對于前端開發者來說,從web開發遷移到小程序的開發成本并不高,但兩者之間還是有一些區別的。?網頁開發渲染線程和腳本線程是互斥的,長時間運行腳本會導致頁面停止響應,但在小程序中兩者是分開的,在不同的線程中執行。網站開發者可以使用各種瀏覽器提供的DOMAPI來進行DOM的選擇和操作。如上所述,小程序的邏輯層和渲染層是分開的。邏輯層運行在JSCore中,沒有完整的一個瀏覽器對象,因而缺少關聯的DOMAPI和BOMAPI。這種差異導致一些前端開發非常熟悉的庫,如jQuery、Zepto等,在小程序中無法運行。同時,JSCore的環境和NodeJS不同,導致一些NPM包無法在小程序中運行。?Web網頁開發人員需要面對的環境是各式各樣的瀏覽器。在PC端他們要面對Chrome、InternetExplorer、Firefox瀏覽器等,在移動端他們要面對Safari、Chrome以及iOS和Android系統中的各種WebView。在開發小程序時,我們需要面對iOS和Android兩大操作系統的微信客戶端,以及用于輔助開發的小程序開發者工具。小程序中的三種主要運行環境也不同,如表6所示。表6小程序三大運行環境運行環境邏輯層渲染層iOSJavaScriptC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論