程序員視角:工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)之拆解物聯(lián)網(wǎng)領(lǐng)域的技術(shù)棧
以程序員開發(fā)的角度來說,可以從前、后端發(fā)展劃分:主要負責開發(fā)物聯(lián)網(wǎng)系統(tǒng)的平臺及商業(yè)應(yīng)用;
嵌入式軟件:以設(shè)備端的開發(fā)為主,這一部分按照所采用的技術(shù)(也就是硬件模塊),被劃分成許多不同的子域;
從廣義的物聯(lián)網(wǎng)來看,任何物品,只要能夠接入網(wǎng)絡(luò),都可以稱之為設(shè)備,或者稱之為 thing。
一個設(shè)備要想接入到網(wǎng)絡(luò),肯定需要通信功能,包括:有線通信,無線通信。
在一些傳統(tǒng)行業(yè),或者對通信質(zhì)量要求比較高的場景下,部署有線網(wǎng)絡(luò)也是比較常見的。
需要用到工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)備
ZigBee是一個局域網(wǎng)的無線通信協(xié)議,與 ZigBee 類似的無線通信協(xié)議還有:ZWave、RF433、BLE 等等。
它們的作用都是都是為了讓多個設(shè)備能夠組網(wǎng),節(jié)點之間以多跳的方式傳輸數(shù)據(jù),達到通信的目的。
這些數(shù)據(jù)最終會匯總到一個叫做工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的設(shè)備,然后與云端的服務(wù)器進行通信。
有很多人辨別不清網(wǎng)關(guān)開發(fā) 和 設(shè)備開發(fā)這兩種。
網(wǎng)關(guān)開發(fā)稍微復(fù)雜一些。從功能上來說,網(wǎng)關(guān)需要實現(xiàn):
設(shè)備的管理(與物聯(lián)網(wǎng)平臺的設(shè)備管理不是一個概念);
規(guī)則引擎(在斷網(wǎng)的狀態(tài)下實現(xiàn)場景聯(lián)動等功能);
通信協(xié)議轉(zhuǎn)換(把物理網(wǎng)平臺的通信協(xié)議轉(zhuǎn)成設(shè)備私有協(xié)議);
有些工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)中,還會集成不同的無線通信協(xié)議模塊,比如:把 ZigBee、BLE、紅外等功能,集成在一個當中,這樣的話,不同通信方式的設(shè)備就可以在一個系統(tǒng)中共存了。
此時,工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)就要做更多的工作:
上行鏈路:在不依賴于云計算的情況下,不依賴于云計算,不依賴于任何一個終端,也不依賴于任何一個終端。
下行鏈路(連接到設(shè)備):把來自云計算的一致數(shù)據(jù)轉(zhuǎn)換成適合不同通信協(xié)議的數(shù)據(jù);
而設(shè)備的開發(fā)就更容易了,只需要研究出一種特殊的無線通訊協(xié)議即可。
對于這種類型的裝置,通常會采用對應(yīng)的通訊模塊,并為其提供了基礎(chǔ)的協(xié)議棧。
而開發(fā)人員所要做的工作,則是對系統(tǒng)中所使用的通訊協(xié)議進行了解,并在此基礎(chǔ)上,對系統(tǒng)中的指令進行分析,并對系統(tǒng)中的數(shù)據(jù)進行匯報。
物聯(lián)網(wǎng)平臺開發(fā)
物聯(lián)網(wǎng)平臺是將企業(yè)應(yīng)用與終端連接起來的一種中介,它可以屏蔽各類復(fù)雜的終端界面,使終端能夠更快地訪問終端。其目的是為用戶提供一套統(tǒng)一的通信標準與 SDK,使用戶能夠更快地接入到各類硬件設(shè)備,并從設(shè)備接入的數(shù)量,通信數(shù)據(jù)的流量,以及提供不同的業(yè)務(wù)層次的服務(wù)中獲取利潤。
除此之外,也有下一個層次的企業(yè),為物聯(lián)網(wǎng)的領(lǐng)域,研發(fā)出了自己的平臺。因為沒有足夠的認知度,所以只有通過“聯(lián)合發(fā)展”的方式,才能吸引到“硬件”的進入。
從開發(fā)的角度來看,物聯(lián)網(wǎng)平臺的開發(fā)技術(shù)棧主要是后臺開發(fā)。物聯(lián)網(wǎng)平臺最寶貴的就是數(shù)據(jù),如何利用這些數(shù)據(jù),這就是業(yè)務(wù)應(yīng)用的事情了。
業(yè)務(wù)應(yīng)用開發(fā)
而所謂的商業(yè)應(yīng)用,則是指利用物聯(lián)網(wǎng)平臺中的 API,在設(shè)備管理、數(shù)據(jù)上報、指令發(fā)布等方面,進行一系列的商業(yè)應(yīng)用。
設(shè)備管理是以設(shè)備訪問為基礎(chǔ),為用戶提供更加豐富和完整的設(shè)備管理能力,從而降低大規(guī)模的設(shè)備管理的復(fù)雜性,提高管理效率。
通過物聯(lián)網(wǎng)平臺的設(shè)備和數(shù)據(jù),可以產(chǎn)生多種不同的業(yè)務(wù)應(yīng)用場景,這需要按照具體的系統(tǒng)功能,進行按需開發(fā)。