引言
本文為奇跡物聯(lián)量產(chǎn) DTU 產(chǎn)品設(shè)計(jì)資料分享,主要針對(duì)嵌入式 C 語(yǔ)言物聯(lián)網(wǎng)開(kāi)發(fā)愛(ài)好者學(xué)習(xí)交流??蓭椭韵氯藛T降低物聯(lián)網(wǎng)產(chǎn)品開(kāi)發(fā)門檻:
物聯(lián)網(wǎng)Cat 1產(chǎn)品開(kāi)發(fā)初學(xué)者: 本文將介紹產(chǎn)品的軟硬件定義、硬件設(shè)計(jì)分析、軟件設(shè)計(jì)分析,并詳細(xì)講解單一功能點(diǎn)功能模塊的驗(yàn)證過(guò)程和測(cè)試驗(yàn)證方法。通過(guò)學(xué)習(xí)本內(nèi)容,初學(xué)者可以在 1-2 天內(nèi)完成一款 Cat 1 DTU產(chǎn)品的開(kāi)發(fā)全過(guò)程,快速提升物聯(lián)網(wǎng)產(chǎn)品開(kāi)發(fā)的實(shí)踐能力。本文也是紅豆開(kāi)源產(chǎn)品的一個(gè)實(shí)戰(zhàn)講解項(xiàng)目。
負(fù)責(zé)開(kāi)發(fā)類似DTU(Cat 1 版本)功能定義的產(chǎn)研人員:通過(guò)本案例,你將全面了解 DTU的設(shè)計(jì)全部功能模塊拆解分析,并結(jié)合紅豆開(kāi)源平臺(tái)(開(kāi)源硬件+RTOS 開(kāi)源資料),快速進(jìn)行微改動(dòng),完成自己的物聯(lián)網(wǎng)產(chǎn)品項(xiàng)目研發(fā)設(shè)計(jì)。
需要設(shè)計(jì)一款DTU產(chǎn)品的項(xiàng)目負(fù)責(zé)人:本案開(kāi)源了產(chǎn)品設(shè)計(jì)軟硬件全部設(shè)計(jì)資料,以及產(chǎn)品手冊(cè)、AT指令手冊(cè)、JSON通信協(xié)議等開(kāi)發(fā)成果,可以直接轉(zhuǎn)為自己量產(chǎn)產(chǎn)品設(shè)計(jì)資料,節(jié)省開(kāi)發(fā)成本。
TCP版本DTU產(chǎn)品項(xiàng)目概述
遠(yuǎn)程終端單元( Remote Terminal Unit,DTU),一種針對(duì)通信距離較長(zhǎng)和工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣而設(shè)計(jì)的具有模塊化結(jié)構(gòu)的、特殊的計(jì)算機(jī)測(cè)控單元,它將末端檢測(cè)儀表和執(zhí)行機(jī)構(gòu)與遠(yuǎn)程控制中心相連接。
產(chǎn)品定義&功能描述
硬件功能概述
TCP DTU,用于將遠(yuǎn)程現(xiàn)場(chǎng)的傳感器和執(zhí)行器數(shù)據(jù)傳輸?shù)街醒?a href="http://hljzzgx.com/v/tag/8966/" target="_blank">控制系統(tǒng)或監(jiān)控中心。DTU通常用于工業(yè)自動(dòng)化、能源管理、環(huán)境監(jiān)測(cè)等領(lǐng)域,它可以收集和傳輸各種類型的數(shù)據(jù),如溫度、壓力、流量、電流、電壓等。
TCP DTU具有5*6貼片卡/外置SIM卡/全網(wǎng)通卡功能,支持卡基站定位,內(nèi)嵌看門狗,掉線自動(dòng)恢復(fù)。標(biāo)準(zhǔn)工業(yè)RS232/485接口,可以支持6-20V的寬電壓輸入。
TCP DTU為用戶提供標(biāo)準(zhǔn)固件以及對(duì)應(yīng)源碼,以及對(duì)應(yīng)的TCP透?jìng)?、AT指令配置等功能的操作例程。
軟件功能概述
網(wǎng)絡(luò)通訊功能:為了實(shí)現(xiàn)遠(yuǎn)程控制中心對(duì)終端測(cè)控單元的控制,DTU首先應(yīng)該具備聯(lián)網(wǎng)的能力,通過(guò)網(wǎng)絡(luò)將兩者連接起來(lái)。實(shí)現(xiàn)了網(wǎng)絡(luò)通訊,就要考慮網(wǎng)絡(luò)穩(wěn)定的問(wèn)題,如果不穩(wěn)定,需要實(shí)現(xiàn)斷線重連等。服務(wù)器確定設(shè)備目前在線
參數(shù)配置功能:網(wǎng)絡(luò)通訊可以選擇TCP,MQTT等協(xié)議。連接TCP服務(wù)器,需要配置TCP服務(wù)器地址,端口號(hào)等參數(shù);連接MQTT服務(wù)器需要配置鑒權(quán)信息,訂閱和發(fā)布的Topic等參數(shù)。此外,其它復(fù)雜功能,也會(huì)涉及到一些參數(shù)的配置。
網(wǎng)絡(luò)參數(shù)配置功能:上述功能實(shí)現(xiàn)后,可以考慮后期維護(hù)過(guò)程中,當(dāng)DTU現(xiàn)場(chǎng)維護(hù)不方便,使用網(wǎng)絡(luò)對(duì)其進(jìn)行配置的方式。配置的方式可以選擇多種形式,可以將上面的指令稍微修改,也可以另外寫一份協(xié)議。
心跳功能:當(dāng)DTU和遠(yuǎn)程服務(wù)器建立連接后,服務(wù)器判斷設(shè)備是否在線,需要DTU定時(shí)發(fā)送一串?dāng)?shù)據(jù)給服務(wù)器,用通信來(lái)確認(rèn)DTU在線。
產(chǎn)品硬件定義
系統(tǒng)框圖:
暫時(shí)無(wú)法在飛書文檔外展示此內(nèi)容
HaaS框圖:
SOM板Haas框圖
AM430EV5 SOM板1(5*6eSIM卡)Haas框圖
暫時(shí)無(wú)法在飛書文檔外展示此內(nèi)容
AM430EV5 SOM板2(全網(wǎng)通SIM卡)Haas框圖
暫時(shí)無(wú)法在飛書文檔外展示此內(nèi)容
REV1主板Haas框圖
暫時(shí)無(wú)法在飛書文檔外展示此內(nèi)容
也可以購(gòu)買標(biāo)準(zhǔn)硬件進(jìn)行軟件開(kāi)發(fā),購(gòu)買鏈接:
https://item.taobao.com/item.htm?id=768412868192&spm=a1z10.1-c-s.w4004-25306266394.3.7c4517edPbkQLY
產(chǎn)品軟件功能定義
開(kāi)源項(xiàng)目實(shí)現(xiàn)功能:
AT指令配置設(shè)備運(yùn)行參數(shù),包括:服務(wù)器連接IP、端口號(hào);心跳包開(kāi)啟/關(guān)閉;心跳包內(nèi)容;注冊(cè)包模式;注冊(cè)包內(nèi)容。以及復(fù)位和查詢相關(guān)配置參數(shù)指令。
可隨時(shí)選擇進(jìn)入、退出透?jìng)髂J?/p>
心跳保持功能,心跳間隔可配置
網(wǎng)絡(luò)重連功能
理論上可以發(fā)送無(wú)限長(zhǎng)度數(shù)據(jù)包
波特率固定為115200,可以根據(jù)客戶需求定制
網(wǎng)絡(luò)AT指令和JSON協(xié)議配置功能,可以通過(guò)服務(wù)器下發(fā)遠(yuǎn)程AT指令配置
支持遠(yuǎn)程升級(jí)
軟件功能模塊分析:
按照上面的分析,開(kāi)發(fā)的過(guò)程就是實(shí)現(xiàn)一個(gè)個(gè)組件,幾個(gè)組件完成一個(gè)模塊,幾個(gè)模塊完成一個(gè)項(xiàng)目的開(kāi)發(fā)。
開(kāi)發(fā)過(guò)程會(huì)從核心組件驗(yàn)證,完整代碼詳解,調(diào)試三個(gè)章節(jié)來(lái)講,如何使用服務(wù)層API或應(yīng)用層組件中的代碼實(shí)現(xiàn)組件和模塊,從而完成整個(gè)項(xiàng)目。
軟件流程圖:
根據(jù)上面的講解,我們可以輕松畫出每個(gè)模塊的流程圖:
暫時(shí)無(wú)法在飛書文檔外展示此內(nèi)容
基開(kāi)發(fā)豆平臺(tái)開(kāi)發(fā)分析(用了哪些應(yīng)用層組件和服務(wù)層組件)
我們的目的是做一款RTU,根據(jù)RTU應(yīng)該具有的的功能,代碼可以分為:數(shù)據(jù)存儲(chǔ)模塊,AT指令模塊,切卡模塊,透?jìng)髂J角袚Q模塊,TCP模塊,心跳模塊,掉線重連模塊,GNSS模塊,DI模塊,DO模塊,AI模塊,JSON模塊,鬧鐘模塊,Modbus模塊。
模塊是根據(jù)相似的功能,把對(duì)應(yīng)的代碼放到同一個(gè)源文件中。每個(gè)功能算作一個(gè)組件,不同組件組合以來(lái),構(gòu)成了模塊的主要功能。
數(shù)據(jù)存儲(chǔ)組件:包括文件創(chuàng)建,初始化,讀寫,關(guān)閉等。
AT指令組件:包括串口初始化,串口數(shù)據(jù)接收,發(fā)送,數(shù)據(jù)分析,AT指令解析
切卡組件:包括GPIO初始化,復(fù)位切卡
透?jìng)髂J角袚Q組件:包括串口初始化,串口數(shù)據(jù)接收,發(fā)送,數(shù)據(jù)分析,切換模式
掉線重連組件:包括連接狀態(tài)檢測(cè),掉線重連
TCP組件:包括參數(shù)配置,創(chuàng)建Socket,連接服務(wù)器,發(fā)送,接收數(shù)據(jù)
心跳組件:包括參數(shù)配置,定時(shí)發(fā)送
上述模塊功能大致是按照依賴順序來(lái)的,下面的模塊實(shí)現(xiàn)可能要基于上面的組件。
AT指令模塊
心跳模塊
TCP網(wǎng)絡(luò)模塊
網(wǎng)絡(luò)AT模塊
主任務(wù)模塊
升級(jí)模塊
IO模塊
文件模塊
審核編輯 黃宇
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372757 -
TCP
+關(guān)注
關(guān)注
8文章
1353瀏覽量
79055 -
DTU
+關(guān)注
關(guān)注
3文章
436瀏覽量
25222
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論