• 方案介紹
    • 概述
    • 開(kāi)發(fā)環(huán)境
    • RT-Thread使用情況概述
    • 硬件框架
    • 軟件框架說(shuō)明
    • 軟件模塊說(shuō)明
    • 演示效果
    • 比賽感悟
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【RT-Thread作品秀】基于RT-Thread的智慧農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)

2020/12/23
839
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

sdk-bsp-stm32h750-realthread-artpi.zip

共3個(gè)文件

【RT-Thread作品秀】基于RT-Thread的智慧農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)

作者:frankpyq

概述

智慧農(nóng)業(yè)是目前物聯(lián)網(wǎng)一個(gè)比較廣泛的發(fā)展方向,基于從事農(nóng)業(yè)物聯(lián)網(wǎng)相關(guān)硬件的開(kāi)發(fā),結(jié)合這次RTT大賽,決定基于RT-Thread設(shè)計(jì)一款物聯(lián)網(wǎng)網(wǎng)關(guān)。本物聯(lián)網(wǎng)網(wǎng)關(guān)基于STM32H7為主芯片進(jìn)行設(shè)計(jì),分為硬件網(wǎng)關(guān)和物聯(lián)網(wǎng)平臺(tái)。硬件網(wǎng)關(guān)有以ART-PI開(kāi)發(fā)板核心板,自行設(shè)計(jì)了一個(gè)擴(kuò)展板,板載一路4G通訊模塊,一路LORA無(wú)線采集模塊,一路RS485電路,2路繼電器輸出,4路LED指示,1路DS18B20溫度采集,1個(gè)蜂鳴器;硬件網(wǎng)關(guān)可以通過(guò)無(wú)線LORA采集節(jié)點(diǎn)數(shù)據(jù),最多可以接收32路無(wú)線節(jié)點(diǎn)采集;也可以通過(guò)RS485電路采集傳感器數(shù)據(jù)。采集到數(shù)據(jù)后,通過(guò)4G模塊發(fā)送到物聯(lián)網(wǎng)平臺(tái)。這里物聯(lián)網(wǎng)平臺(tái)我使用的是深圳市模擬科技有限公司的TLINK物聯(lián)網(wǎng)平臺(tái)。板載2路繼電器和LED指示燈,可以通過(guò)平臺(tái)下發(fā)命令控制開(kāi)關(guān)。

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

硬件:ART-PI(STM32H750XB), ART-PI_TOP擴(kuò)展板;

RT-Thread版本:RT-Thread V 4.0.3

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

RT-Thread使用情況概述

(1)內(nèi)核部分:調(diào)度器,信號(hào)量等。

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

信號(hào)量:用來(lái)線程間的同步。

(2)組件部分UART框架,SENSOR框架。

UART框架:使用了3個(gè)串口,分別連接4G模塊,LORA模塊,RS485;分別用于跟平臺(tái)通訊和采集傳感器數(shù)據(jù)。

SENSOR框架:使用DS18B20采集設(shè)備機(jī)箱溫度。

(3)軟件:暫未使用相關(guān)軟件包。

硬件框架

軟件框架說(shuō)明

軟件模塊說(shuō)明

項(xiàng)目工程文件是基于官方SDK的點(diǎn)燈示例程序開(kāi)始的。

(1)read_temp_entry線程:用于讀取板載DS18B20溫度傳感器的數(shù)值。

(2)LoraU6RxData線程:用于采集無(wú)線LORA傳感器節(jié)點(diǎn)的數(shù)據(jù)。傳感器節(jié)點(diǎn)采用主動(dòng)上報(bào)方式傳輸數(shù)據(jù),最多掛載32個(gè)節(jié)點(diǎn)。

(3)led_shine_entry線程:LED燈閃爍,用于指示設(shè)備狀態(tài);

(4)Task_Tlink_Tx線程:跟TLINk云平臺(tái)通訊,包含登錄和主動(dòng)上報(bào)數(shù)據(jù)。

(5)TlinkRxData線程:用于接收和解析TLINK云平臺(tái)下發(fā)的控制指令,并執(zhí)行相關(guān)繼電器動(dòng)作。

演示效果

(1)設(shè)備照片:

(2)平臺(tái)接收數(shù)據(jù)照片:

(3)云組態(tài)照片:

(4)演示視頻:

比賽感悟

認(rèn)識(shí)RT-Thread已經(jīng)是很多年前的事情了,當(dāng)初也買(mǎi)了第一代的魔笛網(wǎng)絡(luò)收音機(jī)開(kāi)發(fā)板,但是很遺憾一直都沒(méi)有在實(shí)際項(xiàng)目中使用到。主要原因都是我手頭的項(xiàng)目都是基于裸機(jī)開(kāi)發(fā)的,都沒(méi)有使用過(guò)RTOS?;赗TT大賽的機(jī)緣,我就想努力嘗試一把,先用起來(lái),然后決定以后項(xiàng)目中有需要的都上RTT系統(tǒng)。但是完事開(kāi)頭難,我這個(gè)項(xiàng)目當(dāng)初想起來(lái)挺容易,但是實(shí)際做起來(lái)的時(shí)候,真的還是很不容易的。主要還是我的RTOS編程經(jīng)驗(yàn)匱乏,對(duì)系統(tǒng)內(nèi)核以及進(jìn)程通信機(jī)制沒(méi)有理解透徹,導(dǎo)致寫(xiě)程序的時(shí)候出了不少問(wèn)題。從最開(kāi)始的點(diǎn)燈,到后面的添加傳感器驅(qū)動(dòng)框架,添加串口驅(qū)動(dòng)框架,實(shí)現(xiàn)了DS18B20傳感器采集,實(shí)現(xiàn)了串口跟GPRS模塊和LOR模塊的通訊,實(shí)現(xiàn)了數(shù)據(jù)上TLINK云平臺(tái)。完成數(shù)據(jù)上報(bào)云平臺(tái)以及云平臺(tái)下發(fā)控制指令和執(zhí)行動(dòng)作等等功能。這其中,我基本沒(méi)有使用額外的軟件包和驅(qū)動(dòng)等,主要還是對(duì)RTT不是很熟悉,可以說(shuō)還基本沒(méi)有上手。按照當(dāng)初的設(shè)想,本來(lái)是要使用廣和通的L610的模塊,使用AT指令軟件包,ONENET軟件包等上移動(dòng)ONENET云平臺(tái)。但是由于時(shí)間太緊和基礎(chǔ)太差的原因,20號(hào)之前只能完成這么多了。其實(shí)這兩天我已經(jīng)用L610模塊連上了ONENET云平臺(tái),但是詳細(xì)功能還沒(méi)有實(shí)現(xiàn),后面我會(huì)繼續(xù)把這個(gè)項(xiàng)目做下去,爭(zhēng)取把這個(gè)產(chǎn)品做完善。最后感謝舉辦方給我一個(gè)很好的學(xué)習(xí)和鍛煉的機(jī)會(huì),RTT我相信我會(huì)一直用下去。

  • sdk-bsp-stm32h750-realthread-artpi.zip
    下載
  • 代碼地址.txt
    下載
    描述:代碼地址
  • 基于RT-Thread的智慧農(nóng)業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān).docx
    下載
    描述:項(xiàng)目描述

相關(guān)推薦