一、環(huán)境準(zhǔn)備
我們首先需要準(zhǔn)備如下插件
鴻蒙開發(fā)插件:
OHOS_MQTT
(一)插件手動(dòng)安裝部分
1、OHOS_MQTT
首先要在項(xiàng)目根目錄下的oh-package.json5 文件下,添加如下代碼。默認(rèn)dependencies為空。
"dependencies": { "@ohos/mqtt": "2.0.5-rc.0" }
二、架構(gòu)設(shè)計(jì)
1、總體架構(gòu)
首先需要注意,模塊要高度解耦。對于采集任務(wù)模塊只負(fù)責(zé)下達(dá)任務(wù)。二具體怎么通信,跟誰通信,是通信隊(duì)列的問題。存數(shù)據(jù)和存日志也和采集任務(wù)模塊無關(guān)。甚至說日志任務(wù)中一旦要向數(shù)據(jù)庫中寫入日志,寫入部分也和日志任務(wù)無關(guān)。都有各自的子模塊以及統(tǒng)一調(diào)度總線的接口完成。
這個(gè)理念來自于模塊化設(shè)計(jì)。之前都用于C++的可插拔模塊庫?,F(xiàn)在第一次應(yīng)用于鴻蒙操作系統(tǒng)上。但是慶幸的是鴻蒙它本身就是高度解耦的模塊化設(shè)計(jì)。它的設(shè)計(jì)從架構(gòu)上就偏向于這種解耦設(shè)計(jì)。相信真正寫起來不會(huì)太復(fù)雜。尤其是這個(gè)任務(wù)調(diào)度總線在C++中要自己處理池,信號,一步攜程,定時(shí)器。現(xiàn)在鴻蒙的任務(wù)管理模塊統(tǒng)統(tǒng)給你寫好了,這簡直是節(jié)省了一大票時(shí)間。
這是之前的任務(wù)調(diào)度中硬件部分。其實(shí)從總的結(jié)構(gòu)上來說都差不多。首先由C++部分寫好直接接口。比如說串口,SPI,I2C的讀取。
但是注意的是,為了解耦,在C++中請不要寫任何任務(wù)調(diào)度,邏輯信息。C++只是為了調(diào)用底層接口。具體業(yè)務(wù)邏輯由上層鴻蒙代碼全權(quán)代理。
從邏輯上來講,通信調(diào)度還應(yīng)該包含加密,訪問控制,以及調(diào)試接口。但是來不及做,這部分就先做一個(gè)簡略。
2、采集設(shè)計(jì)
從末端設(shè)計(jì)來講,末端采集任務(wù)應(yīng)該只負(fù)責(zé)采集上傳。此刻飛騰派充當(dāng)一個(gè)邊緣計(jì)算終端的任務(wù)。高性能單片機(jī)的成本和開發(fā)難度會(huì)飆升。所以為了單片機(jī)采集任務(wù)的穩(wěn)定和成本,推薦直接采用廉價(jià)的20P或者32P的單片機(jī)做采集。
3、上層任務(wù)
理論上完整的設(shè)計(jì)必須包括一個(gè)頂層的服務(wù)。否則你的東西給誰看呢。這里可以直接用jetlinks等平臺(tái)。畢竟他們都做好了。但似乎記住這些開源的嵌入式平臺(tái)它本身就承擔(dān)一個(gè)數(shù)據(jù)接收河轉(zhuǎn)接的功能。很多時(shí)候存儲(chǔ)和告警都算是額外的付費(fèi)功能。
更何況上層任務(wù)怎么可能僅僅是一個(gè)存儲(chǔ)呢。
作為一個(gè)完善的上層任務(wù),要有基本的存儲(chǔ),用戶接口,設(shè)備接口,甚至是機(jī)群接口。
你甚至還要有給客戶展示的接口。有設(shè)備的管理接口。
復(fù)雜的甚至還涉及到單點(diǎn)登錄,日志管理。畢竟你有時(shí)候日志量是驚人的。
更何況這里還是涉及到一個(gè)問題,那就是加密平臺(tái)。任何高安全平臺(tái)都要有自己獨(dú)立的證書自動(dòng)化授權(quán)平臺(tái)。
同時(shí)這里要說明一件事情,對于安全,要遵守一個(gè)守則。保密人才》保密制度》保密規(guī)則》保密算法
為什么保密人才最重要。因?yàn)橐坏┯袀€(gè)內(nèi)鬼你的防火墻形同虛設(shè)。一旦物理機(jī)層面被突破,你的任何安保,什么區(qū)塊鏈,什么證書,什么加密芯片,都是笑話。最簡單的黑客就是拔網(wǎng)線。不管羞不羞恥,都有效。真打起來,沒人在乎羞不羞恥,只在乎有不有效。
什么是保密制度?那就是從政策上杜絕泄密,比如說密級分層。它在保密人才下面是因?yàn)槟愕母笨偤图夹g(shù)總監(jiān),安保經(jīng)理同時(shí)背叛你,啥規(guī)矩都不好使。但是人總不能這么背,大部分時(shí)候大家都是遵守規(guī)則的。
然而,一個(gè)人把一個(gè)充滿病毒的U盤扔你服務(wù)器上,啥保密算法都沒用。一旦突破了物理機(jī)層面,一切技術(shù)都是徒勞。你能保佑的僅僅是它不要入侵級別很高的物理機(jī)。保佑你的數(shù)據(jù)隔離做的很優(yōu)秀。這當(dāng)然也是政企最常用的手段。
只與什么是保密規(guī)則呢。非對稱加密相對于對稱加密就是一種規(guī)則上的提升。當(dāng)你的人和你的保密策略非常完善的時(shí)候,此時(shí)大部分事情還是應(yīng)該交給電腦。畢竟它任勞任怨還便宜。
從原理上保密。也就是你有一個(gè)完善的加密鏈,最大程度上防止你被強(qiáng)破。
最后就是算法了。有人問證書加密是不是絕對安全。其實(shí)證書加密并非絕對安全。甚至說即使是這樣,你大部分時(shí)候都不可能用證書加密通信,否則你的通信會(huì)癱瘓的。
有人會(huì)覺得奇怪,不對啊,我天天HTTPS。當(dāng)然,你們的證書通信其實(shí)只是交換了一個(gè)對稱密碼。真正數(shù)據(jù)傳送其實(shí)還是交給了常規(guī)的對稱加密。之是經(jīng)常換秘鑰罷了。
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46243瀏覽量
392456 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44050
發(fā)布評論請先 登錄
物聯(lián)網(wǎng)藍(lán)牙模塊有哪些優(yōu)勢?
物聯(lián)網(wǎng)的應(yīng)用范圍有哪些?
物聯(lián)網(wǎng)未來發(fā)展趨勢如何?
為什么選擇蜂窩物聯(lián)網(wǎng)
畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之倒車?yán)走_(dá)項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?
畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之智能測距儀項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之智慧農(nóng)業(yè)項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之智慧安防報(bào)警項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之智能溫度計(jì)項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

畢業(yè)設(shè)計(jì)競賽選題推薦 | 鴻蒙物聯(lián)網(wǎng)應(yīng)用之智能照明燈項(xiàng)目實(shí)戰(zhàn)(含文檔及源碼)

誠邁科技加入全球智慧物聯(lián)網(wǎng)聯(lián)盟
物聯(lián)網(wǎng)學(xué)習(xí)路線來啦!
【免費(fèi)分享】OpenHarmony鴻蒙物聯(lián)網(wǎng)開發(fā)板資料包一網(wǎng)打盡,附教程/視頻/項(xiàng)目/源碼...

評論