国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino智能家居控制系統(tǒng)

2020-01-08 06:42
技術(shù)與市場 2020年1期
關(guān)鍵詞:上位溫濕度端口

(四川輕化工大學(xué)物理與電子工程學(xué)院,四川宜賓 644005)

0 引言

隨著科技的不斷發(fā)展,智能家居已經(jīng)在我們生活的品質(zhì)中起到關(guān)鍵作用,智能家居的興起的趨勢已勢不可擋。物聯(lián)網(wǎng)就是把世界上的萬物連接到一起的形式,是由互聯(lián)網(wǎng)為基礎(chǔ)延伸的一種網(wǎng)絡(luò),其將不同模塊得到的熱度、光亮、氣味、電壓值等信息通過網(wǎng)絡(luò)傳輸?shù)叫枰娜伺c物上,從而實現(xiàn)對外界事物大感知??萍嫉目焖侔l(fā)展使我們的生活水平得以飛躍,智能家居的聲影已經(jīng)逐漸進(jìn)入人們的生活中,小到智能控制的插線板,大到機(jī)器人管家,智能家居控制系統(tǒng)發(fā)展變得豐富多樣化。這個領(lǐng)域剛興起不久,就得到人們的一致好評,使得智能家居控制系統(tǒng)發(fā)展得迅速。網(wǎng)絡(luò)的發(fā)展,使得網(wǎng)絡(luò)控制、語音控制、隔空控制變?yōu)榭赡埽悄芗揖邮刮覀兊纳钏郊百|(zhì)量得到了飛的智悅,也使得智能家居更加的人性化與普及化。

1 智能家居控制硬件設(shè)計

網(wǎng)絡(luò)的控制需要客戶端和控制端處于網(wǎng)絡(luò)暢通才能運行控制指令,需要搭載服務(wù)器,對控制端傳過來的數(shù)據(jù)及客戶端發(fā)來的數(shù)據(jù)指令進(jìn)行交互,這樣才能滿足使智能家居達(dá)到需要的要求。該設(shè)計通過Blinker的網(wǎng)絡(luò)服務(wù)器平臺,使用ESP8266模塊掛載到服務(wù)器,通過客戶端進(jìn)入相應(yīng)的軟件來對掛載到網(wǎng)絡(luò)服務(wù)器上的控制端進(jìn)行指令控制,服務(wù)器把客戶端發(fā)來的控制指令通過網(wǎng)絡(luò)傳輸?shù)紼SP8266網(wǎng)絡(luò)模塊。ESP8266交互式的返回交互信息,并對接收到數(shù)據(jù)通過串口發(fā)送數(shù)據(jù)到Arduino系統(tǒng)板,此時Arduino通過對網(wǎng)絡(luò)傳輸而得到的數(shù)據(jù)進(jìn)行解析。對解析的數(shù)據(jù)進(jìn)行判斷,從而執(zhí)行相應(yīng)的操作。其硬件組成部分如圖1所示。

圖1 系統(tǒng)框圖

1.1 Arduino嵌入式系統(tǒng)

整個家居的自動控制都是Arduino DUE板完成,對接收到的各種模塊數(shù)據(jù)、指令等進(jìn)行處理,完成相應(yīng)的控制要求。

1.2 溫濕度測量

溫濕度硬件電路使用的SHT30數(shù)字型的溫濕度傳感器,采用IIC通信方式對得到的溫濕度數(shù)據(jù)進(jìn)行傳輸。濕度測量的范圍在0~199% RH,精度為±3% RH;溫度測量的范圍在-40 ℃~125 ℃,精度在±0.3 ℃。該傳感器已經(jīng)滿足了正常家居的使用范圍。

1.3 TFT_1.44顯示屏

顯示器使用的TFT屏,因其可以獨立地對各個像素點進(jìn)行控制,優(yōu)越的反應(yīng)速度及可視的角度達(dá)到了130度,是高端產(chǎn)品必備的部件。TFT_1.44顯示屏模塊采用SPI通信方式,與IIC相比SPI的速度更快。

1.4 網(wǎng)絡(luò)模塊

使用ESP8266網(wǎng)絡(luò)傳感器,其工作電壓為3.3 V,網(wǎng)絡(luò)工作頻率范圍在2.412~2.484 GHz,因其模塊有豐富的硬件接口,可支持UART、GPIO、IIC、ADC等,在各種場合都非常的適用。

1.5 氣體檢測

氣體無色無味,人的各種器官很難辨別出來,當(dāng)一些有害氣體泄露,無一不危害到人的生命,所以為系統(tǒng)設(shè)計增加了氣體檢測傳感器。氣體檢測使用MQ-2煙霧傳感器,其特點在于有非常高的靈敏度、穩(wěn)定性高、使用壽命長,兼顧煙霧、甲烷、液化氣等可燃?xì)怏w的檢測,適合家居的使用場景。

1.6 測距模塊

一般情況下,人最大能承受的36 V的電壓,而家用是220 V的交流電對人來說萬一觸電,傷害是巨大的,所以在人生安全的情況下,為系統(tǒng)設(shè)計手揮即關(guān)的功能,避免由觸碰而觸電的風(fēng)險。該設(shè)計使用GP2D12紅外線測距傳感器完成手揮動距離,其具有結(jié)構(gòu)簡單、易于小型化、成本低、抗干擾強(qiáng)等優(yōu)點,易于家居的使用。

1.7 人體檢測

當(dāng)室內(nèi)沒有人,都外出了,屋內(nèi)的錢財、物品沒人看管,無疑不會讓外出的人心存顧慮?;蛘弋?dāng)你在熟睡的時候,小偷入室盜竊,對錢財和人都是一種威脅。由此在該系統(tǒng)增添HC-SR501人體紅外感應(yīng)傳感器,其傳感器可調(diào)的監(jiān)測范圍適合家居報警功能的使用。

2 系統(tǒng)的設(shè)計及實現(xiàn)

要實現(xiàn)智能終端的控制,軟件部分就要分為兩個部分:一塊是上位機(jī)手機(jī)的設(shè)計;另一塊則是下位機(jī)及受控系統(tǒng)。而受控系統(tǒng)的設(shè)計又分為兩個部件,由Arduino DUE硬件完成自動控制的操作和ESP8266網(wǎng)絡(luò)傳感器完成網(wǎng)絡(luò)的數(shù)據(jù)交互。Arduino DUE主要的功能是對IO端口連接的傳感器獲取的數(shù)據(jù)進(jìn)行處理和對ESP8266在網(wǎng)上獲取到的日期和時間,用TFT進(jìn)行顯示。由ESP8266網(wǎng)絡(luò)模塊通過上位機(jī)得來的控制指令解析后通過串口傳送,Arduino DUE控制部分接收到串口信息后完成相應(yīng)的控制。ESP8266網(wǎng)絡(luò)模塊的主要功能是連接到互聯(lián)網(wǎng),從網(wǎng)絡(luò)獲取時間日期,并且把手機(jī)控制端通過網(wǎng)絡(luò)發(fā)來的數(shù)據(jù)進(jìn)行解析,然后傳送給Arduino DUE,從而完成整個控制。

2.1 上位機(jī)APP部分

上位機(jī)的APP軟件(Blinker)通過網(wǎng)絡(luò)連接到Blinker平臺,獲取ESP8266網(wǎng)絡(luò)模塊通過網(wǎng)絡(luò)上傳的數(shù)據(jù),同時等待數(shù)據(jù)的發(fā)送。

2.2 下位機(jī)部分

整個設(shè)計的核心組成就在下位機(jī)部分,所有的數(shù)據(jù)指令,控制指令都在這個部分作用給人或者物上。

2.2.1 Arduino DUE控制系統(tǒng)

Arduino系統(tǒng)會在開機(jī)時去判斷ESP8266網(wǎng)絡(luò)模塊是否連上網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)不通時會在TFT顯示屏上提示連接網(wǎng)絡(luò),當(dāng)判斷ESP8266網(wǎng)絡(luò)模塊已經(jīng)連上網(wǎng)絡(luò)則獲取ESP8266模塊得到的時間等信息。開機(jī)過后Arduino一直通過串口檢測ESP8266模塊發(fā)送過來的信息,當(dāng)其中有控制指令則完成相應(yīng)的控制功能。同時Arduino DUE對自己芯片IO端口掛接的模塊的檢測數(shù)據(jù)進(jìn)行解析處理通過TFT顯示屏顯示。

1)整個系統(tǒng)開機(jī)需要先獲取時間,首先需要調(diào)用“Blinker.h”庫,然后通過相應(yīng)代碼獲取時間。

//Get the time

time_sec=Blinker.second()

time_m=Blinker.minute()

time_h=Blinker.hour()

time_wday=Blinker.wday()

time_month=Blinker.month()

time_mday=Blinker.mday()

time_year=Blinker.year()

2)獲取溫濕度則調(diào)用“ClosedCube_SHT3XD.h”庫,初始化SHT30溫濕度傳感器后,通過相應(yīng)代碼獲取傳感器的測量值。

//獲取溫濕度

printResult(sht3xd.readTempAndHumidity(REPEATABILITY_HIGH,MODE_POLLING,50));

3)紅外線測距模塊用于揮手即可開關(guān)燈的功能,Arduino DUE通過模擬量輸入端口A0獲取GP2D12測距傳感器的輸出電壓值,然后通過運算處理獲得測距值。在使用時首先應(yīng)該考慮揮手動作后要延遲一段時間后再測距判斷揮手動作,所以調(diào)用控制器運行時間已達(dá)到避免一揮手即多次動作的情況。

//手揮開關(guān)燈

data=analogRead(A0)

cm=2547.8/((float)data*0.49-10.41)-0.42

if((zz!=0)&&(cm<20)){Blinker.delay(15)

data=analogRead(A0)

cm=2547.8/((float)data*0.49-10.41)-0.42

if(cm<20){

if(millis()/2000!=millis_backup){

millis_backup=millis()/2000

digitalWrite(D2,!digitalRead(D2));//開關(guān)燈控制IO口

4)整個系統(tǒng)開機(jī)時,MQ-2傳感器需要>30 s的時間進(jìn)行加熱后才能得到準(zhǔn)確的阻值。該傳感器的阻值R與室內(nèi)被測的有害氣體的濃度C的數(shù)學(xué)關(guān)系式為:log R=m*logC*n(m,n為常數(shù))。n的值與傳感器靈敏度有關(guān),不僅與傳感器的材料有關(guān),還與氣體種類和室內(nèi)溫度等有關(guān)系。m的值為氣體濃度變化的靈敏度。設(shè)置模擬端口A0檢測傳感器輸出的電壓值來判定室內(nèi)空氣情況。

//氣體檢測

int val=analogRead(A0);//讀取氣體傳感器輸出電壓值

if(val>500)

digitalWrite(D3,HIGH);//有害氣體濃度過高觸發(fā)報警

else

digitalWrite(D3,LOW)

5)人體紅外感應(yīng)模塊的輸出方式為開關(guān)方式,當(dāng)人進(jìn)入其感應(yīng)范圍則輸出高電平并延時一段時間,當(dāng)人離開一段時間后則自動跳變到低電平。傳感器上可設(shè)置重復(fù)或不可重復(fù)觸發(fā)、感應(yīng)范圍、延時時間,通過傳感器上的電位器進(jìn)行相應(yīng)的調(diào)節(jié)。把對應(yīng)的輸出IO口接到Arduino DUE的IO端口D4。當(dāng)夜晚或者屋內(nèi)人員離開則對該IO端口進(jìn)行判斷;當(dāng)有人闖入則觸發(fā)人體紅外感應(yīng)傳感器,Arduino DUE檢測到后觸發(fā)警報,并通過ESP8266網(wǎng)絡(luò)模塊傳輸?shù)缴衔粰C(jī)進(jìn)行提示。

time_h=Blinker.hour();//Acquisition hours

if((time_h>0)&&(time_h<5)){//判斷是否是凌晨1~5點

if(digitalRead(D3))//檢測D3端口是否為高電平,為“高”則觸發(fā)報警

digitalWrite(D5,HIGH)

if(!digitalRead(D3)){//檢測D3端口是否為低電平,為“低”則關(guān)閉報警

digitalWrite(D5,LOW)

2.2.2 ESP8266網(wǎng)絡(luò)模塊

在開機(jī)運行時,要ESP8266網(wǎng)絡(luò)模塊接入網(wǎng)絡(luò),使之能掛接到平臺,所以最開始需要對ESP8266進(jìn)行相應(yīng)的配置,則需要將SSID名稱、密碼設(shè)置到模式當(dāng)中。首先配置固定的SSID名稱、密碼及Blinker的個人設(shè)備密鑰,然后通過調(diào)用Blinker庫把固定的AT指令和Blinker個人用戶的密鑰寫入ESP8266控制器中,然后由Blinker庫函數(shù)來控制ESP8266的控制器自動連接WIFI,最后掛接到Blinker服務(wù)器平臺。

1)SSID名稱、密碼及密鑰配置

char auth[]="f2b812c58ff2"; // Your Device Secret Key

char ssid[]="wifi"; //Your WiFi network SSID or name

char pswd[]="yupeng123"; //Your WiFi network WPA password or WEP key

2)調(diào)用Blinker庫寫入AT指令到控制器

BLINKER_DEBUG.stream(Serial)

Blinker.begin(auth,ssid,pswd); //Write SSID or key

Blinker.attachData(dataRead)

Blinker.setTimezone(8.0); //Set time zone

3 結(jié)語

該系統(tǒng)設(shè)計的主要思想是便利家居生活,提高生活的品質(zhì),并以當(dāng)今生活的發(fā)展趨勢設(shè)計了該系統(tǒng)。該設(shè)計的重要組成部分為上位機(jī)和下位機(jī),下位機(jī)又分為Arduino DUE控制部分和ESP8266網(wǎng)絡(luò)模塊,整個系統(tǒng)的核心就在于此部分的組成。上位機(jī)主要負(fù)責(zé)發(fā)送控制指令;而下位機(jī)的Arduino DUE各種器件的觸發(fā)及各模塊數(shù)據(jù)的檢測顯示,ESP8266網(wǎng)絡(luò)模塊則通過網(wǎng)絡(luò)完成下位機(jī)Arduino DUE和上位機(jī)之間的數(shù)據(jù)交互傳輸。通過網(wǎng)絡(luò)的便利和快速反應(yīng)等特點,使家居生活更加的方便與智能。

猜你喜歡
上位溫濕度端口
一種端口故障的解決方案
基于AT89C51的數(shù)字型蠶用溫濕度計的設(shè)計
硬件解耦三端口變換器的軟開關(guān)分析與仿真
基于DSP的多路溫濕度監(jiān)測系統(tǒng)
交換機(jī)生成樹安全
基于溫濕度控制的天氣預(yù)測裝置
特斯拉 風(fēng)云之老阿姨上位
蒸發(fā)冷卻溫濕度獨立控制空調(diào)系統(tǒng)的應(yīng)用
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)