物聯網設備終端和云端系統如何通訊?
隨著5G通訊的誕生,網絡通訊速度更快,周圍從事互聯網行業的同事都說下一個風口可能是物聯網。由于目前公司產品偏硬件,我也有幸接觸了一些物聯網的知識,這篇文章想給大家分享一下關于物聯網產品中的終端設備和軟件是如何進行通訊的。
什么是物聯網產品
眾所周知,物聯網是由數以百萬計的設備通過網絡相互連接而成的網絡。物聯網是一種將硬件和軟件結合起來的產品,它可以測量真實世界的信息。并連接到網絡,為用戶提供價值。
其實目前我們身邊物聯網的產品挺多的,智能家居,智能門鎖比比皆是;還有共享經濟時代孵化出的共享單車,共享充電寶,共享雨傘等也可以算作物聯網產品。
在我們使用共享單車時,用手機掃碼后點擊“開鎖”按鈕,就能將車鎖打開。等我們使用完以后,將共享單車鎖上以后。不用在手機上操作,系統也能判斷我們已經使用完單車了。這些功能主要是通過物聯網技術來實現的。
下面我們以共享單車為例來解釋一下單車設備和軟件系統之間是如何通訊,如何傳輸數據完成業務行為的。
終端設備應該含有哪些模塊
(1)物聯網卡
作為一款物聯網產品,就會處于聯網狀態,這個時候就需要用到物聯網卡,物聯網卡可以簡單理解為流量卡,所以和我們的手機上網一樣,需要插入SIM卡,只不過物聯網設備插的是另外一種網絡卡,有了流量,才能具體基本的聯網功能。
(2)設備通訊模塊
設備通訊模塊是一塊電路板子,這部分一般是燒錄到電路板上的一段嵌入式代碼,通過軟件編程來和云端系統通訊,并且解析接收到的云端系統的指令,轉化成電路板能夠識別的二進制,以實現控制設備的控制主板部分。
(3)控制主板部分
這部分主要就是接收設備通訊碼,通過一些脈沖信號或者高頻低頻的電壓來實現業務,例如設備通訊模塊告訴控制主板部分需要打開鎖,那么共享單車上的鎖就會受控于控制主板完成對共享單車的開鎖和關鎖。所以控制主板部分主要執行對鎖的控制。
云端系統應該如何運作
先看一個業務流程圖,以共享單車掃碼開鎖為例:
云端系統一般分為業務系統和設備通訊系統:
業務系統:進行一些業務操作,例如接收用戶的掃碼開鎖的請求,記錄用戶的身份信息和車輛信息等,查看用戶在使用過程中的數據和車輛狀態位置,創建訂單等,并不直接和終端設備通訊。
設備通訊系統:這個系統就是直接和終端通訊的系統,通過接入事先和終端設備中的設備通訊模塊約定的相關協議,以實現通訊。
協議的內容是約定好的,就好比一個暗號,如果要開鎖,那么設備通訊系統發送的數據內容就必須為A,而設備通訊碼也只有識別到數據內容為A才會開鎖。當設備通訊系統發送其他內容時,設備通訊碼將不能識別。業務系統根據各種業務需要,會告訴到設備通訊系統需要終端設備做出什么要的響應,設備通訊系統通過和設備通訊模塊約定的協議翻譯業務系統的內容為設備通訊模塊可識別的數據形式。
如何傳輸數據
前面已經介紹了終端設備和云端系統,那么如何進行數據傳輸呢。一般會用到HTPP協議或者TCP協議,當然這塊開發同學就很熟悉了。
如果用HTTP發送數據,一般設備連接系統會將指令包裝成一個對象,然后發送; 而TCP協議通訊的話,一般會將指令轉化成二進制或者十六進制傳輸。
如何將指令發送給指定設備
我們的設備那么多,如何將云端系統的指令發送給指定的設備呢?其實這里面還有一個概念,就是設備通訊碼。顧名思義,是終端設備和云端系統進行通訊的一個唯一標記碼,這個碼就類似于我們PC電腦中的MAC地址,或者是手機IMEI號碼。這個設備通訊碼是燒錄在設備通訊模塊中的,是設備通訊碼的唯一標記,并且也在系統里面標記一臺唯一的終端設備。
所以我們在傳輸數據的時候都會帶上這個唯一的標記,這樣我們的數據就會指定發送到某個終端設備,而不會出現混亂的情況了。
總的來說,在終端設備上,一般就是通過物聯網卡讓設備處于聯網狀態,然后設備上有一個設備通訊模塊,接收云端系統的指令并解析成硬件電路板能夠識別的數據形式,控制主板或者其他機械部分在接收到設備通訊碼傳遞的信息后,會完成相應的操作。這些操作結果又會沿原路再一層層返回給業務系統,最終展示給用戶。
第一次接觸時,總覺得終端設備、電路板很難,其實慢慢了解流程和通訊規則后還是挺簡單的。物聯網也沒有我們想的那么高大上,簡單分享給大家,希望能對剛入物聯網產品的同學有點幫助。
本文由 @粉紅色的小不點 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Unsplash,基于CC0協議。
學習了
單車的通訊碼和序列號有什么區別……傻傻分不清
MQTT不行嗎?
這個太簡單啦
親,好簡單奧