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
相關文章
相關標籤/搜索