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