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

?

基于STM32和Android的智能家居系統(tǒng)設(shè)計

2018-10-09 03:00:42朱向慶鄧浩欣李嘉寶朱萬鴻何昌毅鐘創(chuàng)平
電子設(shè)計工程 2018年18期
關(guān)鍵詞:家居智能家居遠程

朱向慶,鄧浩欣,李嘉寶,朱萬鴻,何昌毅,鐘創(chuàng)平

(嘉應(yīng)學院電子信息工程學院,廣東梅州514015)

智能家居系統(tǒng)集電子信息、自動控制、計算機、通信技術(shù)等于一體,與傳統(tǒng)家居相比,它能從各方面提高人們的生活質(zhì)量[1-2]。家居核心設(shè)備智能化,終端配套技術(shù)的不斷成熟和品牌化,物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,特別是以人為本的健康電子興起,進一步促進智能家居的發(fā)展。在功能設(shè)定方面,智能家居從以往簡單的近程安防監(jiān)控,逐漸過渡到遠程監(jiān)控與自動控制,并往智能化方向發(fā)展[3]。

目前,我國市場上有很多功能各異的智能家居產(chǎn)品,但是不少產(chǎn)品在追求功能強大的同時,造成價格高企,不利于推廣應(yīng)用。為此,設(shè)計一套高性價比,集空氣質(zhì)量、溫度、氣壓和光強檢測,家居設(shè)備自動控制,遠程Android應(yīng)用程序與手機短消息監(jiān)控等功能于一體的智能家居系統(tǒng)。

1 系統(tǒng)的硬件結(jié)構(gòu)

本系統(tǒng)硬件結(jié)構(gòu)如圖1所示,它以STM32F407ZGT6微控制器為核心,包含EEPROM存儲器、SRAM存儲器、Flash存儲器、煙霧及可燃氣體(液化氣、甲烷、酒精等)傳感器、有害氣體(氨、硫化物、苯等)傳感器、光敏電阻、PM2.5粉塵傳感器、數(shù)字溫度傳感器、氣壓傳感器、Wi-Fi無線模塊、GSM模塊、4.3寸TFT電容觸摸屏、步進電機、直流電機、繼電器、蜂鳴器、LED燈及數(shù)碼管等。

STM32F407ZGT6是意法半導(dǎo)體公司(ST公司)推出的一款以ARM Cortex-M4為內(nèi)核的32位微控制器[4],擁有 210DMIPS,高達1MB Flash ROM,192kB SRAM,4kB備用RAM,17個TIM(定時器),3個12位ADC,2個12位DAC,以及15個通信接口(3個I2C,4個USART/UART,3個SPI,2個I2S,2個CAN及1個SDIO),多達140個具有中斷功能的I/O端口,可滿足系統(tǒng)要求。

圖1 硬件系統(tǒng)框架

1.1 存儲器的擴展

因為STM32單片機要運行μC/OS-III操作系統(tǒng),存儲圖片數(shù)據(jù),所以必須擴展系統(tǒng)的Flash ROM、RAM等存儲器。通過SPI接口連接華邦(Winbond)公司生產(chǎn)的W25Q128,可擴展16 MB的Flash ROM。

STM32單片機使用FSMC(Flexible Static Memory Controller,可變靜態(tài)存儲控制器)I/O口連接SRAM芯片IS62WV51216,該芯片由ISSI公司生產(chǎn),容量為512 K字。

為了擴展EEPROM,STM32單片機使用I2C總線連接AT24C256。該芯片由Atmel公司生產(chǎn),容量為32 kB,其特點是可在線電擦寫,掉電后數(shù)據(jù)不丟失。

1.2 空氣質(zhì)量的檢測

煙霧及可燃氣體傳感器MQ2和有害氣體檢測模塊MQ135輸出的模擬電壓傳輸至STM32單片機的ADC引腳,單片機將采集到的模擬電壓轉(zhuǎn)換成數(shù)字量,再進行相應(yīng)處理,達到對煙霧、可燃氣體和有害氣體的檢測。

系統(tǒng)使用兩個Sharp公司生產(chǎn)的GP2Y1051AU型二代傳感器分別檢測室內(nèi)外PM2.5。PM2.5檢測模塊采用標準的串口通信,其TXD引腳連接STM32的RXD引腳,單片機通過公式轉(zhuǎn)換,得到相應(yīng)的室內(nèi)外PM2.5濃度值。

1.3 光照度、溫度及氣壓的檢測

光敏電阻MG5528與固定電阻的串聯(lián)分壓值送到STM32單片機的ADC引腳,單片機根據(jù)讀取的ADC值即可計算出周圍環(huán)境的光照度,進而采用脈沖寬度調(diào)制(PWM),改變PWM輸出的占空比,通過ULN2803自動調(diào)節(jié)燈光的亮度。

單片機與DS18B20數(shù)字溫度傳感器通過單總線(1-Wire)通信,實現(xiàn)對環(huán)境溫度的檢測[5]。

同時,單片機通過I2C通信協(xié)議與BMP180氣壓溫度模塊進行通信,達到對氣壓和溫度的檢測[6]。

1.4 無線通信接口

為了完成與遠程云服務(wù)器、手機的通信,單片機通過串口連接Wi-Fi模塊ESP8266和GSM模塊SIM900A。Wi-Fi模塊內(nèi)置樂鑫信息科技公司的ESP8266EX芯片[7,8],它內(nèi)含一個完整且自成體系的Wi-Fi網(wǎng)絡(luò)解決方案,能夠獨立運行,也可作為從機搭載于其他主機運行。

GSM模塊SIM900A用于給遠程手機發(fā)送短消息,它是一款尺寸緊湊的GSM/GPRS模塊,采用SMT封裝,基于STE(意法愛立信)的單芯片案,使用ARM926EJ-S架構(gòu),性能強大,可以低功耗實現(xiàn)語音、SMS、數(shù)據(jù)和傳真信息的收發(fā)[9-10]。

1.5 輸入輸出接口

系統(tǒng)使用ALIENTEK公司推出的4.3寸TFT電容觸摸屏實現(xiàn)人機交互,該觸摸屏有FSMC和SPI兩種接口。FSMC總線連接液晶控制器ILI9341,以輸出圖像;SPI總線銜接觸摸屏控制器TCS2046,以達到觸摸輸入數(shù)據(jù)。

STM32單片機使用I/O口連接2個復(fù)合管驅(qū)動器ULN2803,它可驅(qū)動步進電機、直流電機、繼電器、LED燈和蜂鳴器,電機和繼電器用于開關(guān)窗戶、抽風機、空氣凈化器或其他家電設(shè)備。

STM32單片機使用I/O口連接7段數(shù)碼管譯碼器74LS48,用于驅(qū)動共陰數(shù)碼管,顯示空調(diào)預(yù)設(shè)溫度。

2 軟件設(shè)計與實現(xiàn)

為了移植方便,以及提高開發(fā)速度,STM32單片機運行固件由C語言編寫,運行μC/OS-III操作系統(tǒng),使用Keil uVision5軟件編譯,通過J-LINK Utility軟件將生成的機器碼文件燒錄到單片機。智能手機APP使用Java語言設(shè)計,并通過eclipse軟件編譯生成可安裝的APK文件。

2.1 μC/OS-III系統(tǒng)任務(wù)設(shè)計

μC/OS-III是一個基于ROM運行、可裁剪、搶占式、實時多任務(wù)內(nèi)核,具有高度可移植性,具有μC/OS-II不支持的時間片輪轉(zhuǎn)法[11-12],特別適合于32位微處理器和控制器。μC/OS-III系統(tǒng)初始化后,建立圖2所示五個任務(wù)。程序開始運行后,初始化外設(shè)與各功能模塊,初始化μC/OS-III,然后創(chuàng)建任務(wù)1,開啟多任務(wù)環(huán)境。

2.1.1 任務(wù)1程序設(shè)計

任務(wù)1首先開啟RTC(Real-Time Clock,實時時鐘),初始化emWin圖形庫,接著創(chuàng)建信號量與任務(wù)2~5,最后掛起,不再執(zhí)行。

圖2 μC/OS-III系統(tǒng)各任務(wù)流程

2.1.2 任務(wù)2程序設(shè)計

任務(wù)2負責設(shè)置和更新emWin顯示,執(zhí)行完畢后掛起15 ms。emWin圖形界面包括主界面、設(shè)置界面、Wi-Fi掃描界面、Wi-Fi連接界面和服務(wù)器界面。

主界面顯示家居系統(tǒng)的整體運行狀況,設(shè)置界面用于配置各家電工作參數(shù)、傳感器報警門限等。

Wi-Fi掃描界面用于發(fā)現(xiàn)周圍Wi-Fi,掃描完成進入Wi-Fi連接界面,輸入密碼后可連接至遠程云服務(wù)器。

服務(wù)器界面用于輸入遠程云服務(wù)器的IP地址和端口,修改完成會將設(shè)置保存在EEPROM內(nèi)。

2.1.3 任務(wù)3程序設(shè)計

任務(wù)3負責觸摸屏和數(shù)碼管顯示。首先用觸摸屏顯示emWin設(shè)置好的界面;接著對數(shù)碼管進行動態(tài)掃描,并控制其顯示空調(diào)設(shè)定溫度;最后任務(wù)掛起15 ms。

2.1.4 任務(wù)4程序設(shè)計

任務(wù)4負責檢測各傳感器。在程序開始時對ADC、串口等外設(shè)進行初始化,進入μC/OS-III系統(tǒng)后,按圖3所示流程,依次對煙霧與可燃氣體濃度、有害氣體濃度、室內(nèi)外PM2.5濃度、氣壓、光照度及溫度進行檢測。當室內(nèi)PM2.5、MQ2和MQ135檢測到的數(shù)據(jù)超標時,啟動蜂鳴器報警。如果檢測結(jié)果有異常,再根據(jù)其數(shù)值控制窗戶、抽風機、空氣凈化器等設(shè)備,以改善家居環(huán)境;最后任務(wù)掛起500 ms。

2.1.5 任務(wù)5程序設(shè)計

任務(wù)5負責與Wi-Fi模塊和GSM模塊交換數(shù)據(jù)。進入μC/OS-III系統(tǒng)后,若Wi-Fi模塊已正確連接以太網(wǎng),系統(tǒng)執(zhí)行圖4所示W(wǎng)i-Fi信息發(fā)送程序,將采集到的數(shù)據(jù)和當前家居設(shè)備的狀態(tài)發(fā)送至遠程云服務(wù)器。當遠程Android應(yīng)用程序要控制家居時,也通過云服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)給Wi-Fi模塊,由其傳輸給單片機。

當出現(xiàn)緊急情況,需要報警時,則依據(jù)圖5所示流程,通過GSM模塊發(fā)送短消息至用戶手機,及時提醒使用者。STM32單片機都是通過AT命令控制Wi-Fi模塊和GSM模塊,進行數(shù)據(jù)收發(fā)。

圖4 ESP8266遠程信息發(fā)送程序流程

圖5 GSM模塊發(fā)送報警短消息程序流程

2.2 遠程服務(wù)器

遠程監(jiān)控工作框架如圖6所示,遠程服務(wù)器采用騰訊公司的騰訊云云服務(wù)器(Cloud Virtual Machine,CVM),它提供可擴展的計算容量,且擁有公網(wǎng)唯一IP,理論上在任何地方只要能連接因特網(wǎng),即可與其進行通信。通過騰訊云CVM,可以在短時間內(nèi)快速啟動任意數(shù)量的云服務(wù)器,即時部署應(yīng)用程序,并支持使用者自定義的一切資源,如CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)和安全等[13]。騰訊云CVM使用Linux Ubuntu系統(tǒng),利用Socket和雙進程分別完成對8001和9999端口的監(jiān)聽,其中8001為智能手機連接端口,9999為家居系統(tǒng)連接端口。

圖6 遠程監(jiān)控工作框架

2.3 Android APP程序設(shè)計

智能手機Android應(yīng)用程序開發(fā)環(huán)境包括JDK(Java Development Kit,Java開發(fā)工具包)、Android SDK(Software Development Kit,軟件開發(fā)包)、Eclipse和 ADT(Android Development Tools)插件。在安裝Android開發(fā)環(huán)境時,首先須要安裝支持Java程序開發(fā)和運行的JDK,還需要有 JRE(Java Runtime Environment,Java運行環(huán)境)的支持;Android SDK是Android開發(fā)工具包,它提供Android相關(guān)的API;Eclipse是IBM公司開發(fā)的一種基于Java語言編寫,開放源代碼,可擴展的集成開發(fā)工具;ADT是Google專門為Eclipse開發(fā)的一個插件,用來輔助開發(fā)[14-20]。

打開應(yīng)用程序后會自動使用Socket連接遠程服務(wù)器,監(jiān)聽遠程服務(wù)器發(fā)送的信息,解析并顯示于屏幕。圖7(a)為手機上的Android應(yīng)用程序主界面,用于顯示家居系統(tǒng)整體工作狀態(tài);進入圖7(b)所示設(shè)置頁面后,可修改各家居系統(tǒng)工作參數(shù),點擊保存會將所有參數(shù)以指令形式發(fā)送給云服務(wù)器。云服務(wù)器進程接收到指令后,將指令發(fā)送至管道,另一進程接收管道內(nèi)容并將數(shù)據(jù)發(fā)送至家居系統(tǒng),完成數(shù)據(jù)的交互。

圖7 Android端應(yīng)用程序

3 實驗結(jié)果

研究過程中,采用先模型驗證,后實物制作的方法。圖8為系統(tǒng)硬件模型,它采用KT紙板做外觀材料,電路固定于模型底部,各傳感器和電器露出于模型外,以便觀察。

實驗證明,系統(tǒng)能夠正常檢測并自動調(diào)節(jié)家居環(huán)境溫度、光照度、空氣質(zhì)量等,使用者可通過智能手機遠程監(jiān)控家居狀況;有異常時,家居系統(tǒng)也會發(fā)送手機短消息以告知使用者。

圖8 系統(tǒng)硬件模型

4 結(jié)束語

研究表明,通過糅合現(xiàn)有的傳感檢測技術(shù)、自動控制技術(shù)等,借助現(xiàn)有的GSM網(wǎng)絡(luò)、互聯(lián)網(wǎng)和云服務(wù)器,結(jié)合Wi-Fi短距離無線通信,操作者可通過Android智能手機遠程對家居環(huán)境狀況進行實時監(jiān)控。實驗證明系統(tǒng)性能良好,實時性高,安全可靠,成本低廉,其包含的核心技術(shù)經(jīng)過企業(yè)消化后,能直接投入市場,可望產(chǎn)生積極的社會效應(yīng)和社會效益,推動現(xiàn)代化智能家居的發(fā)展。

猜你喜歡
家居智能家居遠程
讓人膽寒的“遠程殺手”:彈道導(dǎo)彈
軍事文摘(2022年20期)2023-01-10 07:18:38
遠程工作狂綜合征
英語文摘(2021年11期)2021-12-31 03:25:18
打造日常家居“氛圍感”
臺北家居
文苑(2018年18期)2018-11-08 11:12:42
遠程詐騙
學生天地(2018年19期)2018-09-07 07:06:30
基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
電子制作(2018年1期)2018-04-04 01:48:28
關(guān)于智能家居真正需求的探討
智能家居更貼心
科學生活(2015年3期)2015-01-03 09:41:18
基于LD3320的智能家居控制
河南科技(2014年7期)2014-02-27 14:11:13
《數(shù)碼家居》2009年下半年推薦榜
澄城县| 新和县| 阳西县| 政和县| 武威市| 高要市| 玉屏| 上饶市| 米泉市| 虎林市| 靖江市| 杭锦后旗| 普安县| 肃北| 左权县| 克东县| 固安县| 专栏| 洛浦县| 柞水县| 天全县| 铜陵市| 仲巴县| 铜山县| 毕节市| 鄂伦春自治旗| 淳化县| 南陵县| 德庆县| 化隆| 奉贤区| 上思县| 青海省| 家居| 探索| 固安县| 翁牛特旗| 邵武市| 宜兴市| 徐水县| 达孜县|