一、計畫介紹
智慧開關平台包括伺服端、硬體端、PC端和安卓端。硬體使用ESP8266模組,成本相對較低,可以發揮想象力,搭配各種傳感器,實作自己的智慧終端。
套用場景 :智慧開關的套用場景比較廣泛,一般家裏通電即可使用的裝置都能搭配該模組,升級為網路版,進行聯網控制。常見的就是智慧開關、智慧插座和智慧燈,搭配土壤濕度傳感器可以實作智慧澆灌,搭配溫濕度傳感器可以監控溫濕度,其他傳感器例如:觸控開關、雨滴探測、聲音傳感器、光敏傳感器、煙霧傳感器、火焰報警、人體感應等等。
二、計畫功能
遠端控制
掉電記憶
觸控開關
紅外遙控
溫濕度監測
本地控制
單雙路繼電器支持
智慧配網(長按配置按鈕進入)
不聯網模式(雙擊配置按鈕切換)
三、系統架構
技術棧
該計畫前後端基於 若依許可權管理系統
開關的硬體使用 貝殼物聯 的Wifi繼電器模組
安卓端使用樂鑫的 EspTouch
平台架構圖:
使用者輸入 :使用者透過安卓手機或瀏覽器向系統發送命令。例如,使用者可能想要開啟家裏的燈光。
HTTP請求 :使用者的命令以HTTP請求的形式發送到Nginx伺服器。
反向代理 :Nginx接收到HTTP請求後,將其轉發給Spring Boot應用程式。
業務邏輯處理 :Spring Boot應用程式處理使用者的命令,執行相應的業務邏輯。在這個例子中,Spring Boot會告訴智慧開關開啟燈光。
MQTT訊息傳遞 :為了傳達這個命令,Spring Boot會透過MQTT協定向智慧開關發送一條訊息。這條訊息會被發送到Mosquitto MQTT代理。
智慧開關接收命令 :智慧開關監聽特定的主題,當它接收到Spring Boot發送的開啟燈光的命令時,就會執行相應的操作。
裝置控制 :智慧開關透過Wi-Fi網路控制實際的燈具,使其開啟。
反饋響應 :完成操作後,智慧開關可能會透過MQTT協定向Spring Boot發送一條確認訊息,表示已經成功開啟了燈光。
數據儲存 :在整個過程中,相關的裝置數據和業務資訊可能會被儲存在MongoDB、Redis和MySQL資料庫中,以便後續查詢和分析。
使用者介面更新 :最後,Spring Boot會透過RESTful API向Vue前端發送響應,更新使用者介面上的燈光狀態,讓使用者知道他們的命令已經被正確執行。
本地控制 :此外,使用者也可以透過智慧開關上的物理按鈕直接控制裝置,或者檢視傳感器的狀態。
計畫結構圖:
後端
相關技術:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、Mongodb、MQTT
開發工具:IDEA
前端
相關技術:ES6、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui
開發工具:Visual Studio Code
安卓
相關技術:Smartconfig、GSON、OkHttp、訊飛語音
開發工具:Android Studio
硬體端
相關技術:Arduino、 ESP8266 core for Arduino、OneButton、IRromoteESP8266、PubSubClient
開發工具:Arduino IDE、Visual Studio Code
輔助工具:USB轉TTL下載線、AC-DC降壓模組(可選)、紅外遙控模組(可選)、DHT11溫濕度傳感器(可選)、觸控開關(可選)
硬體圖片:硬體圖片來自貝殼物聯官網
硬體電路圖:
電路接線圖:(預設5V電壓,如果要接220V交流電,需要搭配一個AC-DC降壓模組)
四、系統截圖
原始碼下載地址:
https://gitee.com/kerwincui/kwswitch.git
看到最後,如果這個計畫對你有用,一定要給我點個「 在看和贊 」。