侯昌華 包敬海 梁燕葵 陸民飛 楊祥 覃紹勝
摘 要:設(shè)計基于ARM Cortex M4 (STM32F407ZGT6)的微型控制器,完成對設(shè)備端傳感器(溫度、濕度、光強、煙霧等)輸入信號的采集(模擬量轉(zhuǎn)數(shù)字量算法、條件組數(shù)字量濾波算法)與機械設(shè)備(門、窗、燈)的輸出控制,并通過SIM-GPRS網(wǎng)關(guān)與騰訊云端主機建立網(wǎng)絡(luò)連接;Android APP完成對客戶端用戶登錄、信息查看以及對下控制交互頁面,且通過HTTP網(wǎng)絡(luò)通信與騰訊云主機上Tomcat7服務(wù)器承載的自定義Java Web服務(wù)程序?qū)崿F(xiàn)訪問,采用C/S架構(gòu),使客戶端程序與服務(wù)器數(shù)據(jù)庫直接建立連接,實現(xiàn)對智能設(shè)備端遠(yuǎn)程數(shù)據(jù)的查看與向下控制。
關(guān)鍵詞:Cortex M4;遠(yuǎn)程網(wǎng)絡(luò);環(huán)境監(jiān)控;Android APP;濾波算法;Tomcat7
中圖分類號:TP277文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2019)10-0-03
0 引 言
隨著信息智能化的迅速發(fā)展與應(yīng)用管理水平的不斷提高,人們對智能一體化設(shè)備以及自身安全信息管理平臺的需求與關(guān)注度日趨增長[1],智能且安全的應(yīng)用系統(tǒng)的需求日益增強。近年來,智能物聯(lián)網(wǎng)領(lǐng)域涌現(xiàn)出一批具有影響力的企業(yè)和團(tuán)隊,研發(fā)出一系列應(yīng)用產(chǎn)品,主要涵蓋智能家居、車載電子、農(nóng)林養(yǎng)殖及消費類電子等,在通信協(xié)議層主要采用藍(lán)牙,WiFi,ZigBee,Z-wave,VESP等方案[2-3]。
然而,集成度較高的智能家居系統(tǒng)成本太高,而簡單的控制系統(tǒng)難以滿足遠(yuǎn)程控制的需求。為此,本文基于Cortex M4與Android APP設(shè)計一個遠(yuǎn)端家庭環(huán)境監(jiān)控系統(tǒng)[4],利用ARM處理器對家居中的環(huán)境數(shù)據(jù)進(jìn)行實時監(jiān)控,并通過SIM900A網(wǎng)關(guān)設(shè)備與云端進(jìn)行通信。同時,為方便用戶使用,通過Android Studio設(shè)計APP應(yīng)用軟件程序。
1 系統(tǒng)組成框架
系統(tǒng)在正常網(wǎng)絡(luò)設(shè)備的基礎(chǔ)上可實現(xiàn)全天候、無季節(jié)、遠(yuǎn)距離的監(jiān)測與控制,完成對設(shè)備端、云端以及客戶端系統(tǒng)設(shè)備的搭建與數(shù)據(jù)通信關(guān)聯(lián)。整體功能系統(tǒng)包括傳感器輸入、處理器輸入輸出、網(wǎng)絡(luò)通信傳輸、基站中轉(zhuǎn)、云端服務(wù)器、移動客戶端Android APP,可用于對遠(yuǎn)端家庭環(huán)境室內(nèi)安全信息傳感器數(shù)據(jù)(溫度、濕度、光強、煙霧等)的檢測及對機械設(shè)備(門、窗、燈)的控制。整體框架可分為設(shè)備端、云端、客戶端三部分,具體如圖1所示。
2 系統(tǒng)實現(xiàn)原理
2.1 設(shè)備端系統(tǒng)實現(xiàn)
基于ARM Cortex M4 STM32F407ZGT6處理器,通過使用VC/C++計算機程序語言,在Keil MDK5嵌入式集成開發(fā)工具上實現(xiàn)對處理器邏輯應(yīng)用I/O驅(qū)動程序的開發(fā)[5-7]。程序總體結(jié)構(gòu)可分為硬件設(shè)備初始化塊、多任務(wù)創(chuàng)建塊、觸摸屏響應(yīng)塊、圖形化界面顯示塊、傳感器數(shù)據(jù)更新塊、網(wǎng)絡(luò)通信塊等。設(shè)備端系統(tǒng)軟件程序設(shè)計采用模塊化面向功能函數(shù)編程的設(shè)計,同時加入了多任務(wù)實時操作系統(tǒng)μC/OS-III與圖形化界面庫STemWin。
(1)初始化程序完成對硬件設(shè)備寄存器驅(qū)動、GUI庫、μC/OS-III實時操作系統(tǒng)[8]的初始配置。
(2)Touch任務(wù)函數(shù)是μC/OS-III多任務(wù)系統(tǒng)下創(chuàng)建的子任務(wù)函數(shù),調(diào)用STemWin接口API,對觸摸屏觸摸輸入的有效命令進(jìn)行檢測與響應(yīng)。
(3)EmWin任務(wù)函數(shù)是μC/OS-III多任務(wù)系統(tǒng)下創(chuàng)建的子任務(wù)函數(shù),調(diào)用STemWin接口API實現(xiàn)LCD的界面顯示,包括鼠標(biāo)游標(biāo)、主體界面(窗口、Logo圖片、傳感實時數(shù)據(jù)文本、觸摸控鍵Button圖片)的顯示。
(4)Test任務(wù)函數(shù)是μC/OS-III多任務(wù)系統(tǒng)下創(chuàng)建的子任務(wù)函數(shù),調(diào)用自定義的邏輯接口API函數(shù)實現(xiàn)對底層的控制訪問,包括傳感器數(shù)據(jù)的輸入更新、機械設(shè)備的輸出控制及網(wǎng)絡(luò)服務(wù)的通信傳輸。
設(shè)備端系統(tǒng)軟件程序流程如圖2所示。
2.2 云端服務(wù)器系統(tǒng)實現(xiàn)
騰訊云Windows Server 2012R2主機搭載Tomcat7服務(wù)器,通過Java Web技術(shù)實現(xiàn)云端應(yīng)用服務(wù)程序,并完成對智能設(shè)備端設(shè)備及客戶端應(yīng)用的網(wǎng)絡(luò)請求、響應(yīng)服務(wù),以及網(wǎng)絡(luò)數(shù)據(jù)傳輸、交互。網(wǎng)絡(luò)端通信遵循HTTP協(xié)議,采用輕量級的“名值對”集合JSON數(shù)據(jù)格式封裝、存儲數(shù)據(jù)流[9-10]。云端系統(tǒng)軟件程序框架如圖3所示。
2.3 客戶端系統(tǒng)實現(xiàn)
基于Android系統(tǒng)配置集成開發(fā)的移動應(yīng)用軟件,其UI界面設(shè)計與組件設(shè)置融合成型[11-12]。應(yīng)用軟件實現(xiàn)用戶登錄,獲取傳感器數(shù)據(jù),利用控制命令進(jìn)入個人信息頁面。首先程序開啟進(jìn)入Logo登錄界面,等待用戶輸入賬號、密碼并點擊登錄,后臺服務(wù)程序獲取用戶賬號、密碼文本字符傳送云端服務(wù)器數(shù)據(jù)庫匹配校驗,用戶賬號、密碼由開發(fā)者在云端MySQL數(shù)據(jù)庫自定義存入,用戶無權(quán)更改。校驗到用戶存在后,云端服務(wù)器回饋登錄成功代碼,登錄成功后進(jìn)入默認(rèn)界面(信息頁面),底部控件欄可切換、選擇查看頁面。進(jìn)入信息頁面:定時更新及顯示從云端服務(wù)器程序獲取到的傳感器數(shù)據(jù)信號量。進(jìn)入控制頁面:圖形狀態(tài)可由控鍵顯示,并將當(dāng)前狀態(tài)傳送至云端服務(wù)器程序。進(jìn)入個人頁面:靜態(tài)文本字符顯示用戶個人信息??蛻舳讼到y(tǒng)軟件程序流程如圖4所示。
3 設(shè)計與研究
3.1 直流電源
利用LM2596和AMS1117核心器件組合成典型的穩(wěn)壓電路,調(diào)制出5 V/3.3 V的直流穩(wěn)壓電源供給設(shè)備系統(tǒng)的各個子模塊。
3.2 傳感器
系統(tǒng)采用接觸式測溫器件DS18B20測量溫度,經(jīng)測試分析,溫度示數(shù)取決于器件表面感應(yīng)到的熱量。采用電阻式感濕器件DHT11測量濕度,采集到的數(shù)據(jù)信息量與空氣濕潤度成正比關(guān)系。采用數(shù)字集成器件BH1750測量光照強度。采用表面電離子式N型半導(dǎo)體氣體敏感器件MQ-2測量煙霧濃度,從而進(jìn)行模擬量輸出。傳感器指標(biāo)數(shù)據(jù)見表1所列。
3.3 TFT LCD模組
設(shè)備端交互界面選用4.3寸觸摸顯示一體LCD電容屏顯示,采用控制驅(qū)動屏數(shù)據(jù)/命令總線FSMC,通過調(diào)用STemWin GUI庫,實現(xiàn)交互界面的主體框架窗口、位圖、文本顯示和觸摸點擊響應(yīng)。
3.4 網(wǎng)絡(luò)通信
設(shè)備端網(wǎng)絡(luò)通信網(wǎng)關(guān)選用SIM900A(GSM/GPRS)模塊(串口(RXD/TXD)),需提供12 V工作電源。插入有數(shù)據(jù)流量支持GPRS通信的SIM卡(物聯(lián)卡/普通電話卡),通過配套的AT指令集配置SIM900A模塊為HTTP通信模式,使本地設(shè)備與公網(wǎng)IP云主機服務(wù)器建立網(wǎng)絡(luò)訪問,最終實現(xiàn)設(shè)備端數(shù)據(jù)的遠(yuǎn)程網(wǎng)絡(luò)傳輸。
3.5 云服務(wù)器
遠(yuǎn)程在線操作公網(wǎng)IP的騰訊云主機,安裝并配置Tomcat7服務(wù)器與MyEclipse 集成開發(fā)工具,將Tomcat7配置綁定于MyEclipse,由MyEclipse工具操縱Tomcat7。啟動Tomcat7服務(wù)器后,在PC瀏覽器輸入云主機Tomcat7 服務(wù)器的URL參數(shù)(IP+端口),測試并驗證服務(wù)器通網(wǎng)訪問是否成功。使用MyEclipse環(huán)境創(chuàng)建Java Web 工程,通過HttpServlet實現(xiàn)客戶端與服務(wù)器、設(shè)備端與服務(wù)器的交互[13-14]。
3.6 Android APP
在PC機上使用Android Studio 3.0集成開發(fā)工具與Android 6.0版智能手機開發(fā)者模式進(jìn)行USB通信ADB在線調(diào)試,通過C/S架構(gòu)完成用戶登錄網(wǎng)路服務(wù)器數(shù)據(jù)驗證[15-16],用戶點擊界面Button控制命令進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)上傳,可實時獲取并更新溫濕度、光照強度及個人用戶信息。
3.7 模擬量轉(zhuǎn)換數(shù)字量算法
4 結(jié) 語
本文設(shè)計了一套綜合性聯(lián)網(wǎng)控制設(shè)備系統(tǒng),軟件方面應(yīng)用Android APP軟件開發(fā)技術(shù)、Java Web后端服務(wù)器程序開發(fā)技術(shù)、中級嵌入式驅(qū)動系統(tǒng)開發(fā)技術(shù)、網(wǎng)絡(luò)編程TCP/HTTP技術(shù)等;硬件方面應(yīng)用電源管理技術(shù)、數(shù)字模擬量傳感器技術(shù)、嵌入式硬件系統(tǒng)技術(shù)等,實現(xiàn)對溫濕度、光照強度、煙霧濃度的采集,以及對機械開關(guān)的輸出控制,并可實現(xiàn)遠(yuǎn)端監(jiān)控。本文系統(tǒng)具有一定的實用性,值得深入研究及應(yīng)用推廣。
參 考 文 獻(xiàn)
[1]譚英奇,邢志強.智能家居功能可重構(gòu)系統(tǒng)研究[J].儀器儀表用戶,2019,26(2):9-11.
[2]顧旻荃.智能家居的發(fā)展與展望[J].電子世界,2018(19):87,89.
[3]賴世杰,蘇小婷,孫萬霞,等.中國智能家居發(fā)展?fàn)顩r分析[J].現(xiàn)代商貿(mào)工業(yè),2018,39(20):190-192.
[4] SHAMIM HOSSAIN M, ABDUR R M,MUHAMMAD G. Cyber-physical cloud-oriented multi-sensory smart home framework for elderly people:an energy efficiency perspective [J]. Journal of parallel and distributed computing,2017(5):11-12.
[5]李靜.基于物聯(lián)網(wǎng)技術(shù)的小型游船監(jiān)控系統(tǒng)研究與設(shè)計[D].桂林:廣西師范大學(xué),2018.
[6]張文瀟,王鑫.基于STM32的以太網(wǎng)通信模塊設(shè)計[J].信息通信,2017(12):118-119.
[7]崔琳,朱磊,劉小龍,等.基于STM32F407的小阻值測量系統(tǒng)設(shè)計與實現(xiàn)[J].國外電子測量技術(shù),2018,37(2):84-89.
[8] CAI G H,LIANG C,HUANGQ,et al.A remote intelligent control system based on ZigBee wireless technology [J]. Applied mechanics and materials,2014(9):71-74.
[9]張漢林,潘俊虹,柯哲星,等.基于微信小程序的“微代”校園服務(wù)平臺[J].電腦編程技巧與維護(hù),2018(12):77-79.
[10]石明翔,田濟(jì)瑋,李文齊,等.基于云服務(wù)的異構(gòu)數(shù)據(jù)庫管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機時代,2018(12):25-28,31.
[11]饒豐江,蘇兆盛,田凡.使用安卓設(shè)備調(diào)試自動化設(shè)備的設(shè)計與實現(xiàn)[J].計算機測量與控制,2018(12):80-83.
[12]范宇,王忠,楊琪.基于安卓的老年人健康監(jiān)測系統(tǒng)[J].信息技術(shù)與信息化,2018(8):75-78,82.
[13]趙恒.Java Web應(yīng)用程序安全技術(shù)[J].電子技術(shù)與軟件工程,2019(4):194.
[14]范國婷,曹飛虎,王秀友,等.基于Java Web的進(jìn)銷存管理系統(tǒng)研究[J].電腦知識與技術(shù),2019,15(2):42-44.
[15]馮明,陳倩.淺談云智能信息化管理平臺的構(gòu)建[J].智能計算機與應(yīng)用,2019(1):233-234.
[16]史桂紅.基于Android及JSON的天氣預(yù)報APP設(shè)計與實現(xiàn)[J].蘇州市職業(yè)大學(xué)學(xué)報,2019,30(1):27-32.