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