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