樹莓派魔鏡+悟空語音控制+Homeassistant+NodeMCU
萌新小白一個,有說錯的地方還請前輩們幫忙指正。
硬體準備:
1.樹莓派3b+(當然其他型號的也是可以的,這裡我用的是3b+)
2.至少8GB的記憶體卡。
3.麥克風(麥克風陣列或者usb麥克風)
4.小音響(沒有的話可以用耳機)
5.原子鏡(某寶有賣)
6.NodeMCU板子(某寶十幾塊錢)
7. 3v繼電器
8.一塊螢幕(HDMI介面)
正式開始:
樹莓派部分:
樹莓派安裝完系統之後插電開機:
boot下新建 ssh 檔案,用於開機啟用ssh服務
boot下新建wpa_supplicant.conf 檔案,配置WiFi資訊
換源 :
sudo nano /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
更新一下軟體源
sudo apt-get update sudo apt-get upgrade -y
安裝中文字型字型檔
sudo apt-get -y install ttf-wqy-zenhei
sudo apt-get -y install scim-pinyin
選擇中文編碼,地區以及擴充套件SD卡記憶體
sudo raspi-config
然後重啟
sudo reboot
安裝悟空語音助手:
全程按照官網的手動安裝教程進行安裝,參考連結 : 悟空語音github
針對可能出現的問題解決辦法:
1.安裝失敗問題

圖片發自簡書App
分開安裝:
sudo apt-get install python-pyaudio
sudo apt-get install python3-pyaudio
sudo apt-get install sox
sudo apt-get install pulseaudio
sudo apt-get install libsox-fmt-all
sudo apt-get install ffmpeg
2.安裝pyaudio找不到portaudio.h的問題

圖片發自簡書App
先執行安裝:
sudo apt-get install portaudio19-dev python-all-dev python3-all-dev
再執行:
pip3 install pyaudio
3.沒許可權問題

圖片發自簡書App
前面加sudo即可。
至此悟空語音安裝完畢。
安裝魔鏡MagicMirror:
安裝Node.js環境:
( 下列命令是Ubuntu用的,樹莓派上可能有些命令不可用,不過不用管,都執行一下,所以遇到不可用的忽略繼續執行下一條的就行 )。
sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
安裝nodejs:
sudo apt-get install nodejs
更新npm的包映象源,方便快速下載
sudo apt install nodejs-legacy
sudo apt install npm
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
全域性安裝n管理器(用於管理nodejs版本)
sudo npm install n -g
安裝最新的nodejs(stable版本)
sudo n stable
sudo node -V
安裝依賴:
npm install
安裝dev:
npm run dev
開始拉魔鏡的原始碼: (回到你的使用者目錄下安裝magicmirror)
執行一條命令搞定:(如果期間出什麼問題 可能是網路導致的 可以考慮用手機開熱點安裝,刪除重新執行就好了)
bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
啟用配置:
cd MagicMirror/config
cp config.js.sample config.js
啟動魔鏡!
npm start
一些個性化配置:
樹莓派螢幕顯示設定
如果你想讓魔鏡為縱向模式,所以需要將螢幕順時針旋轉90度。/boot/config.txt檔案
檔案裡最後邊加以下程式碼:
1.螢幕旋轉90°
display_rotate=1
2.允許HDMI支援熱插拔
hdmi_force_hotplug=1
通用無觸控7寸1024*600解析度HDMI螢幕配置
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
禁用屏保:
修改lightdm.conf檔案
sudo nano /etc/lightdm/lightdm.conf
找到
#xserver-command=X
改成
xserver-command=X -s 0 dpms
再啟動,如果不出意外,你將會看到魔鏡的介面啦。具體修改為中文天氣,日曆新聞等等模組自己摸索。
這是我配置好的介面:

圖片發自簡書App
至此樹莓派部分搞定,我們可以通過悟空語音助手對話和顯示魔鏡介面。如果還想安裝homeassistant家庭助手,連線一系列硬體,通過樹莓派語音控制的話,下面繼續。
這裡我把homeassistant裝到雲伺服器上了,為了減輕下樹莓派負擔吧,雲伺服器我用的是Ubuntu16.04,我們先來裝個圖形化桌面,用vnc連線上:
先更新一下軟體源
apt-get update
安裝vnc,安裝過程輸入y確認繼續
apt-get install vnc4server
啟動vnc
vncserver
安裝x-windows的基礎
sudo apt-get install x-window-system-core
安裝登入管理器
sudo apt-get install gdm
安裝Ubuntu的桌面
sudo apt-get install ubuntu-desktop
安裝gnome配套軟體
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
修改VNC配置檔案
vi ~/.vnc/xstartup
修改為
#!/bin/sh # Uncomment the following two lines for normal desktop: export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc unset DBUS_SESSION_BUS_ADDRESS gnome-panel & gnmoe-settings-daemon & metacity & nautilus & gnome-terminal &
殺掉原桌面程序,輸入命令(其中的:1是桌面號):
vncserver -kill :1
輸入以下命令生成新的會話:
vncserver :1
然後登入雲伺服器控制檯 - > 安全組,開放5900和5901埠。
VNC客戶端輸入 你的ip:1 即可連線圖形桌面了。
NodeMCU與Homeassistant通訊,這裡用的是mqtt協議,所以得在Ubuntu裡還搭建一個mqtt伺服器,選來選去我還是比較喜歡EMQ,安裝簡單,坑也少,這裡的環境是Ubuntu16.04,其他版本不保證能用。
下載
wget http://emqtt.com/static/brokers/emqttd-ubuntu16.04-v2.3.9_amd64.deb
安裝
sudo dpkg -i emqttd-ubuntu16.04-v2.3.9_amd64.deb
啟動、檢視EMQ服務的狀態
sudo service emqttd start sudo service emqttd status
使用瀏覽器開啟EMQ控制檯,http://127.0.0.1:18083,輸入預設使用者名稱:admin,預設密碼public。
啟動了EMQ之後就可以使用客戶端進連結了,埠如下
記得同樣在雲伺服器安全組裡邊開放這些埠!
1883 MQTT 協議埠(開放)
8883 MQTT/SSL 埠(可不開)
8083 MQTT/WebSocket 埠(可不開)
8080 HTTP API 埠(開放)
18083 Dashboard 管理控制檯埠(開放)
接下來需要在 樹莓派 上裝一個mqtt客戶端
sudo apt-get install mosquitto-clients
根據提示,按 y 確認安裝即可。
釋出主題測試:
mosquitto_pub -h 伺服器ip -t 主題 -m 訊息
為Ubuntu16.04安裝homeassistant
安裝python3.6( 注意:這裡新版hass可能要安裝Python3.6才支援! )
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.6
即使你本來電腦上安裝了其他版本python也沒關係,執行上面3條指令就好
安裝python3.6-venv
sudo apt-get install python3.6-venv
建立並啟用虛擬環境
cd /opt sudo mkdir hass cd /hass sudo python3.6 -m venv . source bin/activate
我建立在/opt/hass下,你也可以換一個目錄
安裝一個python包
sudo python3.6 -m pip install wheel
安裝並啟動homeassistant
sudo pip3 install homeassistant hass --open-ui
配置homeassistant:
nano .homeassistant/configuration.yaml
新增:(注意冒號後加空格)
http:
api_password: 密碼
api:
如果要退出虛擬環境,在Terminal輸入
deactivatei
為了方便為hass新增裝置,不用通過程式碼去配置hass而是使用一個圖形化的介面配置,這裡新增一個HAChina官網的redpoint功能
github地址: redpoint
使用方法:
將redpoint.py放置在~/.homeassistant/custom_components/目錄下(沒有目錄的話手動新建一個)
並修改配置檔案:
nano .homeassistant/configuration.yaml
加入:
redpoint:
為NodeMCU刷入ESP Easy韌體
nodemcu插入電腦,需要下載一個驅動。
下載韌體 下載連結 ,下載後解壓,雙擊開啟FlashESP8266.exe,選擇對應COM-Port(電腦裝置管理那裡檢視),版本選擇normal 4096(沒有的話從bin/里拉出來)。點選Flash
刷完後,把板子通電,然後搜尋熱點,你會看到有一個叫ESP_EASY_0的熱點,連上,密碼是configesp,之後開啟瀏覽器,位址列輸入http://192.168.4.1 即可登陸到ESPEasy的管理介面。
然後輸入自己家裡WiFi和密碼讓nodemcu連線你家的路由器。20s之後會顯示分配到的ip地址,如果沒有的話,到路由器管理員介面檢視一下分配給Nodemcu的IP地址,即可通過瀏覽器訪問該IP地址。
過兩天再接著更啦....
bilibili搜尋使用者:
Jesse4023
有前半部分視訊教程