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