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