<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          從程序員的角度,來拆解物聯(lián)網(wǎng)系統(tǒng)中的開發(fā)工作

          共 3241字,需瀏覽 7分鐘

           ·

          2021-06-27 23:36

          • 物聯(lián)網(wǎng)系統(tǒng)

          • 設(shè)備端的開發(fā)

            • 不需要網(wǎng)關(guān)的設(shè)備

            • 需要網(wǎng)關(guān)的設(shè)備

            • WiFi類設(shè)備

          • 物聯(lián)網(wǎng)平臺開發(fā)

          • 業(yè)務(wù)應(yīng)用開發(fā)


          物聯(lián)網(wǎng)的概念已經(jīng)被炒了好多年了,奇怪的是:市場中對這個概念的反應(yīng)總是不慍不火

          隨著5G 的迅速普及,不知道是否能夠再次把這個領(lǐng)域帶火起來。

          但是不管怎樣,很多大學(xué)已經(jīng)把物聯(lián)網(wǎng)這個專業(yè)給坐實了。

          前幾天,一位大一的小伙伴私信我:進入物聯(lián)網(wǎng)專業(yè)已經(jīng)快一年時間了,卻不知道以后出去干什么?

          這篇文章,我們就從開發(fā)者的角度,來簡單看一下物聯(lián)網(wǎng)這個領(lǐng)域使用了哪些技術(shù)棧、有哪些開發(fā)工作

          物聯(lián)網(wǎng)系統(tǒng)

          這張圖從開發(fā)者的角度,展示了一個物聯(lián)網(wǎng)系統(tǒng)中的各種角色,包括它們之間的通信。

          如果從軟件開發(fā)崗位的角度來對這幾個模塊進行劃分的話,這個系統(tǒng)中主要包括:

          1. 前端、后端開發(fā):負責(zé)物聯(lián)網(wǎng)平臺和業(yè)務(wù)應(yīng)用的開發(fā);

          2. 嵌入式軟件:主要是設(shè)備端的開發(fā),這部分根據(jù)使用的不同技術(shù)(或者說硬件模塊),又可以分為很多不同的子領(lǐng)域;

          3. 移動端開發(fā):Android APP, iOS APP, H5 小程序,還有目前的鴻蒙系統(tǒng)APP。

          設(shè)備端的開發(fā)

          這里描述的設(shè)備,還是屬于比較狹隘的范疇,僅僅包含了具有通信功能的物理硬件實體

          如果從廣義的物聯(lián)網(wǎng)來看,任何物品,只要能夠接入網(wǎng)絡(luò),都可以稱之為設(shè)備,或者稱之為 thing。

          比如:把一件衣服附上一個電子標簽,也是物聯(lián)網(wǎng)的一個小分子。

          我們這里,仍舊以傳統(tǒng)意義上的設(shè)備來講解,比如:智慧路燈,智能手表,智能家居里的門磁、報警器等等。

          對設(shè)備端的開發(fā)進行分類的話,從通信方式這個角度來進行劃分比較清晰。

          一個設(shè)備要想接入到網(wǎng)絡(luò),肯定需要通信功能,包括:有線通信,無線通信。

          在一些傳統(tǒng)行業(yè),或者對通信質(zhì)量要求比較高的場景下,部署有線網(wǎng)絡(luò)還是比較常見的,例如一些工業(yè)場景中。

          對于一些民用領(lǐng)域,大部分還是以無線通信為主。

          1. 不需要網(wǎng)關(guān)的設(shè)備

          這一類設(shè)備,利用 2G/3G/4G 基站來進行數(shù)據(jù)的傳輸,產(chǎn)品的形態(tài)是:

          也就是 單片機+通信模塊的方式。

          通信模塊包括:GPRS 模塊、4G 模塊、NB-IoT 等等。

          在開發(fā)這一類產(chǎn)品的時候,單片機負責(zé)產(chǎn)品的功能部分;通信模塊負責(zé)通信部分。

          單片機與通信模塊之間,在硬件上通過 UART 口通信居多,在協(xié)議上可以通過 AT 指令,或者其他的一些專有協(xié)議。

          近幾年,在傳統(tǒng)的消費類電子產(chǎn)品上,添加一個通信模塊,讓產(chǎn)品達到連網(wǎng)的功能,還是比較流行的。

          這一類的產(chǎn)品的軟件開發(fā)工作,與一般的單片機開發(fā)并無兩樣。無非是增加了一些通過網(wǎng)絡(luò)來上報數(shù)據(jù),或者從網(wǎng)絡(luò)接收控制指令。

          只要熟悉所使用的通信協(xié)議即可。

          上面的這種產(chǎn)品形態(tài),需要對硬件進行重新設(shè)計,比較適合從零開始的產(chǎn)品開發(fā)。

          那么對于那些已有的產(chǎn)品,如果想連接到物聯(lián)網(wǎng)平臺上,但是又不想重新設(shè)計,又該怎么辦呢?

          有需求就有供給!

          比如:一些掃地機、吸塵器的廠商,由于找不到其他可以創(chuàng)新、突破的點,于是就開始內(nèi)卷,紛紛加上連網(wǎng)的功能。

          他們直接在產(chǎn)品中,添加一個 ESP8266 或者 ESP32 模組,就立刻升級成一個智能產(chǎn)品,多么高大上。當(dāng)然了, 價格也同樣高大上起來了!

          ESP8266 或者 ESP32 與一般的通信模組有一點不一樣:它是一個完整的單片機,只不過它們的主要用途就是專門用來解決通信問題,而不是一般的功能控制。

          2. 需要網(wǎng)關(guān)的設(shè)備

          如果提到智能家居,可能大部分的人會想到一個詞語 ZigBee,這是一個局域網(wǎng)的無線通信協(xié)議,大概在 2005 年左右就開始在智能家居中嶄露頭角了。

          ZigBee 類似的無線通信協(xié)議還有:ZWaveRF433BLE 等等。

          它們的作用都是類似的:都是為了讓多個設(shè)備能夠組網(wǎng),節(jié)點之間以多跳的方式傳輸數(shù)據(jù),達到通信的目的。

          這些數(shù)據(jù)最終會匯總到一個叫做網(wǎng)關(guān)的設(shè)備,然后與云端的服務(wù)器進行通信。

          這一類產(chǎn)品的開發(fā),包括:網(wǎng)關(guān)開發(fā)設(shè)備開發(fā)這兩種。

          網(wǎng)關(guān)的開發(fā)稍微復(fù)雜一些。從功能上來說,網(wǎng)關(guān)需要實現(xiàn):

          1. 設(shè)備的管理(與物聯(lián)網(wǎng)平臺的設(shè)備管理不是一個概念);

          2. 規(guī)則引擎(在斷網(wǎng)的狀態(tài)下實現(xiàn)場景聯(lián)動等功能);

          3. 通信協(xié)議轉(zhuǎn)換(把物理網(wǎng)平臺的通信協(xié)議轉(zhuǎn)成設(shè)備私有協(xié)議);

          有些網(wǎng)關(guān)中,還會集成不同的無線通信協(xié)議模塊,比如:把 ZigBeeBLE紅外等功能,集成在一個網(wǎng)關(guān)中,這樣的話,不同通信方式的設(shè)備就可以在一個系統(tǒng)中共存了。

          此時,網(wǎng)關(guān)就要做更多的工作:

          1. 上行鏈路(連接到云平臺):需要做到協(xié)議的統(tǒng)一,也就是說云平臺才不關(guān)系下面到底是什么樣的無線通信技術(shù),云平臺只會以統(tǒng)一的數(shù)據(jù)格式來表示每個設(shè)備;

          2. 下行鏈路(連接到設(shè)備):協(xié)議轉(zhuǎn)換,把云平臺發(fā)來的統(tǒng)一的數(shù)據(jù)格式,轉(zhuǎn)換成不同的無線通信協(xié)議特有的數(shù)據(jù)格式;

          設(shè)備的開發(fā)工作就相對純粹一點了,它只需要處理某一種無線協(xié)議即可。

          這一類設(shè)備的開發(fā),一般都是使用相應(yīng)的通信模組,底層的協(xié)議棧都是提供好的。

          開發(fā)者需要做的工作主要就是熟悉應(yīng)用層的通信協(xié)議,完成指令的解析和數(shù)據(jù)上報工作。

          3. WiFi 類設(shè)備

          這一類產(chǎn)品最常見的就是各種品牌的網(wǎng)絡(luò)攝像頭(IPCamera),比如:小米、360、螢石等等。

          攝像頭如果作為一個單品來使用,只要把家中的 WiFi SSID 和 密碼配置到攝像頭中,就可以使用官方的 APP 來遠程查看實時畫面了。

          如果把攝像頭集成在一個智能家居的系統(tǒng)中,就需要二次開發(fā)。

          攝像頭廠家一般都會提供 SDK,作為開發(fā)者需要做的事情就是:調(diào)用 SDK 中的 API 函數(shù),獲取實時畫面、發(fā)送指令控制攝像頭云臺轉(zhuǎn)動。

          這里有一個底層的技術(shù)很有意思:P2P 網(wǎng)絡(luò)穿透

          我們買來一個網(wǎng)絡(luò)攝像機,是不可能有一個獨立的 IP 地址的。也就是說:其他設(shè)備(手機)是沒辦法通過 IP:PORT 的編程方式,直接連接到攝像頭的。

          但是為了實時畫面的傳輸質(zhì)量,為了減輕服務(wù)器的轉(zhuǎn)發(fā)壓力,手機最好可以直接與攝像頭建立 TCP 通信。

          此時,P2P 網(wǎng)絡(luò)穿透給這種需求提供了可能。

          在早期的時候,深圳有大批的攝像頭廠商使用的都是 TUTK 這家公司的 P2P 網(wǎng)絡(luò)穿透服務(wù)。

          P2P Master(就是一臺服務(wù)器)的協(xié)助下,實現(xiàn)移動端與攝像頭之間的網(wǎng)絡(luò)穿透,直接建立 TCP 連接。

          物聯(lián)網(wǎng)平臺開發(fā)

          物聯(lián)網(wǎng)平臺,作為連接業(yè)務(wù)應(yīng)用和設(shè)備的中間層,屏蔽了各種復(fù)雜的設(shè)備接口,實現(xiàn)設(shè)備的快速接入。

          目前,做的比較大的就是那么幾家巨頭:亞馬遜的 AWS 平臺,阿里云、騰訊、華為的物聯(lián)網(wǎng)平臺。

          以上這幾家的物聯(lián)網(wǎng)平臺,僅僅是他們的云平臺中的一個組成部分。

          它們的目標就是提供一個通用的通信標準和 SDK,快速的接入各種硬件設(shè)備,通過設(shè)備接入數(shù)量、通信數(shù)據(jù)的流量,以及提供各種業(yè)務(wù)層的服務(wù)來賺錢。

          另外,還有一些下一梯隊的公司,開發(fā)了自己的、專門針對物聯(lián)網(wǎng)領(lǐng)域的平臺。由于知名度不高,只能以合作開發(fā)項目的形式來吸引硬件設(shè)備的接入。

          從開發(fā)的角度來看,物聯(lián)網(wǎng)平臺的開發(fā)技術(shù)棧主要是后臺開發(fā)。由于這部分技術(shù)棧我不太熟悉,就不去深入討論了。

          物聯(lián)網(wǎng)平臺最寶貴的就是數(shù)據(jù),如何利用這些數(shù)據(jù),這就是業(yè)務(wù)應(yīng)用的事情了。

          業(yè)務(wù)應(yīng)用開發(fā)

          所謂的業(yè)務(wù)應(yīng)用,簡單來說,就是通過調(diào)用物聯(lián)網(wǎng)平臺提供的 API,實現(xiàn)設(shè)備管理、數(shù)據(jù)上報、命令下發(fā)等業(yè)務(wù)場景。

          設(shè)備管理是在設(shè)備接入基礎(chǔ)上,提供了更豐富完備的設(shè)備管理能力,簡化海量設(shè)備管理復(fù)雜性,提升管理效率。

          從物聯(lián)網(wǎng)平臺的設(shè)備和數(shù)據(jù)中,可以衍生出各種不同的業(yè)務(wù)應(yīng)用場景,這就要根據(jù)實際的系統(tǒng)功能來進行按需開發(fā)了。

          比如:智慧城市、智慧照明、智慧工業(yè)、車聯(lián)網(wǎng)等行業(yè)應(yīng)用。

          涉及到的技術(shù)棧是:前端后端開發(fā)。


          ------ End ------

          推薦閱讀

          專輯0:精選文章

          專輯1:C 語言

          專輯2:應(yīng)用程序設(shè)計

          專輯3:Linux 操作系統(tǒng)

          專輯4:物聯(lián)網(wǎng)

          星標公眾號,能更快找到我!


          瀏覽 49
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  学生妹一级片,黄色的学生妹一级片 | 黄片亚洲视频 | 免费看A∨ | 特级西西人体444.444人体聚色 | 无码内射在线播放 |