齊晉維
摘 要:為了使管理員多平臺(tái)實(shí)時(shí)監(jiān)測(cè)偏遠(yuǎn)地區(qū)基站機(jī)房環(huán)境,系統(tǒng)使用Arduino單片機(jī)和溫濕度傳感器DHT11,采用AllJoyn開源框架,結(jié)合億聯(lián)客物聯(lián)平臺(tái),在電腦端和安卓移動(dòng)端獲取溫濕度數(shù)據(jù)曲線,并驗(yàn)證AllJoyn的平臺(tái)中立性。
關(guān)鍵詞:AllJoyn;Arduino;DHT11;物聯(lián)網(wǎng);多平臺(tái)
中圖分類號(hào):TP277 文獻(xiàn)標(biāo)識(shí)碼:A
隨著通信行業(yè)的發(fā)展,基站數(shù)量增多,偏遠(yuǎn)地區(qū)機(jī)房檢測(cè)困難。傳感器和物聯(lián)網(wǎng)技術(shù)使管理員實(shí)時(shí)監(jiān)測(cè)并快速解決問題,但多學(xué)科交叉使行業(yè)標(biāo)準(zhǔn)不統(tǒng)一。AllJoyn具有平臺(tái)中立性、多平臺(tái)組件等特點(diǎn)。其核心是總線機(jī)制,服務(wù)端和客戶端的總線附件先連接到總線,之后系統(tǒng)分配給它們唯一的ID,服務(wù)端的總線附件申請(qǐng)共知名稱并廣播,客戶端發(fā)現(xiàn)共知名稱后連接到總線,建立會(huì)話。本設(shè)計(jì)采用Arduino Due和DHT11模塊,結(jié)合億聯(lián)客物聯(lián)網(wǎng)平臺(tái),運(yùn)用AllJoyn多平臺(tái)特性,在電腦端和安卓手機(jī)端進(jìn)行數(shù)據(jù)曲線顯示,更直觀地獲取室內(nèi)的情況。
1.系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)結(jié)合Arduino Due開發(fā)板與多個(gè)溫濕度傳感器,使用互聯(lián)網(wǎng)連接電腦服務(wù)端,AllJoyn后臺(tái)程序傳輸采集數(shù)據(jù),如圖1所示。Arduino Due集成SAM3X8E芯片,包括54個(gè)數(shù)字接口和12個(gè)模擬接口,工作電壓3.3V。W5100擴(kuò)展板連接互聯(lián)網(wǎng),將數(shù)據(jù)傳輸?shù)絻|聯(lián)客平臺(tái)。DHT11集成電阻式感濕元件和NTC測(cè)溫元件,附帶8位單片機(jī)。
2.系統(tǒng)軟件設(shè)計(jì)
(1)搭建AllJoyn框架。安裝Java和Eclipse,Visual Studio和AllJoyn SDK,設(shè)置命令“scons OS=win7 CPU=x86_64 MSVS_VERSION=11.0 BINDINGS=cpp”,配置好參數(shù)完成AllJoyn的軟件環(huán)境搭建。
(2)使用Visual Studio軟件實(shí)現(xiàn)AllJoyn總線機(jī)制的各環(huán)節(jié)。創(chuàng)建總線對(duì)象,添加接口,創(chuàng)建后臺(tái)服務(wù)連接到總線;連接AllJoyn路由;服務(wù)名字請(qǐng)求,確認(rèn)共知名稱;會(huì)話創(chuàng)建,包括動(dòng)作、接口號(hào)和綁定;廣播共知名稱,以便周邊設(shè)備進(jìn)行發(fā)現(xiàn)并連接服務(wù)。
(3)設(shè)計(jì)溫濕度傳感器節(jié)點(diǎn)軟件,包括Arduino溫濕度數(shù)據(jù)檢測(cè)和連接AllJoyn服務(wù)。溫濕度檢測(cè)先設(shè)定DHT11傳感器的輸入引腳,之后讀取引腳狀態(tài),成功則傳輸溫濕度值,失敗則返回刷新。AllJoyn服務(wù)則幫助實(shí)現(xiàn)溫濕度獲取和傳輸?shù)墓δ埽却_定服務(wù)參數(shù),與PC端代碼設(shè)定一致;再初始化單片機(jī),創(chuàng)建對(duì)象并注冊(cè)后臺(tái);最后啟動(dòng)客戶端,獲取溫濕度數(shù)據(jù),調(diào)用電腦端的發(fā)送函數(shù),并多次刷新循環(huán)。
3.系統(tǒng)結(jié)果
首先電腦生成可執(zhí)行文件,同時(shí)把以太網(wǎng)擴(kuò)展板插到單片機(jī)板上,用網(wǎng)線連接擴(kuò)展板與路由器。并把DHT11模塊插到面包板上,與到單片機(jī)對(duì)應(yīng)引腳連接。然后啟動(dòng)AllJoyn服務(wù)的后臺(tái)程序。啟動(dòng)單片機(jī),打開Arduino IDE,將程序上傳。在電腦端運(yùn)用命令行工具啟動(dòng)程序,等待Arduino接入后開啟會(huì)話。最后打開億聯(lián)客PC端和安卓客戶端,獲得實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),輸出界面如圖2所示。
結(jié)語
本系統(tǒng)結(jié)合Arduino Due單片機(jī)和DHT11溫濕度傳感器的特點(diǎn),實(shí)現(xiàn)了遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè),并可在多平臺(tái)上查看,對(duì)于偏遠(yuǎn)地區(qū)的基站機(jī)房建設(shè)監(jiān)測(cè)更加便捷,AllJoyn整合更多的資源給用戶提供了更多選擇,其平臺(tái)中立性可結(jié)合其他相關(guān)的物聯(lián)網(wǎng)技術(shù),發(fā)展前景廣闊。
參考文獻(xiàn)
[1]朱洪波,楊龍祥,于全.物聯(lián)網(wǎng)的技術(shù)思想與應(yīng)用策略研究[J].通信學(xué)報(bào),2010(11):2-9.
[2] http://www.allseenalliance.org.AllJoyn官方網(wǎng)站[EB-OL].[2016-10-16].
[3]向波.物聯(lián)網(wǎng)的技術(shù)及應(yīng)用的研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(22):35-36.