【RT-Thread作品秀】基于RT-Thread的智能家居-物聯(lián)網
作者:葫蘆俠
概述(說明應用產生的背景、實現功能)
智能家居是在互聯(lián)網影響之下物聯(lián)化的體現。智能家居通過物聯(lián)網技術將家中的各種設備連接到一起,提供家電控制、照明控制、電話遠程控制、室內外遙控、防盜報警、環(huán)境監(jiān)測、暖通控制、紅外轉發(fā)以及可編程定時控制等多種功能和手段。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,兼?zhèn)浣ㄖ?、網絡通信、信息家電、設備自動化,提供全方位的信息交互功能 。
本智能家居應用平臺基于STM32F407和ESP8266為主芯片進行設計。主控平臺以原子STM32F407開發(fā)板為核心,主要任務是通過以太網與設備節(jié)點和應用軟件進行數據交互。
開發(fā)環(huán)境(所采用的軟、硬件方案)
硬件:原子STM32F407探索者、ESP8266、S17021、DS18B20、LED、130電機
RT-Thread版本:rt-thread-3.1.4
開發(fā)工具及版本:MDK 5.31,VS CODE,Qt Creator 4.11.1,NetAssist 4.3.26, UartAssist4.3.25
RT-Thread使用情況概述(簡要總結下應用中RT-Thread使用情況:內核部分、組件部分、軟件包部分、內核、其他)
(1)、內核部分:調度器,消息隊列。
調度器:創(chuàng)建tcp連接線程。
消息隊列:用來實現線程之間的數據傳遞。
(2)組件部分:網絡框架
網絡框架:使用tcp/ip建立服務端,用于設備節(jié)點和上層控制軟件接入。
(3)軟件包:Cjson
硬件框架(概述應用所采用的硬件方案框圖,并對核心部分做介紹)
- 硬件方案圖
智能家居應用平臺方案框圖如下圖所示。主要由三部分組成,分別是主控平臺、節(jié)點平臺和應用軟件平臺。
- 系統(tǒng)介紹
主控平臺平臺與各個節(jié)點主控通信,主控通過網絡控制和獲取各個節(jié)點設備數據和狀態(tài)。上位機應用軟件通過網絡發(fā)送數據到主控,獲取設備狀態(tài)和進行設備控制。
軟件框架說明(介紹應用所采用的軟件方案框圖、流程圖等,并加以解說)
本項目采用的是STM32主控作為服務器,顯示相關節(jié)點傳感器數據。節(jié)點主控、上位機應用軟件通過TCP/IP連接至主控。應用軟件通過網絡將指令發(fā)送到主控,主控將指令轉發(fā)到節(jié)點主控,已達到設備控制。節(jié)點主控將采集到的數據通過網絡發(fā)送到STM32主控,STM32顯示相關數據,并將數據轉發(fā)至上位機。
軟件模塊說明(介紹應用軟件關鍵部分的邏輯、采用的實現方式等)
主控平臺軟件:
(1)4.3 TFFLCD
(2)界面設計使用SteamWin
(3)以太網
演示效果(演示效果請采用3張高清圖片,并錄制一段不少于1min視頻解說應用所實現的效果,視頻上傳至B站或者騰訊視頻或其他視頻平臺,給出鏈接即可
視頻:
比賽感悟(可以圍繞這次比賽學到了什么,克服了哪些困難,有哪些收獲,不低于200字)
本次比賽發(fā)現自己的題目做大了,導致時間緊迫。需要完成STM32的代碼,ESP8266代碼,還有安卓代碼。工作時,由于有大量的出差,導致項目一直不能按期推進。由于第一次使用rt-thread,調試多線程,網絡、lcd顯示花費大量時間。本來打算還要使用觸摸屏,但是到最后發(fā)現時間已經不夠了。由于屏幕使用了圖片,下載調試速度慢,也花費了不少的時間。調試ESP8266使用vs code,編譯下載特別慢,也花費了不少時間。三個平臺之間的通信也是非常的耗費時間。
總之,作為一名技術人員,感覺調試花費的時間要比寫代碼花費的時間長。