当前位置: 欣欣网 > 码农

一夜增加500 star! 推荐一款功能强大的智能开关平台

2024-07-08码农

一、项目介绍

智能开关平台包括服务端、硬件端、PC端和安卓端。硬件使用ESP8266模块,成本相对较低,可以发挥想象力,搭配各种传感器,实现自己的智能终端。

应用场景 :智能开关的应用场景比较广泛,一般家里通电即可使用的设备都能搭配该模块,升级为网络版,进行联网控制。常见的就是智能开关、智能插座和智能灯,搭配土壤湿度传感器可以实现智能浇灌,搭配温湿度传感器可以监控温湿度,其他传感器例如:触控开关、雨滴探测、声音传感器、光敏传感器、烟雾传感器、火焰报警、人体感应等等。

二、项目功能

  • 远程控制

  • 掉电记忆

  • 触控开关

  • 红外遥控

  • 温湿度监测

  • 本地控制

  • 单双路继电器支持

  • 智能配网(长按配置按钮进入)

  • 不联网模式(双击配置按钮切换)

  • 三、系统架构

    技术栈

  • 该项目前后端基于 若依权限管理系统

  • 开关的硬件使用 贝壳物联 的Wifi继电器模块

  • 安卓端使用乐鑫的 EspTouch

  • 平台架构图:

    1. 用户输入 :用户通过安卓手机或浏览器向系统发送命令。例如,用户可能想要打开家里的灯光。

    2. HTTP请求 :用户的命令以HTTP请求的形式发送到Nginx服务器。

    3. 反向代理 :Nginx接收到HTTP请求后,将其转发给Spring Boot应用程序。

    4. 业务逻辑处理 :Spring Boot应用程序处理用户的命令,执行相应的业务逻辑。在这个例子中,Spring Boot会告诉智能开关打开灯光。

    5. MQTT消息传递 :为了传达这个命令,Spring Boot会通过MQTT协议向智能开关发送一条消息。这条消息会被发送到Mosquitto MQTT代理。

    6. 智能开关接收命令 :智能开关监听特定的主题,当它接收到Spring Boot发送的打开灯光的命令时,就会执行相应的操作。

    7. 设备控制 :智能开关通过Wi-Fi网络控制实际的灯具,使其打开。

    8. 反馈响应 :完成操作后,智能开关可能会通过MQTT协议向Spring Boot发送一条确认消息,表示已经成功打开了灯光。

    9. 数据存储 :在整个过程中,相关的设备数据和业务信息可能会被存储在MongoDB、Redis和MySQL数据库中,以便后续查询和分析。

    10. 用户界面更新 :最后,Spring Boot会通过RESTful API向Vue前端发送响应,更新用户界面上的灯光状态,让用户知道他们的命令已经被正确执行。

    11. 本地控制 :此外,用户也可以通过智能开关上的物理按钮直接控制设备,或者查看传感器的状态。

    项目结构图:

    后端

  • 相关技术: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

    看到最后,如果这个项目对你有用,一定要给我点个「 在看和赞 」。