原始碼地址:https://gitee.com/kerwincui/kwswitch
平臺簡介
該智能開關平臺包括服務端、硬體端、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降壓模塊)

演示圖

Docker安裝相關容器的命令
下面是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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/14151.html
標籤:其他
