為SIoT寫一個物聯(lián)網(wǎng)設(shè)備管理插件_第1頁
為SIoT寫一個物聯(lián)網(wǎng)設(shè)備管理插件_第2頁
為SIoT寫一個物聯(lián)網(wǎng)設(shè)備管理插件_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

為SIoT寫一個物聯(lián)網(wǎng)設(shè)備管理插件SIoT是一款簡單易用的MQTT服務(wù)器軟件,也是“虛谷物聯(lián)”項目的核心軟件之一。SIoT不用安裝,也不用注冊、設(shè)置,一鍵運行后,其他物聯(lián)網(wǎng)設(shè)備(如掌控板)按照一定的規(guī)范接入即可正常使用。正因為這一點,SIoT得到創(chuàng)客教師們的熱捧,成為中小學(xué)物聯(lián)網(wǎng)教學(xué)的重要支撐軟件。但是,能不能用SIoT做一個真實的物聯(lián)網(wǎng)項目,如智慧農(nóng)場、校園氣象站、門禁系統(tǒng)等?我們會發(fā)現(xiàn),功能實現(xiàn)并不難,但管理設(shè)備不太方便。SIoT畢竟是通用的MQTT服務(wù)器,在線設(shè)備管理之類的功能,只能自行開發(fā),這樣難度就有點大。因而,我冒出一個大膽的想法:能不能為SIoT編寫一個插件,讓這個通用的MQTT服務(wù)器變成可以商用的物聯(lián)網(wǎng)系統(tǒng)管理平臺?為SIoT編寫網(wǎng)頁插件的可行性分析作為SIoT開發(fā)團(tuán)隊的成員,我對SIoT的原理還是比較清楚的。SIoT運行后,會啟動兩種網(wǎng)絡(luò)服務(wù):一是MQTT服務(wù),作用是處理MQTT消息;二是Web服務(wù),用來運行Web管理頁面,實現(xiàn)在線管理。具體工作流程如圖1所示。SIoT是一款綠色軟件,主目錄下文件夾“static”中存放的是SIoT的Web管理頁面,如下頁圖2所示。需要強調(diào)的是,SIoT的Web管理頁面和SIoT服務(wù)器之間是利用WebAPI的方式交互數(shù)據(jù)的。也就是說,和我們傳統(tǒng)的動態(tài)網(wǎng)站開發(fā)方式不同,Web管理頁面并不是去讀數(shù)據(jù)庫,而是發(fā)送特定的Web請求,SIoT再返回相應(yīng)的數(shù)據(jù),實現(xiàn)頁面管理功能。這種軟件設(shè)計能夠?qū)⒉煌木W(wǎng)絡(luò)服務(wù)隔離,開發(fā)效率更高。用記事本打開“static”中的HTML文件,如“devices.html”,在源代碼中可以看到其使用了目前最熱門的Web前端框架vue.js技術(shù),如下頁圖3所示。前端頁面設(shè)計和后端數(shù)據(jù)隔離,是現(xiàn)在最主流的Web開發(fā)模式。那么,思路就呼之欲出了:只要在SIoT的管理頁面上,按照既定的API規(guī)范,就能實現(xiàn)我們預(yù)設(shè)的功能了。如果同樣采用Vue.js編寫,那和現(xiàn)有的Web頁面結(jié)合更加緊密。對于曾經(jīng)開發(fā)過多個網(wǎng)站的資深網(wǎng)管來說,編寫這樣的頁面,技術(shù)上不算太難。SIoT的API功能簡介我曾經(jīng)在SIoT的文檔中,提供過一個有趣的范例,即在PPT和Doc中插入超鏈接,就能通過SIoT控制掌控板的開燈、關(guān)燈,甚至可以和Mind+中的角色互動。這一功能的實現(xiàn),其實就是利用了SIoT提供的WebAPI。只要通過瀏覽器訪問特定的地址即可。地址:http://SIoT的IP:8080/publish?topic=xzr/001&msg=on&iname=siot&ipwd=dfrobot。這里的“SIoT的IP”指運行SIoT的電腦IP地址,iname和ipwd要替換為SIoT的用戶名和密碼。那么,SIoT究竟提供了哪些API?打開SIoT的使用文檔,在“高級操作技巧”的“3.WebAPI”部分,可以看到具體的WebAPI清單,如右表所示。SIoT文檔地址:https://siot.readthedocs.io/“智慧農(nóng)場”管理插件的編寫我準(zhǔn)備利用SIoT來開發(fā)一個學(xué)校智慧農(nóng)場的項目。這個項目事先定義了物聯(lián)網(wǎng)協(xié)議MQTT的各種細(xì)節(jié),如每個物聯(lián)網(wǎng)終端節(jié)點的名稱為“sf”加局域網(wǎng)IP地址的尾號,終端上的傳感器或執(zhí)行器模塊,用連接的引腳編號來命名,如a0、d2。這樣一來,每一個模塊都有唯一的TopicID,如“sf88/a0”表示名稱為“sf88”的終端上的設(shè)備“a0”。其中,“a0”接光線傳感器,“a1”接土壤濕度傳感器,“d2”接電磁閥。這個插件的作用是,將所有的終端信息顯示在一個頁面上,并能夠用網(wǎng)頁按鈕的方式進(jìn)行澆水,也就是給“sf88/d2”的TopicID發(fā)送特定的消息。第一步:新建網(wǎng)頁復(fù)制“devices.html”文件,重命名為“sfarm.html”。然后在“modules”文件夾中,也將“devices.js”文件復(fù)制一份,改名為“sfarm.js”。當(dāng)然,每一個頁面上都要做好超級鏈接,這些都是最基礎(chǔ)的工作,不再贅述。接下來,需要修改“sfarm.html”文件。核心工作是修改“第二步:編寫js代碼設(shè)計好網(wǎng)頁后,最難的工作肯定是編寫js代碼。因為需要寫的內(nèi)容有點多,這里重點介紹“sendMsg_af”的函數(shù)。這是供“sfarm.html”上的按鈕來使用的。如何實現(xiàn)“澆水”?其實就是發(fā)送一個內(nèi)容為“1”的消息(如圖5)。第三步:效果測試運行SIoT,打開Web管理端,即可看到多了一個名為“智慧農(nóng)場”的欄目。點擊后,就會看到所有的設(shè)備都列出來了,在一個表格中顯示了最新的光照和土壤濕度數(shù)據(jù)。點擊“澆水”按鈕,就能給相應(yīng)的TopicID發(fā)送消息。插件編寫給“虛谷物聯(lián)”帶來了新玩法這個“智慧農(nóng)場”插件一經(jīng)展示,就贏得了很多教師的好評和關(guān)注,有希望提供開發(fā)教程的,也有提出新的需求的。毫無疑問,這種開發(fā)插件的形式,給“虛谷物聯(lián)”帶來了新拓展思路。例如:編寫一個校園氣象站的插件,在一個頁面上呈現(xiàn)最新的溫度、濕度、光照、風(fēng)向、風(fēng)速等信息;編寫一個會議室門禁管理插件,可以遠(yuǎn)程開門,可以遙控空調(diào),還可以顯示攝像頭畫面;等等。我始終認(rèn)為,只有在真實的情境中應(yīng)用,創(chuàng)客作品的制作、STEM項目的研究才顯得更有價值。給SIoT編寫插件的最重要意義在于,將技術(shù)門檻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論