一、项目介绍
智能开关平台包括服务端、硬件端、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
看到最后,如果这个项目对你有用,一定要给我点个「 在看和赞 」。