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

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

【RT-Thread作品秀】風(fēng)速監(jiān)測(cè)報(bào)警

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

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

虛擬商品不可退

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

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

風(fēng)速監(jiān)測(cè)報(bào)警

作者:蘇慶洪

概述

風(fēng)速監(jiān)測(cè)報(bào)警系統(tǒng)基于 MCU芯片開(kāi)發(fā),支持采集多路從機(jī)分節(jié)點(diǎn)的風(fēng)速數(shù)據(jù),通過(guò)無(wú)線主從傳輸,主機(jī)收集數(shù)據(jù),通過(guò)顯示屏實(shí)時(shí)監(jiān)視,在風(fēng)速超過(guò)報(bào)警值時(shí),通過(guò)GPIO輸出接點(diǎn)信號(hào),啟動(dòng)預(yù)警,降低自然風(fēng)災(zāi)害對(duì)生命財(cái)產(chǎn)損失的風(fēng)險(xiǎn)。點(diǎn)對(duì)點(diǎn)無(wú)線傳輸距離可達(dá) 2000m ~ 3000m,具有傳輸距離遠(yuǎn)的特點(diǎn),通過(guò)組網(wǎng)可以覆蓋大面積預(yù)警區(qū)域,該系統(tǒng)適用于野外對(duì)風(fēng)速敏感的設(shè)備,房屋進(jìn)行監(jiān)測(cè),特別是各風(fēng)景名勝區(qū),地處名山大川,其載客索道纜車(chē),當(dāng)線路上風(fēng)速過(guò)大時(shí),可以和主控系統(tǒng)聯(lián)動(dòng),進(jìn)行減速和停機(jī)控制。

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

硬件stm32f103-atk-mini

RT-Thread版本:RT-Thread V 4.0.3

開(kāi)發(fā)工具及版本:MDK 5.25

RT-Thread使用情況概述

內(nèi)核部分:調(diào)度器,信號(hào)量,消息隊(duì)列。

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

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

設(shè)備框架:通過(guò) RT-Thread提供的 I/O 設(shè)備管理接口來(lái)訪問(wèn)串口硬件。

 

硬件框架

 

 

 

 

 

從機(jī)MCU 定時(shí)讀取 風(fēng)速傳感器數(shù)據(jù),然后通過(guò) ATK-LORA 傳輸?shù)街鳈C(jī),主機(jī)對(duì)數(shù)據(jù)進(jìn)行比例運(yùn)算處理,LCD顯示和GPIO輸出

 

軟件框架說(shuō)明

 

 

MCU 上電之后首先完成板級(jí)外設(shè)的初始化,圖形界面littleVGL初始化,定時(shí)請(qǐng)求數(shù)據(jù),串口中斷釋放信號(hào)量,線程實(shí)時(shí)處理數(shù)據(jù),并顯示、控制。

軟件模塊說(shuō)明

主機(jī)創(chuàng)建了3個(gè)線程,1個(gè)信號(hào)量。

main:完成初始化,創(chuàng)建信號(hào)量,打開(kāi)串口設(shè)備,設(shè)置中斷響應(yīng)函數(shù),創(chuàng)建線程,定時(shí)請(qǐng)求從機(jī)數(shù)據(jù)。

lcd_thread_entry:開(kāi)啟littlevgl的事務(wù)處理lv_task_handler()。

usart_thread_entry:take信號(hào)量的方式,獲取到信號(hào)量之后,開(kāi)始數(shù)據(jù)接收,正確收到數(shù)據(jù)后,顯示,并輸出IO信號(hào)。

演示效果

模擬儀表顯示,綠色指針為當(dāng)前風(fēng)速值,紅色指針為故障上限,黃色指針為報(bào)警上限

 

拖動(dòng)滑塊左右移動(dòng)可以設(shè)定報(bào)警值

 

切換軟件開(kāi)關(guān),對(duì)太陽(yáng)能電池進(jìn)行充電

 

B站地址

比賽感悟

時(shí)代的發(fā)展,MCU的性能也越來(lái)越強(qiáng),萬(wàn)物互聯(lián)的需求也愈加強(qiáng)烈,使用RTOS來(lái)實(shí)現(xiàn)物與網(wǎng)的鏈接,是時(shí)代發(fā)展的潮流,當(dāng)我接觸到RT-Thread 這個(gè)國(guó)人自主RTOS后,經(jīng)過(guò)對(duì)比其他的freertos,ucos等,RT-Thread代碼很優(yōu)雅,組件功能多,小而美,我開(kāi)始了深入的學(xué)習(xí)。

通過(guò) RT-Thread官網(wǎng)上的文檔中心,我學(xué)習(xí)了多線程及其調(diào)度、信號(hào)量、郵箱、消息隊(duì)列、內(nèi)存管理、定時(shí)器等,但是感覺(jué)認(rèn)識(shí)很膚淺,對(duì)于信號(hào)量是怎么實(shí)現(xiàn)的?rtos是怎么達(dá)到實(shí)時(shí)性?還是一頭霧水。

于是又學(xué)習(xí)了火哥出版的《RT-Thread 內(nèi)核實(shí)現(xiàn)與應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)—基于STM32》,手把手,一步一步實(shí)現(xiàn)了RT-Thread,終于有了深刻認(rèn)識(shí),可以實(shí)際操作了。

通過(guò)這次比賽的項(xiàng)目實(shí)踐,我對(duì)RT-Thread有了全新的認(rèn)識(shí),他不僅僅是一個(gè)嵌入式RTOS,當(dāng)各種組件有序結(jié)合起來(lái),必能夠發(fā)揮出更大能量,體現(xiàn)無(wú)與倫比的擴(kuò)展性和靈活性,無(wú)愧小而美物聯(lián)網(wǎng)操作系統(tǒng)的稱(chēng)呼,現(xiàn)在RT-Thread smart已經(jīng)上線了,無(wú)疑體現(xiàn)出來(lái)RT-Thread的蓬勃生命力和無(wú)限美好的發(fā)展前景,我相信選擇RT-Thread絕對(duì)是正確的。

這個(gè)小作品,還有待完善,現(xiàn)在僅能通過(guò)觸摸屏顯示一些數(shù)據(jù),并調(diào)整參數(shù),還得增加一些功能,比如省電管理,遠(yuǎn)程開(kāi)關(guān)機(jī),還得解決開(kāi)發(fā)硬件、軟件的版權(quán)問(wèn)題,在此僅作為演示,給下一步的開(kāi)發(fā)提供一些思路,距離產(chǎn)品還有很長(zhǎng)的路要走。

美中不足的地方,RT-Thread studio編譯代碼偏大,以至于我這個(gè)mini板flash和ram容量不夠,下一步還得好好研究,怎樣裁剪,用RT-Thread studio做產(chǎn)品的問(wèn)題。

最后感謝主辦方提供了這么好的一個(gè)平臺(tái),不僅能展示自我,也能學(xué)到很多知識(shí),還要感謝論壇上那些解決我問(wèn)題以及制作軟件包的大佬,希望有朝一日我也能給開(kāi)源社區(qū)貢獻(xiàn)一份自己力量。

  • rtthread作品秀風(fēng)速監(jiān)測(cè)報(bào)警.pdf
    描述:作品簡(jiǎn)介
  • 代碼地址.txt
    描述:代碼
  • rtthread作品秀風(fēng)速監(jiān)測(cè)報(bào)警.pdf
    描述:作品簡(jiǎn)介
  • rtthread作品秀風(fēng)速監(jiān)測(cè)報(bào)警.docx

相關(guān)推薦

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