智能家居-1.基於esp8266的語音控制系統(開篇)html
智能家居-2.基於esp8266的語音控制系統(硬件篇)java
智能家居-3.基於esp8266的語音控制系統(軟件篇)python
樹莓派安裝及配置mysql
鏡像文件下載地址linux
https://www.raspberrypi.org/downloads/android
安裝apache apollo(MQTT代理服務器)sql
sudo tar -zxvf apache-apollo-1.7.1-unix-distro.tar.gz apache-apollo-1.7.1數據庫
cd apache-apollo-1.7.1/binapache
sudo ./apollo create /opt/broker服務器
cd /opt/broker/bin/
sudo ./apollo-broker run
安裝teamview
sudo dpkg -i teamviewer-host_12.1.83885_armhf.deb
teamviewer
安裝mysql數據庫
pi@raspberrypi:~ $ wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lamp
安裝jdk-8u192-linux-arm32-vfp-hflt.tar.gz
sudo tar zxvf jdk-8u141-linux-arm32-vfp-hflt.tar.gz -C /usr
serviceboot.sh(開機自啓動服務腳本)
#!/bin/sh
# SSH
sudo /etc/init.d/ssh start
# MQTT
cd /opt/broker/bin/
sudo ./apollo-broker run
加入開機啓動
pi@raspberrypi:$ sudo gedit /etc/rc.local
添加
softboot.sh(開機自啓動軟件-帶界面)
#!/bin/sh
cd /home/pi/
sudo java -jar mqttagent/mqttagent.jar &
cd /home/pi/restserver
sudo python app.pyc &
$ mkdir .config/autostart
$ gedit .config/autostart/softboot.desktop
文件內容以下:
[Desktop Entry]
Type=Application
Name=testboot
NoDisplay=true
Exec=/home/pi/softboot.sh
文件結構圖
源碼示意圖
arduino_esp8266:硬件程序(功能:紅外學習,控制,存儲,wifi鏈接,mqtt通訊)
homeapp:android手機app(功能:設備管理,mqtt通訊)
mqttagent:mqtt代理程序(功能:心跳包,添加訂閱,mqtt通訊)
restserver:http post服務器(功能:數據存儲,同步)
功能截圖
1.添加房間
2.添加設備(設備管理界面可直接控制設備開關)
3.添加指令(添加完設備後自動生成開關指令)
功能:通訊測試
功能:紅外學習(工做指示燈亮)
當ESP8266處於紅外學習狀態時,遙控器發射端對準ESP8266紅外接收,超時10秒退出
功能:紅外控制(工做指示燈亮)
當ESP8266處於紅外控制狀態時,ESP8266紅外發射對準紅外設備
視頻地址:
https://v.youku.com/v_show/id_XNDAwNTYwMzI4MA==.html?spm=a2h3j.8428770.3416059.1
語音控制功能
圖靈機器人聊天功能
控制喚醒指令:二師兄
識別中文指令爲指令管理界面的中文命令
控制結束指令:不玩了
數據同步功能:
相同帳戶APP登陸後查詢服務端各個數據表版本,低於最新版本進行數據更新;在app使用過程當中,使用mqtt發佈數據更新信息,達到數據一致