DIY一个智能开关kwswitch

源码地址:https://gitee.com/kerwincui/kwswitch

 

平台简介

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

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

场景

智能开关目前支持的功能:linux

  • 远程控制
  • 掉电记忆
  • 触控开关
  • 红外遥控
  • 温湿度监测
  • 本地控制
  • 单双路继电器支持
  • 智能配网(长按配置按钮进入)
  • 不联网模式(双击配置按钮切换)
  • 定时执行 (待完成...)
  • 语音控制 (待完成...)
  • 云端升级 (待完成...)

 

技术栈

平台架构图:

平台架构图

项目结构图:

项目结构图

后端

  • 相关技术:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、Mongodb、MQTT
  • 开发工具:IDEA

前端

  • 相关技术:ES六、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui
  • 开发工具:Visual Studio Code

安卓

  • 相关技术:Smartconfig、GSON、OkHttp、讯飞语音
  • 开发工具:Android Studio

硬件端

  • 相关技术: Arduino、ESP8266 Arduino Core、OneButton、IRromoteESP826六、PubSubClient
  • 开发工具:Arduino IDE、Visual Studio Code
  • 辅助工具:USB转TTL下载线、AC-DC降压模块(可选)、红外遥控模块(可选)、DHT11温湿度传感器(可选)、触控开关(可选)
  • 硬件图片:硬件图片来自贝壳物联官网
    硬件图片
  • 硬件电路图:
    硬件
  • 电路接线图:(默认5V电压,若是要接220V交流电,须要搭配一个AC-DC降压模块)
    硬件



演示图

演示 演示 演示 演示



Docker安装相关容器的命令

  下面是linux系统下安装相关容器的命令,windows下修改命令中的换行符号和挂载卷路径。这些命令能够方便你开发和部署,固然你也可使用dockerfile、docker-compose.yml或者本身的镜像。ios

  • 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/bash  3.修改配置文件,设置编码 tee /etc/mysql/conf.d/mysql.cnf <<-'EOF' [client] default-character-set=utf8  [mysql] default-character-set=utf8 EOF
  • 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 sh  3.编辑配置文件:vi /mosquitto/config/mosquitto.conf   # 关闭匿名模式   allow_anonymous false   # 指定密码文件   password_file /mosquitto/config/pwfile.conf  4.生成密码:   #使用mosquitto_passwd命令建立用户,第一个admin是用户名,第二个admin是密码   mosquitto_passwd -b /mosquitto/config/pwfile.conf admin admin  5.退出容器使用并重启容器:   #退出容器   exit   #重启容器   docker restart mosquitto
相关文章
相关标签/搜索