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

        ?

        基于Arduino的物聯(lián)網(wǎng)家居硬件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2023-03-06 13:07:14謝明瑋李里程彭善瓊
        物聯(lián)網(wǎng)技術(shù) 2023年2期
        關(guān)鍵詞:開(kāi)發(fā)板功能模塊子系統(tǒng)

        謝明瑋,李里程,彭善瓊

        (湖南第一師范學(xué)院 計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙 410205)

        0 引 言

        現(xiàn)階段物聯(lián)網(wǎng)家居系統(tǒng)主要采用硬件模塊化設(shè)計(jì),系統(tǒng)由單片機(jī)、低功耗通信硬件等組成,在房間或區(qū)域部署不同類別的傳感器,用于監(jiān)測(cè)溫度、氣體等環(huán)境數(shù)據(jù),并利用手機(jī)終端APP客戶端分析數(shù)據(jù)后將數(shù)值反饋給使用者,例如NEST HOME系統(tǒng)、“智能家庭”系統(tǒng)等。這些系統(tǒng)的弊端是硬件價(jià)格高昂,因此,本文嘗試?yán)媒┠暝趪?guó)內(nèi)外創(chuàng)客領(lǐng)域、高校流行的開(kāi)源硬件平臺(tái)技術(shù)[1-5],設(shè)計(jì)與構(gòu)建了一款融合多傳感器的物聯(lián)網(wǎng)家居硬件“IoT家居小盒子”及配套軟件,以探索低成本物聯(lián)網(wǎng)家居硬件系統(tǒng)開(kāi)發(fā)的可行之道。

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

        系統(tǒng)由硬件控制子系統(tǒng)、軟件操作子系統(tǒng)構(gòu)成。兩個(gè)系統(tǒng)共同實(shí)現(xiàn)了輸入設(shè)備的信號(hào)采集與分析功能。硬件控制子系統(tǒng)通過(guò)開(kāi)發(fā)板與傳感器、執(zhí)行件等電子零件連接,實(shí)現(xiàn)環(huán)境數(shù)據(jù)的采集檢測(cè)與用戶反饋等功能。軟件操作子系統(tǒng)在硬件控制子系統(tǒng)的基礎(chǔ)上,采用藍(lán)牙模塊,以無(wú)線傳輸?shù)姆绞綄?shù)據(jù)反饋至手機(jī)端應(yīng)用程序,便于用戶不受時(shí)間、位置等限制查看居家環(huán)境信息。系統(tǒng)總體架構(gòu)設(shè)計(jì)如圖1所示。

        圖1 系統(tǒng)總體架構(gòu)

        2 子系統(tǒng)詳細(xì)設(shè)計(jì)

        硬件控制子系統(tǒng)由Arduino開(kāi)發(fā)板(主控制器)、傳感器模塊、執(zhí)行件模塊、紅外遙控模塊組成,如圖2所示。

        圖2 硬件控制子系統(tǒng)架構(gòu)

        傳感器模塊用于系統(tǒng)獲取環(huán)境檢測(cè)數(shù)值,傳感器一般有3個(gè)引腳,一個(gè)正極、一個(gè)負(fù)極和一個(gè)數(shù)據(jù)接口,它與Arduino開(kāi)發(fā)板的連接十分便捷,對(duì)應(yīng)正負(fù)極,確定傳感器的數(shù)據(jù)傳輸為模擬信號(hào)或數(shù)字信號(hào),再將數(shù)據(jù)引腳連接至開(kāi)發(fā)板相應(yīng)區(qū)域的接口處即可。硬件控制子系統(tǒng)使用的傳感器模塊主要包括以下內(nèi)容[6-7]:

        (1)LM35溫度傳感器,用于監(jiān)測(cè)環(huán)境溫度,輸出的電壓與溫度成線性關(guān)系,通過(guò)對(duì)溫度數(shù)值的判斷,系統(tǒng)可以提醒用戶注意天氣變化。

        (2)DHT11濕度傳感器,用于監(jiān)測(cè)環(huán)境濕度,輸出40 bit的監(jiān)測(cè)數(shù)據(jù),通過(guò)對(duì)環(huán)境濕度數(shù)據(jù)的提取,提醒用戶防潮或注意保濕。

        (3)MQ135氣體傳感器,用于檢測(cè)環(huán)境空氣質(zhì)量,可以探測(cè)空氣中是否含有氮?dú)狻熿F、硫化物等氣體,并且通知用戶當(dāng)前環(huán)境的空氣質(zhì)量等級(jí),提醒用戶通風(fēng)換氣;探測(cè)家中有害氣體,如煤氣、液化氣、天然氣等,用于家居安全保障,警示用戶家中煤氣泄漏等情況。

        (4)火焰?zhèn)鞲衅?,利用紅外線接收管捕捉紅外波長(zhǎng)從而檢測(cè)火焰值,同時(shí)可以檢測(cè)環(huán)境中的光線強(qiáng)度,一是可以預(yù)報(bào)火情,二是提醒用戶根據(jù)光線變化注意用眼衛(wèi)生。

        (5)振動(dòng)傳感器,通過(guò)檢測(cè)硬件擺放位置附近與本體的微弱振動(dòng)信號(hào),反饋與告警用戶。

        執(zhí)行件模塊主要用于人機(jī)交互,提示用戶操作成功與否,顯示數(shù)據(jù)信息,為用戶提供良好的交互體驗(yàn)。硬件控制子系統(tǒng)使用的執(zhí)行件模塊主要包括以下內(nèi)容:

        (1)RGB模塊,采用HSB設(shè)置,通過(guò)色相/飽和度/亮度三要素發(fā)出不同顏色、不同明暗程度的燈光。通過(guò)不同燈光的切換,提醒用戶在按下遙控器按鍵之后,開(kāi)發(fā)板接收到紅外遙控器傳送的編碼,給用戶一個(gè)交互成功的反饋信息。

        (2)LED模塊,設(shè)定之后會(huì)顯示警示紅燈,當(dāng)主控器監(jiān)測(cè)到如火情、有害氣體濃度高等危險(xiǎn)情況時(shí),會(huì)立即閃爍,警示用戶注意安全。

        (3)LCD模塊液晶屏采用I2C集成電路總線的串行通信方式,有串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL引腳,模塊主要顯示傳感器監(jiān)測(cè)的數(shù)值,并告知用戶采取相應(yīng)措施。

        (4)8×8點(diǎn)陣屏,其由64個(gè)發(fā)光二極管組成,在用戶遙控進(jìn)入不同的功能子模塊后,點(diǎn)陣屏?xí)鶕?jù)系統(tǒng)判斷的結(jié)果進(jìn)入不同的場(chǎng)景,顯示不同的關(guān)聯(lián)圖標(biāo),實(shí)現(xiàn)交互目的。

        (5)蜂鳴器,其與LED模塊類似,均在險(xiǎn)情發(fā)生時(shí)警告用戶,當(dāng)環(huán)境監(jiān)測(cè)值達(dá)到風(fēng)險(xiǎn)閾值范圍后,蜂鳴器發(fā)出警報(bào),長(zhǎng)鳴告警用戶。

        (6)揚(yáng)聲器模塊,通過(guò)設(shè)定不同的頻率,可以產(chǎn)生不同的音調(diào)與旋律,提升設(shè)備使用的趣味性。

        硬件具備單機(jī)按鍵使用和遠(yuǎn)程遙控使用功能,通過(guò)紅外遙控模塊,用戶可以直接進(jìn)行硬件功能切換。紅外遙控模塊流程如圖3所示。

        圖3 紅外遙控模塊流程

        在圖3中,硬件控制子系統(tǒng)設(shè)置了一個(gè)全局判斷變量,啟動(dòng)系統(tǒng)之后會(huì)判別標(biāo)志位,進(jìn)入功能首頁(yè),執(zhí)行件中的LCD屏幕顯示歡迎界面。借助紅外遙控器按鍵切換功能,開(kāi)發(fā)板上連接的紅外接收器會(huì)接收一個(gè)紅外編碼值,根據(jù)接收的編碼值對(duì)全局標(biāo)志位進(jìn)行變更,完成一輪控制,緊接著循環(huán)判斷標(biāo)志位的值,進(jìn)入相應(yīng)的傳感器功能模塊,并開(kāi)啟下一個(gè)傳感器的功能檢測(cè)。

        軟件操作子系統(tǒng)是基于藍(lán)牙無(wú)線通信技術(shù)開(kāi)發(fā)的一款安卓移動(dòng)端應(yīng)用程序。該程序可以通過(guò)手機(jī)藍(lán)牙模塊與低功耗藍(lán)牙模塊無(wú)線連接,從而實(shí)現(xiàn)軟硬件互聯(lián)互通。應(yīng)用程序的功能界面可以顯示硬件傳遞的數(shù)據(jù)信息,并根據(jù)特定算法將數(shù)據(jù)信息有效利用,轉(zhuǎn)化為符合用戶閱讀習(xí)慣的圖文報(bào)告。軟件操作子系統(tǒng)的功能模塊設(shè)計(jì)如圖4所示。

        圖4 軟件操作子系統(tǒng)功能模塊

        3 硬件控制子系統(tǒng)

        3.1 數(shù)據(jù)采集功能

        硬件控制子系統(tǒng)需要獲取傳感器數(shù)據(jù),之后對(duì)數(shù)據(jù)進(jìn)行分析,最后驅(qū)動(dòng)執(zhí)行件依照分析結(jié)果響應(yīng)。不同傳感器的硬件特性不同,獲取數(shù)據(jù)的格式也不相同,得到的數(shù)據(jù)均需進(jìn)行處理,并使用不同的有效數(shù)值算法轉(zhuǎn)為可利用數(shù)值。以DHT11濕度傳感器數(shù)值獲取與轉(zhuǎn)換為例,在DHT.h文件代碼中,read_data()函數(shù)先將開(kāi)發(fā)板的D9引腳拉低18 ms再拉高40 μs,通知DTH11傳感器輸入數(shù)據(jù),DHT11傳感器收到信息后響應(yīng),向開(kāi)發(fā)板傳輸1 B數(shù)據(jù),存儲(chǔ)在data變量中。當(dāng)DTH11傳感器出現(xiàn)持續(xù)50 μs的低電和20 μs的高電平時(shí),傳輸數(shù)據(jù)為0,若高電平時(shí)長(zhǎng)大于20 μs,則傳輸數(shù)據(jù)為1。divideData()函數(shù)將read_data()函數(shù)中讀取的字節(jié)放入dhtSensor數(shù)組,共4個(gè)字節(jié),分別代表濕度整數(shù)位、濕度小數(shù)位、溫度整數(shù)位、溫度小數(shù)位,最后在loop()函數(shù)中以十進(jìn)制顯示各字節(jié)數(shù)值。

        3.2 用戶反饋功能

        分析判斷傳感器的有效數(shù)據(jù)后,執(zhí)行件根據(jù)判斷結(jié)果做出不同響應(yīng),實(shí)現(xiàn)硬件對(duì)用戶的反饋。以點(diǎn)陣屏執(zhí)行件功能實(shí)現(xiàn)為例,硬件使用8×8點(diǎn)陣屏,該點(diǎn)陣屏由64個(gè)發(fā)光二極管組成,當(dāng)某一列置1電平,某一行置0電平時(shí),其對(duì)應(yīng)的二極管發(fā)光。該模塊采用SPI協(xié)議與開(kāi)發(fā)板通信,實(shí)現(xiàn)串行輸入與并行輸出控制點(diǎn)陣屏,因此可以基于點(diǎn)陣屏制作與展示簡(jiǎn)易的圖標(biāo)信息。開(kāi)發(fā)點(diǎn)陣屏圖標(biāo)顯示功能需要將點(diǎn)陣屏上的DIN數(shù)據(jù)接口、CLK時(shí)鐘接口、LTH鎖存接口分別連接到Arduino傳感器擴(kuò)展板的數(shù)字4、5、6引腳,VCC、GND分別連接傳感器擴(kuò)展板的任意一個(gè)正極、接地端口。以樹(shù)形圖標(biāo)的制作為例,先將圖標(biāo)的點(diǎn)陣編碼存在數(shù)組中,然后使用循環(huán)語(yǔ)句掃描點(diǎn)亮二極管。每個(gè)功能模塊中都會(huì)調(diào)用該功能模塊中對(duì)應(yīng)的點(diǎn)陣屏顯示頭文件,并根據(jù)不同情形顯示不同的圖標(biāo),例如火焰報(bào)警模塊功能在安全環(huán)境中會(huì)顯示樹(shù)形圖標(biāo),當(dāng)檢測(cè)到有危險(xiǎn)的情況時(shí),則會(huì)顯示警鈴圖標(biāo)。

        3.3 紅外遙控功能

        要實(shí)現(xiàn)硬件控制子系統(tǒng)中的紅外遙控功能[8],在Arduino IDE中編寫(xiě)紅外遙控測(cè)試代碼上傳到開(kāi)發(fā)板后,可以按下遙控器按鍵,觀察ComMonitor串口監(jiān)視器中是否接收到正確的遙控器編碼。其次,通過(guò)導(dǎo)入IRremote頭文件,定義紅外接收器引腳號(hào)SensorIRreceive,調(diào)用頭文件IRrecv類創(chuàng)建一個(gè)紅外接收對(duì)象IRrecv,在程序入口setup函數(shù)中開(kāi)始運(yùn)行監(jiān)聽(tīng)紅外代碼enableIRIn()函數(shù),接著循環(huán)判斷,如果接收到紅外遙控器發(fā)出的紅外編碼就將其以十六進(jìn)制的格式打印在串口監(jiān)視框中,然后調(diào)用resume()方法開(kāi)始重新監(jiān)聽(tīng)一段代碼,最后得到遙控器所有按鍵值的編碼。

        得到所有遙控按鍵的編碼值后,為每個(gè)按鍵設(shè)置特定響應(yīng)動(dòng)作,本系統(tǒng)選取6個(gè)按鍵作為硬件的響應(yīng)按鈕:PREV/NEXT按鍵,切換主功能模塊(主界面、顯示時(shí)間、播放音樂(lè)、顯示溫度、火焰報(bào)警、振動(dòng)報(bào)警、紅外檢測(cè));ENTER/BACK按鍵:硬件功能的確認(rèn)與返回;VOL-/VOL+按鍵:調(diào)整硬件音量。調(diào)用IRremote頭文件中的控制函數(shù),接收判斷紅外遙控編碼,增加自定義算法,實(shí)現(xiàn)標(biāo)志位的變更。紅外遙控功能控制流程如圖5所示。

        圖5 紅外遙控功能控制流程

        4 軟件操作子系統(tǒng)

        4.1 應(yīng)用程序界面

        手機(jī)端應(yīng)用程序的主界面由軟件名稱、連接設(shè)備、硬件功能、簡(jiǎn)介模塊構(gòu)成[9]。具體界面設(shè)計(jì)如圖6所示。

        圖6 Android端應(yīng)用程序主界面

        應(yīng)用程序“IoT家居小盒子”主界面中的軟件名稱和功能簡(jiǎn)介模塊由TextView控件構(gòu)建,中間連接設(shè)備模塊是一個(gè)按鈕控件,硬件功能模塊區(qū)域是GridView布局,布局中鑲嵌多個(gè)按鈕子控件,每個(gè)按鈕子控件對(duì)應(yīng)一個(gè)標(biāo)志位,點(diǎn)擊某按鈕后,通過(guò)識(shí)別其標(biāo)志位找到對(duì)應(yīng)按鈕響應(yīng)事件[10]。

        4.2 藍(lán)牙通信功能

        藍(lán)牙通信功能的實(shí)現(xiàn)需通過(guò)4個(gè)Java語(yǔ)言的源代碼文件,如圖7所示。newBleConnect文件的功能為注冊(cè)廣播,按鈕點(diǎn)擊事件中又分為連接設(shè)備、斷開(kāi)設(shè)備、掃描附近設(shè)備等,這些模塊會(huì)發(fā)出不同的廣播信號(hào)。BluetoothClientService文件中的onCreate函數(shù)用于處理接收到的廣播信號(hào);hanlder子線程用于發(fā)送廣播信號(hào),可以將接收的數(shù)據(jù)發(fā)送至各功能模塊。manageConnectedSocket文件用于接發(fā)數(shù)據(jù)的處理,首先進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,run函數(shù)中接收緩沖區(qū)數(shù)據(jù),將數(shù)據(jù)劃分,再發(fā)給對(duì)應(yīng)的功能模塊,write函數(shù)發(fā)送指令給硬件控制程序,cancel函數(shù)中關(guān)閉socket傳輸流,close函數(shù)用于清空數(shù)據(jù)緩沖區(qū)。ConnectThread文件用于連接子線程。

        圖7 藍(lán)牙通信功能的源代碼文件結(jié)構(gòu)

        4.3 功能模塊組件

        針對(duì)應(yīng)用程序功能模塊的實(shí)現(xiàn),以有害氣體功能模塊為例,其使用界面如圖8所示。實(shí)時(shí)數(shù)據(jù)顯示389 ppm,可檢測(cè)的化合物包含一氧化碳、甲烷、丙烷、丁烷等,室內(nèi)通風(fēng)后,可從折線圖的示意中直觀感受有害氣體的含量持續(xù)下降。

        圖8 有害氣體功能模塊界面

        其他檢測(cè)功能模塊與有害氣體功能模塊的代碼結(jié)構(gòu)類似,均包含2個(gè)函數(shù),如圖9所示。onStart()函數(shù)用于接收廣播ACTION_DATA_TO_GAME和廣播ACTION_CONNECT_SUCCESS,其中廣播ACTION_DATA_TO_GAME用于接收數(shù)據(jù)的折線圖顯示,以及數(shù)據(jù)閾值判斷。廣播ACTION_CONNECT_SUCCESS用于通知其他模塊數(shù)據(jù)接收成功。onCreate()函數(shù)用于響應(yīng)topBar和接收數(shù)據(jù)按鈕的點(diǎn)擊事件,在接收數(shù)據(jù)按鈕的點(diǎn)擊事件中會(huì)攜帶harmgas模塊的標(biāo)識(shí),發(fā)送廣播ACTION_DATA_SERVICE,然后在有害氣體功能模塊的界面中顯示有害氣體的濃度值。

        圖9 有害氣體功能模塊的代碼結(jié)構(gòu)

        5 結(jié) 語(yǔ)

        本設(shè)計(jì)采用了硬件控制子系統(tǒng)與軟件操作子系統(tǒng)相結(jié)合的方式,可以很好利用開(kāi)源硬件平臺(tái)實(shí)現(xiàn)低成本的物聯(lián)網(wǎng)家居硬件系統(tǒng)開(kāi)發(fā)。開(kāi)發(fā)的設(shè)備原型經(jīng)過(guò)長(zhǎng)期測(cè)試,能夠滿足目標(biāo)用戶的基本需求?,F(xiàn)階段,硬件原型采集的所有數(shù)據(jù)都存于手機(jī)端應(yīng)用程序,后期會(huì)通過(guò)搭建基于容器化技術(shù)的物聯(lián)網(wǎng)設(shè)備云平臺(tái)實(shí)現(xiàn)硬件與終端數(shù)據(jù)交互的遠(yuǎn)程傳遞。

        猜你喜歡
        開(kāi)發(fā)板功能模塊子系統(tǒng)
        不對(duì)中轉(zhuǎn)子系統(tǒng)耦合動(dòng)力學(xué)特性研究
        GSM-R基站子系統(tǒng)同步方案研究
        駝峰測(cè)長(zhǎng)設(shè)備在線監(jiān)測(cè)子系統(tǒng)的設(shè)計(jì)與應(yīng)用
        Microchip最新推出兩款PIC32 Curiosity開(kāi)發(fā)板
        淺析單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
        輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
        M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
        功能模塊的設(shè)計(jì)與應(yīng)用研究
        Mouser為您呈上開(kāi)發(fā)關(guān)鍵之STMicroelectronics Nucleo開(kāi)發(fā)板
        av男人的天堂第三区| 久久久久亚洲精品无码网址| 一区二区无码中出| 亚洲av永久综合网站美女| 激情五月我也去也色婷婷| 国产av无码专区亚洲av蜜芽| 精品丝袜人妻久久久久久| 日韩国产自拍精品在线| 国产精品熟女少妇不卡| 日本高清视频永久网站www| japanesehd中国产在线看| 视频精品熟女一区二区三区| 国产三级不卡一区不卡二区在线| 国产午夜伦鲁鲁| 1769国产精品短视频| av资源吧首页在线观看| 蜜桃成熟时在线观看免费视频| 骚片av蜜桃精品一区| 国产小屁孩cao大人| 亚洲av色香蕉一区二区三区软件| 97久久婷婷五月综合色d啪蜜芽 | 亚洲国产欧美久久香综合| 国内精品毛片av在线播放| 久久96国产精品久久久| 久久99精品久久久久久| 亚洲精品无人区一区二区三区| 久久国产精品婷婷激情| 成l人在线观看线路1| 日韩秘 无码一区二区三区| 国产精品人成在线观看不卡| 国内精品视频一区二区三区八戒 | 国产AV无码专区亚洲AV桃花庵| 丰满熟女人妻一区二区三区| 丰满熟妇人妻av无码区| 亚洲碰碰人人av熟女天堂| 人妻丰满熟妇av一区二区 | 丰满少妇人妻无码专区| 一个人看的视频在线观看| 亚洲综合精品伊人久久| 人妻人妻少妇在线系列| av影片手机在线观看免费网址|