分享

一个开源的智能开关平台,支持远程开关、红外线遥控开关等

 犟木匠 2021-12-14
文章图片1

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

应用场景

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

文章图片2

支持功能

  • 远程控制
  • 掉电记忆
  • 触控开关
  • 红外遥控
  • 温湿度监测
  • 本地控制
  • 单双路继电器支持
  • 智能配网(长按配置按钮进入)
  • 不联网模式(双击配置按钮切换)

技术栈

  • 该项目前后端基于 若依权限管理系统
  • 开关的硬件使用 贝壳物联 的Wifi继电器模块
  • 安卓端使用乐鑫的 EspTouch 讯飞 的语音SDK

功能架构图:

文章图片3

项目结构:

文章图片4

后端:

  • 相关技术: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温湿度传感器(可选)、触控开关(可选)
  • 硬件图片:硬件图片来自贝壳物联官网
文章图片5
  • 硬件电路图:
文章图片6
  • 电路接线图(默认5V电压,如果要接220V交流电,需要搭配一个AC-DC降压模块):
文章图片7

安装部署

下面是linux系统下安装相关容器的命令,windows下修改命令中的换行符号和挂载卷路径。这些命令可以方便你开发和部署,你也可以使用dockerfile、docker-compose.yml或者自己的镜像。当然不用docker也是可以的,只是一个一个装应用麻烦些。

  • mysql安装(有账号和密码)
1.安装软件docker run \   --name mysql \ --publish 3306:3306 \ --volume /var/data/mysql/mysql:/var/lib/mysql \ --env MYSQL_DATABASE='databaseName' \ --env MYSQL_USER='root' \ --env MYSQL_ROOT_PASSWORD=123456 \ --restart always \ --detach \ mysql:5.7 \ --character-set-server=utf8 \ --collation-server=utf8_unicode_ci 2.进入容器docker exec -it containId /bin/bash3.修改配置文件,设置编码tee /etc/mysql/conf.d/mysql.cnf <<-'EOF'[client]default-character-set=utf8 [mysql]default-character-set=utf8EOF4.可选:设置mysql小写模式,vim /etc/mysql/mysql.conf.d/mysql.cnf,在[mysqld]下加入一行:lower_case_table_names=1
  • redis安装(有密码)
docker run \  --name redis \  --restart always \   --publish 6379:6379 \  --volume /var/data/redis/data:/data \  --detach \ redis \  --requirepass '123456' \  --appendonly yes
  • mongodb安装(有账号密码)
docker run \ --name mongo \ --env MONGO_INITDB_ROOT_USERNAME=root \ --env MONGO_INITDB_ROOT_PASSWORD=123456 \ --volume /var/data/mongodb:/data/db \ --publish 27017:27017 \ --restart unless-stopped \ --detach \mongo:4.0提示:mongodb使用时,先创建库,然后一定要在对应库中创建用户和角色,不然创建的用户连接不上对应数据库。
  • mosquitto安装(有账号密码,Mqtt的Broker)
1.安装软件docker run \   --name mosquitto \   --privileged \   --publish 1883:1883 \   --publish 9001:9001 \   --volume /var/data/mosquitto/data:/mosquitto/data \   --volume /var/data/mosquitto/log:/mosquitto/log \   --restart always \   --detach \eclipse-mosquitto 2.进入容器:docker exec -it name sh3.编辑配置文件:vi /mosquitto/config/mosquitto.conf  # 关闭匿名模式  allow_anonymous false  # 指定密码文件  password_file /mosquitto/config/pwfile.conf4.生成密码:  #使用mosquitto_passwd命令创建用户,第一个admin是用户名,第二个admin是密码  mosquitto_passwd -b /mosquitto/config/pwfile.conf admin admin5.退出容器使用并重启容器:  #退出容器  exit  #重启容器  docker restart mosquitto

演示

文章图片8
文章图片9
文章图片10
文章图片11

更多内容大家可自行前往阅读。

开源地址:https:///kerwincui/kwswitch

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多