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