加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

【RT-Thread作品秀】基于ART-Pi的多場景智能物聯(lián)終端

2020/12/22
323
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(2)
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

概述

當(dāng)前國內(nèi)物聯(lián)網(wǎng)市場的云端生態(tài)已經(jīng)相對完善,但物聯(lián)網(wǎng)終端設(shè)備仍然各成一家、相互隔絕,需要在多種場景下進(jìn)一步規(guī)范化物聯(lián)網(wǎng)終端軟硬件接口。

本作品針對這一市場痛點,以ART-Pi開發(fā)板和RTT操作系統(tǒng)為基礎(chǔ),從軟件接口層構(gòu)建一個相對統(tǒng)一設(shè)備至設(shè)備(D2D)與設(shè)備至云端(D2C)的小型通信接口,使用多種輸入設(shè)備與多種輸出設(shè)備驗證其實際效能,為RTT與STM32強強聯(lián)合實現(xiàn)“全連接”的目標(biāo)提供一個最優(yōu)實踐與解決方案。

項目應(yīng)用場景:工業(yè)現(xiàn)場、車載與家庭環(huán)境。

開發(fā)環(huán)境

硬件:ART-Pi開發(fā)板

RT-Thread版本:4.0.3

開發(fā)工具及版本:RT-Thread Studio版本: 1.1.5

RT-Thread使用情況概述

內(nèi)核部分:

調(diào)度器:創(chuàng)建多個線程來實現(xiàn)不同的工作。

信號量:用來同步線程。

事件集:通知數(shù)據(jù)采集完成

組件部分: Sensor框架,SAL 套接字抽象層

Sensor框架:將溫濕度傳感器注冊到sensor上。使用該框架提高了代碼的復(fù)用性。

SAL 套接字抽象層:該組件實現(xiàn)了對不同網(wǎng)絡(luò)協(xié)議?;蚓W(wǎng)絡(luò)實現(xiàn)接口的抽象,并對上層提供一組標(biāo)準(zhǔn)的API接口,方便網(wǎng)絡(luò)應(yīng)用的開發(fā)與穩(wěn)定性。

驅(qū)動部分:

Pin設(shè)備:通過控制GPIO高低電平控制外接設(shè)備。

串口設(shè)備:監(jiān)控系統(tǒng)運行狀態(tài),可作為輸入控制。

第三方軟件包部分:

cJSON:C語言實現(xiàn)的極簡的解析 JSON 格式的軟件包。

onenet: RT-Thread 針對 OneNET 平臺連接做的的適配,通過這個軟件包,可以讓設(shè)備在 RT-Thread 上非常方便的連接 OneNet 平臺,完成數(shù)據(jù)的發(fā)送、接收、設(shè)備的注冊和控制等功能。

Paho-mqtt,:本軟件包是在 Eclipse paho-mqtt 源碼包的基礎(chǔ)上設(shè)計的一套 MQTT 客戶端程序。

Webclient:提供設(shè)備與 HTTP Server 的通訊的基本功能。

 

硬件框架

硬件設(shè)備以ART-Pi開發(fā)板及其板載設(shè)備為主。

軟件框架說明

軟件框架以標(biāo)準(zhǔn)RT-Thread操作系統(tǒng)為基礎(chǔ),通過添加網(wǎng)絡(luò)模塊AP6212的設(shè)備驅(qū)動,以及SAL 套接字抽象層,實現(xiàn)系統(tǒng)的基礎(chǔ)聯(lián)網(wǎng)功能。

在此基礎(chǔ)上,添加cJSON 、onenet、paho-mqtt 軟件支持,并在onenet云端建立基于MQTT的產(chǎn)品與設(shè)備,將身份認(rèn)證信息寫入軟件包,實現(xiàn)系統(tǒng)通過MQTT協(xié)議與云端服務(wù)器遠(yuǎn)程通信協(xié)議支持。

最后,基于系統(tǒng)和第三方MQTT協(xié)議的API接口,實現(xiàn)業(yè)務(wù)代碼。添加設(shè)備節(jié)點與解析程序,并以線程的形式載入系統(tǒng)中。

 

軟件模塊說明

應(yīng)用軟件的關(guān)鍵業(yè)務(wù)代碼部分基于系統(tǒng)和第三方MQTT協(xié)議的API接口實現(xiàn),并以動態(tài)創(chuàng)建線程的方式加入到RT-Thread系統(tǒng)中。

關(guān)鍵操作主要有兩步:

  1. 獲取傳感器信息,并上傳至服務(wù)器;
  2. 接收onenet的遠(yuǎn)程MQTT服務(wù)器發(fā)來的信息,解析并轉(zhuǎn)換為底層硬件的執(zhí)行指令,控制底層硬件的狀態(tài)。

 

演示效果

 

比賽感悟

通過這次比賽,更加深刻的認(rèn)識到了RT-Thread不只是一個操作系統(tǒng)內(nèi)核,而是代表了整個嵌入式生態(tài)。作為一名 RTOS 的開發(fā)者,也許比賽前對 RT-Thread 還比較陌生。然而,隨著深入接觸,逐漸發(fā)現(xiàn) RT-Thread 的魅力和它相較于其他同類型 RTOS 的種種優(yōu)越之處。RT-Thread 是一款完全由國內(nèi)團(tuán)隊開發(fā)維護(hù)的嵌入式實時操作系統(tǒng)(RTOS),具有完全的自主知識產(chǎn)權(quán)。經(jīng)過近 12 個年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個功能強大、組件豐富的物聯(lián)網(wǎng)操作系統(tǒng)。

總而言之,RT-Thread在這次比賽中充分發(fā)揮了一個物聯(lián)網(wǎng)操作系統(tǒng)及其生態(tài)所蘊含的優(yōu)勢,這是以往嵌入式開發(fā)中由工程師只能自己手動搭建軟件系統(tǒng)所遠(yuǎn)不能及的,衷心祝愿RT-Thread 社區(qū)越辦越好,走向產(chǎn)業(yè),走向世界。

 

  • 代碼地址.txt
  • 基于ART-Pi的多場景智能物聯(lián)終端.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜