劉仕鵬 劉鑫 居東方 陽文杰 詹少杰 潘俊虹
摘要:基于微信小程序設計了一套以KL36開發(fā)板為終端的“易生”精靈監(jiān)測系統。該系統通過在KL36開發(fā)板上接人相應傳感器,實現對環(huán)境物理量的監(jiān)測;將檢測的環(huán)境數據通過NB-IOT技術遠距離傳送至云端,用戶可以通過手機端的微信小程序對監(jiān)測對象進行實時數據查看和歷史數據查看;實現了為用戶提供輕便、高效的智能監(jiān)測系統的設計目的。實驗結果表明,該系統具有較高的精度和實時性;結合NB-IOT技術低功耗和廣連接性的特點,對多用途智能養(yǎng)殖監(jiān)測具有重要意義。
關鍵詞:NB-IOT;KL36;智能監(jiān)測;微信小程序
中圖分類號:TP3 文獻標識碼:A
文章編號:1009-3044(2020)15-0121-03
隨著社會的進步,人民生活水平的提升;越來越多的人熱愛于室內綠植、水生動植物的養(yǎng)殖,并形成了不小的風潮以及龐大的市場規(guī)模。但是,由于養(yǎng)殖人員的水平以及環(huán)境條件的限制造成低存活度的問題;因而誕生了一大批智能花盆、智能魚缸等設備,但大多價格高昂、功能單一且復用度不高,市場亟需一種造價低、用途廣、易于使用的智能設備。這就是“易生”精靈的研發(fā)初衷。本文設計了以KL36開發(fā)板為終端,連接傳感器采集環(huán)境物理量;并選取了網絡結構簡單,部署維護難度低的NB-IOT用于數據傳輸;相比較于傳統的網絡,NB-IOT更適用于小規(guī)模的智能監(jiān)測,而無須搭建私有網絡,使用云服務器接受并存儲上行的數據和下行的命令;并開發(fā)微信小程序平臺供用戶查看觀測對象的實時數據與歷史數據。電力上使用了移動電源為終端供電,保證其輕便性與多用性。
1系統分析
1.1系統的主要功能
1)對“易生”精靈監(jiān)測的各類物理量進行采集:包括有光照強度、土壤(空氣)溫濕度、土壤(水體)pH值、二氧化碳濃度、氧溶解度等環(huán)境信息。
2)采用NB-IOT技術將得到的數據上傳至云端:NB-IoT技術有大連接、廣覆蓋、深穿透、低成本、低功耗等五個基本特點。相對于其他LPWAN技術如GPRS、LoRa和SigFox來說,NB-IoT在LPWAN領域具有更好的表現。例如,相較于與其他三種技術,NB-IoT具有高數據傳輸率,覆蓋面積大,終端連接數多等方面的優(yōu)勢;此外,對于低成本、低功耗方面的要求和信號穿透力上的表現,NB-IOT的性能介于GPRS、LoRa和SigFox之間。另外,NB-IoT是有通信運營商支撐的運營網絡,終端UE數據通過運營商的基站直接送達以太網,終端UE用戶只需要向通信運營商繳納較低額流量費。在綜合考量之下,NB-10T技術是不二之選。
3)使用微信小程序接收云端數據并與用戶交互:通過微信Web開發(fā)工具進行開發(fā)的微信小程序能同時在各種移動終端上使用,掃描二維碼即可快速使用而不需要下載安裝其他軟件;并且通過公眾號關聯可實現公眾號與小程序之間相互跳轉,功能豐富,用戶體驗出色。
1.2系統的架構
環(huán)境信息采集:采用恩智浦KL36芯片作為NB-IOT終端,將在終端上實現對土壤溫濕度、二氧化碳濃度、pH值、光照強度、氧溶解度等物理參數的監(jiān)控。
數據傳輸:使用NB-IOT模組將數據傳輸至云端,云端將數據與分析數據之后的結果上報至用戶終端,等待并得到命令后回傳給監(jiān)測系統。
云端與用戶終端:使用云服務器處理、傳輸數據;開發(fā)微信小程序接受且可視化云端數據并進行人機互動。
具體系統設計如圖1。
2系統設計
2.1環(huán)境數據監(jiān)測子系統設計
硬件終端使用恩智浦KL36主控芯片作為NB-IOT終端,插帶一系列的傳感器,例如有溫濕度傳感器、光敏電阻、pH值傳感器、二氧化碳濃度傳感器、氧溶解度傳感器等。NB-IOT終端將傳感器獲得的數據按數據幀格式進行編碼,通過MCU串口以AT命令的形式,發(fā)送已編碼數據到NB-IOT模組;NB-IoT模組創(chuàng)建和基站之間的傳輸信道后上行發(fā)送數據,然后等待并響應云端命令。
2.2 NB-IOT通信架構
以KL36微控制器為核心的NB-IoT終端(uE)收集儲存各個傳感器采集的數據,借助通信模組將MCU的板內連接轉為NB-IoT通信,以便借助NB-IoT基站(eNodeB)與NB-IoT云服務器通信;NB-IoT終端內含“用戶識別卡”,即SIM卡;其含有唯一的國際移動用戶識別碼IMSI,也就是卡號。NB-IoT終端用戶可以通過這個號給信息郵局MPO運營商或者NB-IoT服務機構交費。
具體應用框架如圖2所示。
2.3云端服務器的構建及功能
在NB-IoT終端通信編程中,需要提供一個固定IP地址和端口號,以供終端UE與信息郵局MPO服務器建立連接并進行數據交互。許多大型互聯網公司都會提供服務器租賃服務,購買后即可獲有固定lP地址的服務器。當NB-IoT終端(uE)成功與信息郵局MPO(NB-IoT信息郵局是一種基于NB-IoT協議的信息傳送系統。由NB-IoT基站eNodeB與NB-IoT云服務器組成。在NB-IoT終端(uE)與NB-IoT人機交互系統(HCI)之間起信息傳送的橋梁作用。)建立連接時,需要基站向連接的終端(uE)分配一個臨時的IP地址以供NB-IoT終端(uE)與信息郵局MPO進行數據交互。
偵聽程序(uS-Monitor)。用戶偵聽程序可運行于任意一臺連接了網絡的電腦Jk;US-Monitor處理的數據通過云端轉發(fā)軟件CSFS轉發(fā),因而監(jiān)聽程序US-Monitor的運行須要云端轉發(fā)軟件CSFS的運行;其工程框架中有四個文件夾,分別為工程說明文件夾、工程類文件夾、工程窗體文件夾、工程資源文件夾。
具體工程框架及說明如表l。
數據庫的搭建。NB-IoT終端上行的數據需要存放在數據庫中以便觀察、使用與保留,在本次項目工作中我們使用了較為普遍的Microsoft SQL Server數據庫。該數據庫中主要包含三張表,分別是:設備信息表(存儲終端設備的配置信息,一個設備對應一條記錄,只保存最新信息,不保存更改記錄)、上行數據表、下行數據表。
2.4微信小程序設計
1)開發(fā)環(huán)境搭建:先申請一個屬于自己的微信小程序賬號,需要進人微信公眾平臺獲得開發(fā)許可AppID;配置開發(fā)服務器信息可在“測試號管理”頁面的“可信域名”欄目中找到并點擊“開始配置”按鈕,此時可以對四類可信域名進行配置:requset合法域名、downloadFile合法域名、uploadFIle合法域名和socket合法域名。配置完成后可打開網頁https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html下載微信開發(fā)者工具,運行工具后導人工程即可開始界面設計及功能完善等。
2)功能分析:為了方便用戶能隨時隨地查看接收到的數據,微信小程序主要分為三個界面,即實時數據,實時曲線,歷史數據。實時數據界面能夠實時顯示終端發(fā)送上來的數據,實時曲線則是根據數據幀傳人的物理量進行曲線的繪制,歷史數據界面則展示歷史數據內容。這些功能主要是通過與偵聽程序進行交互實現的。
3)界面設計:智能監(jiān)測客戶端包括了基礎界面、首頁、數據查看界面以及工程資源界面,實現了實時數據的可視化顯示、繪畫實時數據的曲線圖、查看歷史數據及工程資源版本說明等信息。設計之初本著界面簡易、友好的原則,盡量方便用戶與系統的人機交互并提升用戶的使用體驗。
具體微信小程序界面如圖3。
4)數據傳輸流程:WebSocket服務是網頁程序、安卓App、微信小程序等獲得數據和服務的接口,是基于TCP的一種新的網絡協議;它實現了瀏覽器與服務器全雙工通信。在微信小程序與云服務器建立通信時,先進入實時數據界面,建立web-socket連接,順利建立連接后請求一幀歷史數據用于創(chuàng)建頁面文本框。下一步準備接收數據;實時偵聽是否有新的數據傳送,當終端發(fā)送一幀數據時,云偵聽程序接收到一幀數據后將數據寫入數據庫中,并將消息傳給微信小程序,確定為指定的imsi號數據后,向云偵聽程序請求完整數據。最終將數據回發(fā);將在一定的時間內對數據進行修改,通過回發(fā)按鈕,將數據組幀后回發(fā)給云偵聽程序,云偵聽程序將數據寫入數據庫中,并發(fā)送給終端,完成數據下行過程。
3結束語
本文研究設計了基于NB-IOT網絡傳輸技術的智能監(jiān)測系統,旨在為動植物養(yǎng)殖者提供一款輕便多用、實惠耐用的智能監(jiān)測設施。目前國內外研究和市場上的智能養(yǎng)殖監(jiān)測只是作為智能養(yǎng)殖系統的組成部分而已,例如智能花盆、智能魚缸等;“易生”精靈的研究則解決了在不同環(huán)境下監(jiān)測相關物理量并實時反饋給客戶端的問題,真正實現了使智能養(yǎng)殖監(jiān)測獨立運行并廣泛適用。設計采用了NB-IOT技術傳輸數據,具有無需布線、高效快速且降低功耗的優(yōu)勢;采用了方便簡潔的微信小程序可視化云端數據,隨時供用戶查看。實驗結果表示,“易生”精靈準確高效,具有良好的應用前景;并且可以在原有的基礎之上,在終端添加一些機械組件,實現用戶的操作命令。