STM32F103+RT-thread操作系統+M5311NB模組物聯網項目畢業設計


title: STM32F103+RT-thread操作系統+M5311NB模組物聯網項目畢業設計
tags: STM32
date: 2019-06-08 10:53:00



視頻展示

整體架構分析

整個項目主要的功能在於底層MCU進行數據採集和485問詢,然後通過NB模組進行數據準發,採用的通訊協議爲MQTT,同時自己搭建阿里雲的MQTT服務器進行數據接收,然後自己再開發安卓APP客戶端進行數據展示。OVER!

操作系統:

操作系統:RT-thread
這是一個國產的操作系統,官網給出的說明是:小而美,的確用在STM32上確實是很方便的。資料和教程也是非常豐富的。但是不推薦大家去官網學習,我就學了幾天就搞懂了其基本邏輯,並運用到了我的畢業設計上。我主要參考的是野火的操作系統資料和教材(教材我一頁都沒看),我的學習思路就是:直接擼1直接實戰纔是王道。參考資料可以去我的QQ羣。

STM32編程邏輯:

STM32方面的編程邏輯如下:主要分爲三個線程,各司其職,當時還沒怎麼深入學習操作系統,所以並沒有加入消息隊列,而是直接用全局變量進行的數據傳輸。
數據採集方面採用的是RS485的問詢採集
NBIOT方面也是直接採用的串口AT指令的通訊

安卓APP的開發

安卓端的開發就顯得有些簡單了,因爲MQTT有現成的jar包可以拿來使用,我只需要把接收到的數據進行解析處理,並渲染在layout裏就行了。整體效果還是可以的。

PC上位機開發:

PC端的上位機採用python編寫(由於某些原因爛尾了。)
但是整體的效果都實現了,UI界面也是有的,只是自己沒有太大興趣去完成和優化了。

佈局分析

下圖就是我用三維圖繪製的整體的模型。

總結:

整體來說我的畢業設計還算圓滿,自己也花了大量的時間在上面,但是由於我是機械專業 的學生,我們學院老師和領導要求的畢業設計都是和機械相關的,我這個項目做出來基本都是和電子與物聯網相關,從開始到最後沒有一個老師給我一個展示的機會,所以自始至終,我的設備沒開機運行。。。。。。給老師看我做的安卓APP老師也不懂。他們的不懂導致了他們不知道這個項目的工作量,他們的不懂導致了我滿腔熱血沒有得到理解,也導致了我後期沒有了優化硬件和代碼的興趣(也是python上位機爛尾的原因)。
2019年6月8日
願所有努力都不被辜負!

開源

此次項目的所有工程文件和代碼都開源在QQ羣裏,以及個人github中
QQ羣:476840321
github:https://github.com/az666/my_Rt-thread_STM32_projects

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章