樹莓派安裝MagicMirror2,悟空語音助手,智能家居

前言:

? 萌新小白一個(gè),有說錯(cuò)的地方還請(qǐng)前輩們幫忙指正。

硬件準(zhǔn)備:

1.樹莓派3b+(其他型號(hào)我沒有測(cè)試)

2.至少8GB的內(nèi)存卡。

3.麥克風(fēng)(usb麥克風(fēng)的就行)

4.小音響(沒有的話可以用耳機(jī))

5.原子鏡(某寶有賣)

6.NodeMCU板子(某寶十幾塊錢)

7.一塊屏幕(HDMI接口)

正式開始:

樹莓派部分:

樹莓派安裝完系統(tǒng)之后:

在內(nèi)存卡的boot分區(qū)下,新建 一個(gè)文件名為ssh (無后綴)的空白文件,用于pi開機(jī)自動(dòng)啟用ssh服務(wù)

同級(jí)目錄下再新建wpa_supplicant.conf 文件,配置WiFi信息:

country=CN

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="WiFi名字"

key_mgmt=WPA-PSK

psk="WiFi密碼"

}

換源 (我用清華源):

sudo nano /etc/apt/sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi????
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

sudo nano /etc/apt/sources.list.d/raspi.list

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

更新一下軟件源

sudo apt-get update


sudo apt-get upgrade -y

安裝中文字體字庫

sudo apt-get -y install ttf-wqy-zenhei

選擇中文編碼,地區(qū) 以及? 擴(kuò)展SD卡內(nèi)存

sudo raspi-config

然后重啟

sudo reboot

安裝悟空語音助手:

按照官網(wǎng)的手動(dòng)安裝教程進(jìn)行安裝,參考鏈接 : 悟空語音github

下面畫刪除線內(nèi)容請(qǐng)忽視。。。

針對(duì)可能出現(xiàn)的問題解決辦法:

1.下列軟件安裝失敗問題

分開安裝:

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的問題

先執(zhí)行安裝:

sudo apt-get install portaudio19-dev python-all-dev python3-all-dev

再執(zhí)行:

pip3 install pyaudio

至此悟空語音安裝完畢。

安裝魔鏡MagicMirror:

安裝Node.js環(huán)境:

(下列命令是Ubuntu用的,樹莓派上可能有些命令不可用,不過不用管,都執(zhí)行一下,所以遇到不可用的忽略繼續(xù)執(zhí)行下一條的就行)。

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


npm run dev

開始拉魔鏡的源碼:(回到你的用戶目錄下安裝magicmirror)

執(zhí)行一條命令搞定:(如果期間出什么問題 可能是網(wǎng)絡(luò)導(dǎo)致的 可以考慮用手機(jī)開熱點(diǎn)安裝,刪除重新執(zhí)行就好了)

bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"

啟用配置:

cd MagicMirror/config

cp config.js.sample config.js

啟動(dòng)魔鏡!

npm start

一些個(gè)性化配置:

樹莓派屏幕顯示設(shè)置

如果你想讓魔鏡為縱向模式,所以需要將屏幕順時(shí)針旋轉(zhuǎn)90度。/boot/config.txt文件

文件里最后邊加以下代碼:

1.屏幕旋轉(zhuǎn)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

回到魔鏡目錄npm start再啟動(dòng),如果不出意外,你將會(huì)看到魔鏡的界面啦。具體修改為中文天氣,日歷新聞等等模塊自己摸索。

這是我配置好的界面:


圖片發(fā)自簡(jiǎn)書App


至此樹莓派部分搞定,我們可以通過悟空語音助手對(duì)話和顯示魔鏡界面了。


如果還想安裝homeassistant家庭助手,連接一系列硬件,通過樹莓派語音控制的話,下面繼續(xù)。

這里我把homeassistant裝到云服務(wù)器上了,為了減輕下樹莓派負(fù)擔(dān)吧,云服務(wù)器我用的是Ubuntu16.04,我們先來裝個(gè)圖形化桌面,用vnc連接上:

用root賬戶登錄。

先更新一下軟件源:

apt-get update

安裝vnc,安裝過程輸入y確認(rèn)繼續(xù):

apt-get install vnc4server

啟動(dòng)vnc:

vncserver

安裝x-windows的基礎(chǔ):

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 &

殺掉原桌面進(jìn)程,輸入命令(其中的:1是桌面號(hào)):

vncserver -kill :1

輸入以下命令生成新的會(huì)話:

vncserver :1

然后登錄云服務(wù)器控制臺(tái) - > 安全組,開放5900和5901端口。

VNC客戶端輸入? 你的ip:1 即可連接圖形桌面了。

NodeMCU與Homeassistant通信,這里用的是mqtt協(xié)議,所以得在Ubuntu里還搭建一個(gè)mqtt服務(wù)器,選來選去我還是比較喜歡EMQ,安裝簡(jiǎn)單,坑也少,這里的環(huán)境是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

啟動(dòng)、查看EMQ服務(wù)的狀態(tài)

sudo service emqttd start

sudo service emqttd status

使用瀏覽器打開EMQ控制臺(tái),http://127.0.0.1:18083,輸入默認(rèn)用戶名:admin,默認(rèn)密碼public。

啟動(dòng)了EMQ之后就可以使用客戶端進(jìn)鏈接了,端口如下

記得同樣在云服務(wù)器安全組里邊開放這些端口!

1883 MQTT 協(xié)議端口(開放)

8883 MQTT/SSL 端口(可不開)

8083 MQTT/WebSocket 端口(可不開)

8080 HTTP API 端口(開放)

18083 Dashboard 管理控制臺(tái)端口(開放)

接下來需要在樹莓派上裝一個(gè)mqtt客戶端

sudo apt-get install mosquitto-clients

根據(jù)提示,按 y 確認(rèn)安裝即可。

發(fā)布主題測(cè)試:

mosquitto_pub -h 服務(wù)器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也沒關(guān)系,運(yùn)行上面3條指令就好

安裝python3.6-venv

sudo apt-get install python3.6-venv

創(chuàng)建并啟用虛擬環(huán)境

cd /opt

sudo mkdir hass

cd /hass

sudo python3.6 -m venv .

source bin/activate

我創(chuàng)建在/opt/hass下,你也可以換一個(gè)目錄

安裝一個(gè)python包

sudo python3.6 -m pip install wheel

安裝并啟動(dòng)homeassistant

sudo pip3 install homeassistant

hass --open-ui

配置homeassistant:

nano .homeassistant/configuration.yaml

添加:(注意冒號(hào)后加空格)

http:


? api_password: 密碼


api:

如果要退出虛擬環(huán)境,在Terminal輸入

deactivatei

為了方便為hass添加設(shè)備,不用通過代碼去配置hass而是使用一個(gè)圖形化的界面配置,這里添加一個(gè)HAChina官網(wǎng)的redpoint功能

github地址:redpoint

使用方法:

將redpoint.py放置在~/.homeassistant/custom_components/目錄下(沒有目錄的話手動(dòng)新建一個(gè))

并修改配置文件:

nano .homeassistant/configuration.yaml

加入:

redpoint:

為NodeMCU刷入ESP Easy固件

nodemcu插入電腦,需要下載一個(gè)驅(qū)動(dòng)。

下載固件下載鏈接,下載后解壓,雙擊打開FlashESP8266.exe,選擇對(duì)應(yīng)COM-Port(電腦設(shè)備管理那里查看),版本選擇normal 4096(沒有的話從bin/里拉出來)。點(diǎn)擊Flash

刷完后,把板子通電,然后搜索熱點(diǎn),你會(huì)看到有一個(gè)叫ESP_EASY_0的熱點(diǎn),連上,密碼是configesp,之后打開瀏覽器,地址欄輸入http://192.168.4.1 即可登陸到ESPEasy的管理界面。

然后輸入自己家里WiFi和密碼讓nodemcu連接你家的路由器。20s之后會(huì)顯示分配到的ip地址,如果沒有的話,到路由器管理員界面查看一下分配給Nodemcu的IP地址,即可通過瀏覽器訪問。

如圖:

點(diǎn)擊Config進(jìn)行簡(jiǎn)單設(shè)置:


接下來配置mqtt服務(wù)器,讓板子能連接到我們的mqtt服務(wù)器從而實(shí)現(xiàn)把傳感器獲取到的數(shù)據(jù)通過mqtt發(fā)布主題的方式傳到mqtt服務(wù)器。點(diǎn)擊Controllers 如圖:

點(diǎn)擊Edit進(jìn)入編輯:


下一步點(diǎn)擊devices添加你的傳感器設(shè)備。 我這里添加一個(gè)溫濕度傳感器:



如果不出意外的話? 你將看到后邊獲取的的溫濕度值

至此配置完畢。我們?nèi)ome assistant里添加該設(shè)備。

進(jìn)入Hass主頁 點(diǎn)擊配置:

點(diǎn)擊集成 填寫你的mqtt服務(wù)器信息。

之后點(diǎn)擊紅點(diǎn),右下角加號(hào)添加設(shè)備:


選擇mqtt傳感器:



高級(jí):


按照此方法再添加一個(gè)humidity濕度 記得保存配置。


如果你需要控制一個(gè)燈的開關(guān)而不是獲取傳感器的數(shù)據(jù),如下圖 我就不一 一 寫了。



hass添加一個(gè)mqtt開關(guān):



至此配置完畢 你將會(huì)在Hass首頁看到:


如果你要接入悟空語音助手的話 按照官方文檔 在hass目錄下編輯這樣一個(gè)文件:


效果:

完了,大功告成。快去和悟空說? “查看環(huán)境溫度”吧。

附上一張hass的配置文件圖:

? ? ? ? ? ? ? Bye~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容