施新起
(國家廣電總局六五四臺(tái),新疆呼圖壁,831200)
溫度遠(yuǎn)程專項(xiàng)監(jiān)控系統(tǒng),對于實(shí)驗(yàn)室來說屬于較為重要的部分,系統(tǒng)設(shè)計(jì)效果高低與否,對實(shí)驗(yàn)室各項(xiàng)工作影響較大,而物聯(lián)網(wǎng)則可起到良好的輔助作用。因而,綜合分析物聯(lián)網(wǎng)之下實(shí)驗(yàn)室的溫度遠(yuǎn)程專項(xiàng)監(jiān)控系統(tǒng)實(shí)踐設(shè)計(jì),有著一定的現(xiàn)實(shí)意義和價(jià)值。
為確保物聯(lián)網(wǎng)之下實(shí)驗(yàn)室的溫度遠(yuǎn)程專項(xiàng)監(jiān)控系統(tǒng)各項(xiàng)功能得以有效實(shí)現(xiàn),此次以開源樹莓派基礎(chǔ)套件集可靠性系統(tǒng)程序語言為基礎(chǔ)所構(gòu)建物聯(lián)網(wǎng)系統(tǒng)架構(gòu)在。該系統(tǒng)是結(jié)合物聯(lián)網(wǎng)三層結(jié)構(gòu)組織的軟硬件,內(nèi)含感知模塊、中間傳輸模塊、應(yīng)用模塊等。結(jié)合系統(tǒng)要求及架構(gòu)分析,后臺(tái)處理系統(tǒng)程序借助 Python 實(shí)施編輯操作,接收轉(zhuǎn)換及存儲(chǔ)傳感裝置信息數(shù)據(jù),釘釘版本機(jī)器人裝置報(bào)警系統(tǒng)對接API,實(shí)施對蜂鳴裝置和風(fēng)扇燈應(yīng)急控制[1]。數(shù)據(jù)信息庫內(nèi)選定開源Maria DB,其語法相通于My SQL,支持PHP 和 Python語言語法。以PHP7 為基礎(chǔ)編寫Web 端系統(tǒng)程序,確保系統(tǒng)網(wǎng)頁上面可展示出該部分?jǐn)?shù)據(jù)信息庫。內(nèi)網(wǎng)穿透需經(jīng)海貝銳企業(yè)所提供花生殼Oray 提供動(dòng)態(tài)化名解析系統(tǒng)服務(wù)來實(shí)現(xiàn),把局域網(wǎng)絡(luò)當(dāng)中服務(wù)裝置映射至我互聯(lián)網(wǎng)當(dāng)中,遠(yuǎn)程訪問即可實(shí)現(xiàn)。該系統(tǒng)內(nèi)部,溫度傳感裝置把所采集數(shù)字化信號(hào)經(jīng)1-wire 的總線及時(shí)傳輸?shù)娇傁到y(tǒng)內(nèi)部,Python 編寫后臺(tái)系統(tǒng)處理程序?qū)嵅倨陂g,需拆解好數(shù)據(jù)包,數(shù)據(jù)信息需轉(zhuǎn)換且存入至數(shù)據(jù)信息庫內(nèi),判斷數(shù)據(jù)參數(shù)值為過小或過大,監(jiān)測到了異常參數(shù)值后,系統(tǒng)后臺(tái)程序和釘釘版本機(jī)器人會(huì)及時(shí)實(shí)施對接報(bào)警操作,驅(qū)動(dòng)蜂鳴裝置及風(fēng)扇高效運(yùn)行。Web 端的PHP 編寫程序?qū)嵤?shù)據(jù)庫內(nèi)信息數(shù)據(jù)讀取,在網(wǎng)頁上面實(shí)時(shí)顯示最新數(shù)據(jù),如圖1 為流程示意圖。
圖1 系統(tǒng)運(yùn)行流程示意圖
以樹莓派為系統(tǒng)主要控制和運(yùn)算服務(wù)裝置,感知裝置是DS18B20 型號(hào)數(shù)字溫度的傳感裝置,把源蜂裝置當(dāng)成本地的報(bào)警裝置,因考慮到裝置需長期穩(wěn)定運(yùn)行,故裝置需配置UPS 電源起到輔助運(yùn)行作用,防止斷電情況之下裝置難以對異?,F(xiàn)象予以準(zhǔn)確記錄和警報(bào),因裝置部署環(huán)境之下可能無網(wǎng)線相關(guān)基礎(chǔ)設(shè)施,故樹莓派和外部聯(lián)絡(luò)方式可借助Wi-Fi、有線網(wǎng)絡(luò)等手段,應(yīng)對環(huán)境所造成不便情況,詳見圖2為系統(tǒng)硬件設(shè)計(jì)詳細(xì)情況。
圖2 硬件設(shè)計(jì)詳細(xì)情況
(1)在樹莓派層面
在一定程度上,樹莓派屬于以ARM 為基礎(chǔ)架構(gòu)電腦版,美國的樹莓派專項(xiàng)基金會(huì)所研制,大小類似于撲克牌,具備單片裝置或者電腦各項(xiàng)功能,能夠搭載win10 的物聯(lián)網(wǎng)系統(tǒng)版本、Linux 主流發(fā)行的版本,因價(jià)格相對低廉,由于較高可擴(kuò)展性[2]。此次以4B 型號(hào)樹莓派開發(fā)板,設(shè) Linux 系統(tǒng)當(dāng)中Debian 所發(fā)行的版本,內(nèi)含 GPIO 型號(hào)1-wire 系統(tǒng)接口,5V 型號(hào)GND 及VCC 接口。
(2)在數(shù)字溫度的傳感裝置層面
因樹莓派無模數(shù)轉(zhuǎn)換裝置,故無法直接接收該模擬信號(hào),因溫度遠(yuǎn)程的監(jiān)控系統(tǒng)選定DS18B20 型號(hào)數(shù)字溫度的傳感裝置為主要的感知裝置。DS18B20 為數(shù)字溫度的傳感裝置常用類型,內(nèi)含引腳三個(gè)、寄存裝置、計(jì)數(shù)裝置、晶振等。溫度測定范圍是-55℃至±125℃,±0.5℃精度。溫度改變后,晶振會(huì)有脈沖變化產(chǎn)生,并傳遞至計(jì)數(shù)裝置當(dāng)中,計(jì)數(shù)裝置靜加減運(yùn)輸分析,把數(shù)值傳至寄存裝置,寄存裝置上面所顯示數(shù)值為當(dāng)前實(shí)際溫度[3]。
(3)在總線層面
在一定程度上,1-wire 總線屬于雙工異步半串行傳輸手段,僅需一條信號(hào)便能夠傳輸數(shù)據(jù)信息。1-wire 總線實(shí)際傳輸期間,信號(hào)線可實(shí)現(xiàn)數(shù)據(jù)信息傳輸,還屬于連接至1-wire 總線設(shè)備電源主要來源。所有1-wire 總線均獨(dú)立設(shè)置64 位的標(biāo)識(shí)碼,方便對連接設(shè)備實(shí)施有效辨識(shí),故可搭載裝置相對較多。
以Linux 樹莓派為基礎(chǔ),維持系統(tǒng)軟件正常運(yùn)行狀態(tài),以Python3-7 實(shí)施編寫操作,Maria DB 的數(shù)據(jù)庫內(nèi)存儲(chǔ)數(shù)據(jù)信息。因考慮到系統(tǒng)硬件自身運(yùn)算性能,所有傳感裝置均設(shè)單獨(dú)進(jìn)程,下列為詳細(xì)的流程:系統(tǒng)程序讀取到傳感裝置相關(guān)信息數(shù)據(jù)后,逐步返回?cái)?shù)據(jù)信息目錄之下數(shù)據(jù)包,借助數(shù)據(jù)信息轉(zhuǎn)換解包,把數(shù)據(jù)信息轉(zhuǎn)換為一種以攝氏度為基本單位的參數(shù)值,把所采集到我的溫度計(jì)時(shí)間數(shù)據(jù)存至數(shù)據(jù)信息庫內(nèi)。程序循環(huán)運(yùn)行,對比設(shè)定閾值,以便于判斷溫度是否異常,是否需要激活報(bào)警功能模塊,并驅(qū)動(dòng)著風(fēng)扇維持良好運(yùn)行狀態(tài)。
(1)在讀取數(shù)據(jù)層面
因系統(tǒng)需讀取該傳感裝置內(nèi)部數(shù)據(jù)信息,故需經(jīng)import os 庫當(dāng)中 os system 函數(shù)的模擬終端裝置運(yùn)行mod probe系統(tǒng)指令激活接口,找到該傳感裝置返回信息數(shù)據(jù)文件,完成數(shù)據(jù)文件讀取后,依照著utf-8系統(tǒng)格式返回,開啟新進(jìn)程,便于獲取前兩行數(shù)據(jù)信息,予以包裝好,實(shí)施是被信息數(shù)據(jù)檢測,重試至首行末尾處YES,經(jīng)運(yùn)算后,把數(shù)據(jù)信息轉(zhuǎn)換成攝氏度返回。如圖3 所示。
圖3 溫度讀取流程
(2)在數(shù)據(jù)庫層面
此次設(shè)計(jì)當(dāng)中,數(shù)據(jù)信息庫可存放后臺(tái)系統(tǒng)程序所獲取信息數(shù)據(jù)及前臺(tái)系統(tǒng)程序,對所展示出數(shù)據(jù)實(shí)施有效讀取,且可查詢歷史數(shù)據(jù)信息,介紹后臺(tái)系統(tǒng)程序把數(shù)據(jù)信息存入至數(shù)據(jù)庫整個(gè)實(shí)操過程。音傳感裝置持續(xù)更新,數(shù)據(jù)信息庫需實(shí)時(shí)存入更多新數(shù)據(jù)信息,故插入語句需放置于循環(huán)監(jiān)測系統(tǒng)模塊當(dāng)中,監(jiān)測與存儲(chǔ)同步完成。因樹莓派內(nèi)含采集數(shù)據(jù)、云服務(wù)裝置等在,數(shù)據(jù)信息庫連接并不需要指定IP 外部地址,可直接實(shí)施本地操作,確保信息傳輸操作穩(wěn)定性及安全性得以提升[4]。
(3)在報(bào)警和控制功能層面
該系統(tǒng)內(nèi)部報(bào)警及控制功能模塊內(nèi)含釘釘版本機(jī)器人的報(bào)警模塊、風(fēng)扇控制系統(tǒng)模塊、蜂鳴裝置報(bào)警等,各個(gè)模塊有效聯(lián)合,實(shí)現(xiàn)多途徑報(bào)警,信息數(shù)據(jù)可精準(zhǔn)且安全發(fā)送至管理員后臺(tái),損失得以減少。釘釘版本機(jī)器人,她屬于釘釘辦公的社交軟件一種內(nèi)置功能,為釘釘群聊擴(kuò)展功能,能夠把第三方的服務(wù)信息靜接口推送至群聊當(dāng)中,信息可實(shí)現(xiàn)有效同步。蜂鳴裝置屬于本地報(bào)警系統(tǒng)模塊,能夠彌補(bǔ)斷網(wǎng)相關(guān)極端環(huán)境之下報(bào)警形式的空缺,屬于單獨(dú)的系統(tǒng)程序。異常情況出現(xiàn)后,主程序會(huì)及時(shí)通過相應(yīng)編碼予以有效條用。調(diào)用主程序期間,高電平輸出,蜂鳴裝置會(huì)發(fā)出聲響。溫度在回至正常參數(shù)值后,系統(tǒng)主程序會(huì)將停止信號(hào)發(fā)出,蜂鳴裝置則會(huì)停止運(yùn)行。異常溫度環(huán)境之下,風(fēng)扇可起到一定響應(yīng)裝置作用,后續(xù)使用期間可替換成空調(diào)開關(guān)相關(guān)基礎(chǔ)設(shè)施。風(fēng)扇運(yùn)行原理類似于蜂鳴裝置外部的一種可調(diào)用系統(tǒng)程序。如圖4 所示。
圖4 報(bào)警和控制模塊
搭建硬件系統(tǒng)平臺(tái)和軟件編程完畢,對該系統(tǒng)開展整體測試,對系統(tǒng)自身可靠性及功能性予以有效驗(yàn)證分析。此次研究,布設(shè)好小型的實(shí)驗(yàn)室開展一周持續(xù)性的運(yùn)行測試。
(1)在功能測試層面
功能測試,即為驗(yàn)證系統(tǒng)內(nèi)部既定功能,內(nèi)含數(shù)據(jù)信息能否正常完成此案件入庫存儲(chǔ),網(wǎng)頁可否實(shí)現(xiàn)正常顯示,異常參數(shù)值發(fā)生后是否能夠及時(shí)開展報(bào)警操作等各項(xiàng)系統(tǒng)功能。需對系統(tǒng)裝置開展細(xì)致檢查工作,確保裝置硬件正常連接,進(jìn)入到數(shù)據(jù)庫內(nèi)部,在將數(shù)據(jù)表當(dāng)中數(shù)據(jù)指令輸入進(jìn)去,查閱所存儲(chǔ)信息數(shù)據(jù)。報(bào)警測試期間,技術(shù)員需手握溫度傳感裝置,確保溫度可提升到30℃,對釘釘可否存在著機(jī)器人的報(bào)警信息數(shù)據(jù)實(shí)施有效檢查,觀察該蜂鳴裝置可否維持正常發(fā)聲狀態(tài)。
(2)在可靠性測定層面
圍繞著系統(tǒng)開展可靠性的有效測定,其實(shí)驗(yàn)證系統(tǒng)可否維持穩(wěn)定運(yùn)行狀態(tài),部署環(huán)境下不會(huì)有宕機(jī)產(chǎn)生。若卡頓異常,或者是同步產(chǎn)生多條傳感裝置,則是否會(huì)堵塞信息數(shù)據(jù)。測定結(jié)果屬于實(shí)驗(yàn)室內(nèi)部溫度遠(yuǎn)程專項(xiàng)監(jiān)控系統(tǒng)一周持續(xù)運(yùn)行后,可始終維持系統(tǒng)穩(wěn)定可靠的運(yùn)行狀態(tài),宕機(jī)及卡頓等現(xiàn)象并未產(chǎn)生,所有系統(tǒng)功能均可維持正常穩(wěn)定地運(yùn)行狀態(tài)。
綜上所述,物聯(lián)網(wǎng)之下實(shí)驗(yàn)室的溫度遠(yuǎn)程專項(xiàng)監(jiān)控系統(tǒng)實(shí)踐設(shè)計(jì)中,為確保系統(tǒng)功能得以實(shí)現(xiàn),仍然需更多技術(shù)員增加對這一層面實(shí)踐研究,以保障系統(tǒng)設(shè)計(jì)整體效果。