DIY一个智能开关kwswitch
阅读原文时间:2023年07月12日阅读:1

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

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

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

  • 远程控制

  • 掉电记忆

  • 触控开关

  • 红外遥控

  • 温湿度监测

  • 本地控制

  • 单双路继电器支持

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

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

  • 定时执行 (待完成…)

  • 语音控制 (待完成…)

  • 云端升级 (待完成…)

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

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

  • 安卓端使用乐鑫的EspTouch讯飞的语音SDK

平台架构图:

项目结构图:

后端

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

   

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

  • 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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章