王亞林,王清勃,查文華
東華理工大學機械與電子工程學院,江西,南昌,330013
隨著國家經(jīng)濟發(fā)展和百姓生活水平的提高,人們對家居環(huán)境的品質要求越來越高,家中空氣濕度、溫度和不健康氣體等逐漸被重視和關注起來。本文設計一種在線家居環(huán)境監(jiān)測系統(tǒng),以GEC-S5P6818為控制器,在其外圍加上溫度、光照等傳感器模塊,可以采集環(huán)境溫度、濕度、大氣壓強和光照強度等信息,并在LCD屏上顯示出來,同時也將數(shù)據(jù)通過MQTT實時上傳阿里云服務平臺,實現(xiàn)環(huán)境數(shù)據(jù)在線監(jiān)控和顯示,達到了對監(jiān)控環(huán)境的實時監(jiān)測[1-2]。
使用的GEC-S5P6818開發(fā)平臺有豐富的外圍設備,支持以太網(wǎng)、USB接口和MIPI接口。在底板背部留有一個40PIN的LCD接口,通過軟排線將RGB相關信號連接到LCD控制板上[3],硬件結構總體框圖如圖1所示。
圖1 硬件結構總體框圖
利用了分辨率為800*480的LCD顯示屏。當顯示BGM圖片時,把顏色值填入幀緩沖設備中,底層驅動按照從左到右、從上到下的順序把屏幕每個像素點顯示成對應的顏色,在LCD屏上就能顯示出bmp圖片。當內存映射時,使用mmap函數(shù)把一個文件映射到內存,映射成功之后就可以像操作內存一樣操作這個文件,進而對文件進行一系列操作。
使用的GY-39是一款能實現(xiàn)氣壓、溫濕度、光照強度采集的傳感器模塊,工作電壓3~5V,當MCU收集傳感器數(shù)據(jù)后,通過用戶解析統(tǒng)一處理后,在終端顯示出計算后的結果。
使用的火焰?zhèn)鞲衅鬟B接在開發(fā)板的串口上,工作電壓3.3~5V;比較器輸出信號,波形良好,具有驅動能力,輸出電流達15mA以上。火焰?zhèn)鞲衅骺蓹z測波長范圍在760~1100nm內的火焰。在測試初期,一直使用打火機作火源,火焰距離80cm左右,火焰越大,測試距離越遠。檢測角度縱向約為60度,利用傳感器對火焰光譜的敏感性,在可調電位器調節(jié)下,可適當調節(jié)火焰?zhèn)鞲衅鞯撵`敏度。在檢測范圍內,當檢測到火苗或明顯的光照時,AD口采集到數(shù)據(jù)后會向核心板發(fā)送高電位“1”,串口RX收到該數(shù)據(jù)后,開始調用蜂鳴器函數(shù)并驅使蜂鳴器發(fā)聲,如果火焰不結束,蜂鳴器會一直鳴叫。
在嵌入式開發(fā)平臺創(chuàng)建好開發(fā)環(huán)境后進行配置、安裝,然后在主機上編輯和調試嵌入式程序,并將文件執(zhí)行寫入目標機中。利用虛擬機系統(tǒng)、物理機系統(tǒng)和ARM開發(fā)板文件的共享功能,實現(xiàn)編譯程序代碼及跨平臺代碼的信息編輯[4-5]。
設計中利用source insight4.0進行代碼書寫、管理。其中,Ubuntu的代碼編譯使用arm-linuxgcc系列工具,在遇見錯誤和邏輯問題時,為穩(wěn)定執(zhí)行過程,做到及時修改程序,可使用gdb進行調試。在PC機上編譯完成后,利用rz工具進行燒寫,然后經(jīng)過串口寫進S5P6818開發(fā)板上。接入網(wǎng)線到開發(fā)板中會出現(xiàn)以下情況。
(1)在SecureCRT終端可以打開以下信息:[4147.078000] PHY: stmmac-0:04 - Link is Up - 1000/Full,說明當前以太網(wǎng)口已經(jīng)被激活可以使用。
(2)以太網(wǎng)口LED燈在閃爍,說明在測試Windows與開發(fā)板是不是連通;開發(fā)板ping百度時出現(xiàn):
[root@GEC6818 /]#ping www.baidu.com
PING www.baidu.com: 56 data bytes
64 bytes from www.baidu.com: seq=0 ttl=64 time=1.888 ms
64 bytes from www.baidu.com: seq=1 ttl=64 time=0.648 ms
如果出現(xiàn)跳秒現(xiàn)象的話,說明開發(fā)板可與ping通PC機。
由于GY-39模塊采集到的數(shù)據(jù),輸出格式固定,每幀數(shù)據(jù)均含十六進制的8~13個字節(jié),各幀含義如下:
Byte0: 0x5A,幀頭標志;
Bytel:0x5A,幀頭標志;
Byte2:0x15,本幀數(shù)據(jù)類型;
Byte3:0x04,數(shù)據(jù)量;
Byte4:0x00~0xFF,數(shù)據(jù)前高8位;
Byte5:0x00~0xFF,數(shù)據(jù)前低8位;
Byte6:0x00~0xFF,數(shù)據(jù)后高8位;
Byte7:0x00~0xFF,數(shù)據(jù)后低8位;
Byte8:0x00~0xFF,校驗和。
(1)光照強度計算(當Byte2=0x15時,數(shù)據(jù):Byte4~Byte7)。
Lux=(前高8位<<24)| (前低8位<<16)| (后高8位<<8)|后低8位單位lux;
Lux=(0x00<<24)|(0x00<<16) |(0xFE<<8)0x40;
Lux= Lux/100-650.88 (lux);
(2)溫度、氣壓、濕度、海拔,分別計算(當Byte2=0x45時)。
溫度:Byte4 Byte5;
T=(高8位<<8)| 低8位;
T= T/100單位C;
氣壓: Byte6-Byte9;
P= (前高8位<<24)| (前低8位<<16)| (后高8位<<8)| 后低8位;
P= P/100 單位pa;
濕度: Byte10-Byte11;
Hum= (高8位<<8) |低8位;
Hum= Hum/100 百分制;
海拔: Bytel2~Byte13;
H= (高8位<<8)| 低8位 單位m;
火焰?zhèn)鞲衅鞑杉降臄?shù)據(jù)為高低電平,通過串口將采集到的數(shù)據(jù)讀出來,高電平為1,低電平為0;將1和0作為字符串傳遞到應用的函數(shù)中即可,隨后將導出的串口恢復。實驗中,收集的部分數(shù)據(jù)見表1,系統(tǒng)采集數(shù)據(jù)與普通儀表采集數(shù)據(jù)對比如圖2所示。
表1 實驗采集數(shù)據(jù)
圖2 系統(tǒng)采集數(shù)據(jù)與普通儀表采集數(shù)據(jù)對比
系統(tǒng)是基于Aliyun mqtt的數(shù)據(jù)上傳的代理協(xié)議,提供一對多分發(fā)消息,發(fā)布者可以匹配多個訂閱者,當發(fā)布者更改時,可以通知所有訂閱者,這種模式提供多個基于網(wǎng)絡拓撲結構的擴展功能。在物聯(lián)網(wǎng)平臺上自定義Topic類后,設備將消息發(fā)送到自定義Topic中,服務端通過 SDK獲取設備上報消息,服務端通過調用云端API Pub向設備發(fā)布指令,實現(xiàn)智能家居在線監(jiān)控。來自IOT平臺相應設備的數(shù)據(jù)顯示在對象模型的選項卡上,數(shù)據(jù)驗證通過后,它將與設備數(shù)據(jù)表單中的設備詳細信息頁面一起顯示在IOT控制臺平臺上對應選項卡,服務器可以通過基本引擎獲取響應結果,設備事件屬性,數(shù)據(jù),設備設置和屬性,服務調用命令,預訂服務,產(chǎn)品流云。通過定義物模型并設置實時刷新來實時查看采集到的數(shù)據(jù),并且可以選擇圖表和表格的形式,使得數(shù)據(jù)更加的直觀。
Connect:當一個TCP/IP套接字在服務器端和客戶端連接建立時需使用的命令。
publish:是由客戶端向服務端發(fā)送,告訴服務器端自己感興趣的Topic。
disconnect:斷開這個TCP/IP協(xié)議。
采集到的一系列數(shù)據(jù)經(jīng)過處理后,需要通過設備發(fā)送上報到云平臺,即可實現(xiàn)智能家居系統(tǒng)的在線查看功能,利用打火機進行實驗監(jiān)測時,電腦監(jiān)控界面出現(xiàn)異常報警信號,如圖3所示。
圖3 打火機測試報警信號
本文利用嵌入式技術、物聯(lián)網(wǎng)技術進行了家居環(huán)境的實驗研究,實時監(jiān)測出了家居環(huán)境的溫度、濕度、光照強度等。但所設計系統(tǒng)也有不完美之處,偶爾出現(xiàn)數(shù)據(jù)的精度不夠問題,且由于預算經(jīng)費的限制,限制使用功能選用更好的模塊,后續(xù)在功能擴展、精度條件和算法等方面還有深度研究的價值。理想型智能家居傳感器終端應具有自適應判斷環(huán)境、自我診斷和自我修復的能力,可以有效地改善智能家居應用的動態(tài)智能協(xié)作感知。此外,隨著中國三大電信運營商對5G網(wǎng)絡和應用的快速發(fā)展,依靠最新的5G網(wǎng)絡優(yōu)勢,結合智能家居應用的特點,5G手機被用于實現(xiàn)可視對講等服務。另外,在保證安全的基礎上,通過終端模塊加載和自動發(fā)現(xiàn)協(xié)議,使一些設備能通過大數(shù)據(jù)獲取人們的日?;顒?,對家庭網(wǎng)絡的訪問將更加自動化,實現(xiàn)即插即用。