
項目介紹
什么是物聯(lián)網(wǎng)平臺
? 要搭建之前,一定要先搞明白一個概念,那就是什么是物聯(lián)網(wǎng)平臺。筆者作為一個準備入門的小白自然也是兩眼一抹黑。在筆者大致查了些資料,實際上手使用一些物聯(lián)網(wǎng)平臺后,大致搞明白,物聯(lián)網(wǎng)平臺可以實現(xiàn)的功能有一下大致幾點
終端設備接入
數(shù)據(jù)上報
數(shù)據(jù)持久化
終端設備管理
命令下發(fā)
搞明白了目標之后,我就在腦中考慮出了系統(tǒng)的雛形,大致分為以下幾部分
MQTT協(xié)議
? 在web開發(fā)中,我們常見的是 HTTP/HTTPS 協(xié)議,這是一種短連接,即在請求和響應完成之后會關閉連接。這種連接有一個弊端,那就是只能由客戶端主動聯(lián)系服務端,而不能由服務端主動聯(lián)系客戶端。但是一定存在客戶端與服務端需要長時間互相交換數(shù)據(jù)的場景。在早期,人們使用 輪詢/長輪詢 ,后來出現(xiàn)了webSocket協(xié)議,這是一種很接近MQTT的協(xié)議,一旦建立連接,雙方就可以長時間進行雙工通訊。后來就出現(xiàn)了在物聯(lián)網(wǎng)領域應用極其廣泛的MQTT協(xié)議,相比于WebSocket,MQTT更復雜,但更能更加強大。很多時候兩種協(xié)議甚至可以混用。
? MQTT采用 訂閱/發(fā)布 的模式。MQTT的客戶端既可以訂閱消息,又可以發(fā)布消息,而MQTT的服務器 被稱為broker,負責接受客戶端發(fā)布的消息,并將其發(fā)送給訂閱了該主題(topic)的客戶端,從而實現(xiàn)客戶端之間的交互。
? 關于MQTT的協(xié)議,可以訪問 太極創(chuàng)客的官方網(wǎng)站了解更多,這里筆者不再贅述
零基礎入門學用物聯(lián)網(wǎng) – MQTT基礎篇 – 目錄 – 太極創(chuàng)客 (taichi-maker.com)
項目實現(xiàn)
連接協(xié)議
本項目使用MQTT協(xié)議進行數(shù)據(jù)上傳和下發(fā),使用HTTP協(xié)議進行數(shù)據(jù)交互
Broker
? 關于MQTT服務器,我選用了 EMQX開源版
關于emqx的使用,官方文檔寫的很清楚,這里不再贅述。emqx提供了豐富的api,可以通過http請求實現(xiàn)一些列功能。
由于這里使用的是emqx開源版,所以服務器本事并不提供數(shù)據(jù)持久化等一系列高級功能。但是其中有些功能可以使用其他方法實現(xiàn)。
emqx官方文檔: EMQX 文檔
后端服務器
后端服務器這里使用的是 nodejs+express.js+mqtt.js
筆者寫過的幾個項目,后端使用的都是nodejs,因為nodejs簡單易用,性能尚可,有非常豐富的第三方工具包,非常適合小型項目
也因為筆者不會用java寫后臺
作用
? 后端服務器在本項目中主要起到一下作用:
向web端以及小程序端提供api
通過MQTT協(xié)議訂閱設備發(fā)布的收集到的信息,并將其持久化
通過MQTT協(xié)議向設備下發(fā)命令
實現(xiàn)不同的api功能,如命令下發(fā)
代理emqx提供的api,向web端以及微信小程序端提供統(tǒng)一的api
代碼實現(xiàn)
備注
前文中,筆者介紹道,沒有使用小程序端直接連接終端設備,是因為規(guī)范問題
其實這里還有一個原因,就是遇到了一些技術上的問題。就是微信小程序使用npm包的問題。
一開始筆者也想直接連接,畢竟簡單方便,相較于http請求,在筆者看來,mqtt連接似乎更容易
一些,但是當筆者使用npm安裝了mqtt.js工具包,并引用時報了錯誤。后來去網(wǎng)上搜搜查查,說
是要打開一個使用npm包的選項,這個選項在較新的微信開發(fā)者工具中已經(jīng)取消了。在新版本
中,要打開 工具->構建npm 這個選項。
上述一些操作,在各大搜索引擎中都能搜到相關博客,這里筆者就不放鏈接了。
但是,在進行了一系列操作之后還是不行,后來又查資料發(fā)現(xiàn),引用的包必須遵守微信小程序的
規(guī)范。后來又找到了一種方法,是直接把全部的代碼放進單獨的一個js文件中,然后在引用。在
一番操作之后連接成功了,但是最終筆者也沒有采用這種方法
最后一種方法見:微信小程序mqtt實現(xiàn) - 簡書 (jianshu.com)
本項目中,為什么只進行了溫濕度數(shù)據(jù)的收集,以及LED燈珠的控制
因為本項目筆者把它定性為,物聯(lián)網(wǎng)平臺,所以接入設備只是試驗性質(zhì)的,只要證明平臺可用即可。
web端
作用
web端在本系統(tǒng)中承擔的作用主要是:
數(shù)據(jù)可視化展示
未來可能會繼續(xù)完善,加入接入終端設備管理功能
代碼實現(xiàn)
因為本項目是帶有實驗性質(zhì)的,所以很多方便筆者盡量采用了簡化方法,而只保留的骨干,故本工程只有一個html文件及css文件,本章節(jié)只展示 index.html
本工簡單引用了 vue以及echarts組件,旨在快速創(chuàng)建一個相對完善且美觀的頁面。
備注
? web端作為數(shù)據(jù)可視化展示,是物聯(lián)網(wǎng)平臺不能缺少的一部分,但是目前也只完成了可視化展示,其他的數(shù)據(jù)管理功能,例如查詢、更改、導出等都沒有完成,后續(xù)可能會對其進行完善。
? 如果過于深入的介紹web端的技術實現(xiàn),就有些偏離本文檔的初衷了,故在此不過多贅述。
繼8月11日、14日連續(xù)兩次召開電力保供工作緊急視頻會議后,8月15日,四川再次召開電力保供調(diào)度會。記者從會上獲悉,預計全省最大用電負荷將
今年以來,四川積極擴大能源領域有效投資,前7月能源項目累計完成投資493億元、同比增長4%。8月15日,省能源局相關負責人介紹,前7月煤炭類
8月15日,全省防汛減災、森林草原防滅火工作電視電話會議召開,深刻汲取彭州8·13山洪災害教訓,分析研判當前形勢,安排部署下一步重點工作
8月9日,攀枝花技師學院實習工廠里,焊花四濺,機器聲此起彼伏。身穿工作服的教師周樹春,在一間間操作室里進進出出,指導學生們焊接。過去
記者從省發(fā)改委獲悉,上半年全省物流需求平穩(wěn)增長,行業(yè)運行總體平穩(wěn)。全省社會物流總額64096 2億元,同比增長4 4%;全省物流業(yè)總收入為2270
在全球最大地下工程裝備制造基地,掘進機生產(chǎn)計劃已排到年底;千億級工程機械產(chǎn)業(yè)園區(qū)邊建設邊生產(chǎn),打造智能制造標桿……時已立秋,三湘大
上猶縣水巖鄉(xiāng)衛(wèi)生院醫(yī)生蔡昌才驅車前往金盆村為村民駱運招治病。以往,每月去醫(yī)院就診不僅路途遠,還要排隊。這幾年有了家庭醫(yī)生后,直接送
今年2月以來,省藥監(jiān)局深入開展藥品安全專項整治行動,堅持問題導向,以嚴厲打擊違法犯罪行為、全面排查風險隱患為手段,推進專項整治行動
沒想到,現(xiàn)在直接在窗口就能辦理,真是太方便了。蔣瓊在九江市經(jīng)營一家造型工作室,近期有意擴大生意規(guī)模,需要資金周轉。她帶齊資料來到九
記者從新余海關獲悉,今年上半年,新余市外貿(mào)取得了較好成績,全市外貿(mào)進出口總值184 3億元,同比增長84 3%,高出全國平均水平74 9個百分點
作為南昌市第二季度集中開工的重大項目之一,南昌數(shù)谷產(chǎn)業(yè)園項目總投資100億元,計劃2024年5月完工交付使用,擬引進字節(jié)跳動、華為(南昌)工
淮南市向中國工程院院士、安徽理工大學校長袁亮頒發(fā)了第一張淮南市高層次人才優(yōu)才卡。為深化我為人才辦實事實踐活動,落實高層次人才服務保
連日來,宿州市埇橋區(qū)不斷細化各項工作舉措,壓實防汛各項責任,提升應急救援保障能力,筑牢防汛安全堤。目前,該區(qū)防汛物資已儲備到位,全
近日,無為市自然資源和規(guī)劃局、無為市福渡鎮(zhèn)人民政府在無為潤峰中海置業(yè)有限公司項目部現(xiàn)場舉行交地即交證頒證儀式,標志該市交地即交證優(yōu)
設施齊全的衛(wèi)生食堂、水沖式的獨立衛(wèi)生間、樓道墻體粉刷一新的宿舍……走進安徽省全椒縣武崗學校,已經(jīng)運行滿一年的農(nóng)村特色寄宿制學校成果
安徽安慶市正式成立“老年助餐慈善基
記者日前從安慶市民政局獲悉,該市慈善會近日設立老年助餐慈善基金,共同守護老年人舌尖上的幸福。該基金專項用于資助城鄉(xiāng)社區(qū)老年食堂、社
安徽淮北積極落實2022年電網(wǎng)防汛度汛
近日,國網(wǎng)淮北供電公司工作人員來到110千伏中泰變電站開展防汛隱患排查。該公司積極落實2022年防汛度汛措施,提前細化應急預案,推進極端
安徽全椒縣完善拓展人力信息資源助企
今年以來,全椒縣不斷完善拓展人力資源信息庫、勞務對接信息庫、企業(yè)用工需求信息庫三庫信息資源,已摸排400多家次企業(yè)缺工崗位信息1 2萬個
宿州市埇橋區(qū)柔性引進博士推進鄉(xiāng)村振
宿州市埇橋區(qū)實施博士匯工程,柔性引進29名博士擔任副鄉(xiāng)鎮(zhèn)長或園區(qū)副主任,他們將為加快產(chǎn)業(yè)發(fā)展、推進鄉(xiāng)村振興強化智力支持。目前,博士專
安徽印發(fā)出臺全面實施零基預算改革方
為進一步提高財政資源配置效率和資金使用效益,省政府印發(fā)《安徽省全面實施零基預算改革方案》,明確從編制2023年預算起,在全省范圍內(nèi)全面
5月份安徽居民消費價格同比上漲2.3%
近日,國家統(tǒng)計局安徽調(diào)查總隊發(fā)布了我省5月份居民消費價格統(tǒng)計數(shù)據(jù)。統(tǒng)計顯示,我省居民消費價格同比上漲2 3%,同比漲幅比上月回落0 4個百分
安徽多種方式引導群眾防范非法集資風
合肥地鐵1號線、3號線上滾動播放防范非法集資宣傳視頻,淮南市發(fā)布《致老年群眾的一封信》……6月份是一年一度防范和處置非法集資宣傳月,今
鐵路部門持續(xù)加大長三角地區(qū)運力投放
記者從中國鐵路上海局集團有限公司獲悉,隨著上海疫情防控形勢持續(xù)向好,為進一步適應旅客出行需要,助力復工復產(chǎn),鐵路部門自6月10日起持續(xù)加
安徽六安持續(xù)精準施策全力促進工業(yè)發(fā)
六安市與蔚來汽車簽署合作協(xié)議,共建智能電動汽車零部件配套產(chǎn)業(yè)園區(qū)。該園區(qū)一期計劃2023年上半年投產(chǎn),建成后將具備年產(chǎn)30萬噸鋁壓鑄產(chǎn)能,
安徽淮北全力維護外賣送餐員合法權益
為切實防范化解新業(yè)態(tài)領域重大風險隱患,強化外賣送餐員權益保障工作,淮北市市場監(jiān)管局充分發(fā)揮職能作用,全力維護外賣送餐員合法權益?;幢?/p>
湖南漣源開展專項行動一對一為企業(yè)紓
位于漣源市的湖南三合美新材料科技有限公司,兩條生產(chǎn)線滿負荷運行,生產(chǎn)聚氨酯和巖棉復合板。因產(chǎn)品升級與產(chǎn)能擴充,急需新增兩條生產(chǎn)線,
湖南藍山縣進村入戶排查整治自建房安
老叔,這棟房屋墻體有開裂痕跡,要維修加固,安全重要!5月20日,藍山縣塔峰鎮(zhèn)果木村,黨員干部上門開展農(nóng)村自建房安全隱患排查整治。連日來
一季度湖南萬元產(chǎn)值綜合能耗同比下降
近日,湖南省工業(yè)通信業(yè)節(jié)能監(jiān)察中心發(fā)布一季度全省六大高耗能行業(yè)能源消耗統(tǒng)計監(jiān)測報告。據(jù)該報告,一季度全省146家主要高耗能企業(yè)的萬元
濟南起步區(qū)一年來累計簽約優(yōu)質(zhì)項目11
萬里黃河第一隧濟南黃河濟濼路隧道建成通車,占地4000余畝的新能源乘用車零部件產(chǎn)業(yè)園加快施工……記者21日采訪獲悉,建設實施方案獲批復一
山東發(fā)布通知啟動傳統(tǒng)民居保護利用試
省住房城鄉(xiāng)建設廳、省財政廳近日聯(lián)合印發(fā)《關于做好傳統(tǒng)民居保護利用試點工作的通知》,在全省部署開展傳統(tǒng)民居保護利用試點工作。此次試點