如何第一次裝Voice Kit就上手

TIH
14 min readApr 14, 2019

--

還記得電影《鋼鐵人》中,東尼.史塔克創造的AI管家賈維斯嗎?

當東尼.史塔克發出指令,賈維斯就能以最快的效率達成任務,甚至能通過海量資訊的運算,提前幾步準備以滿足東尼.史塔克的需求。是不是覺得很神奇呢?雖然目前的技術領域還沒辦法創造出東尼.史塔克版本的賈維斯,但已經有簡化版的雛形誕生囉。

這個超級簡化版的賈維斯就是Google於2017年推出的AIY(Artificial Intelligence+ Do It Yourself),只要經過簡單的組裝和設定,每個人都能擁有屬於自己的AI助手。當然,對IT領域有興趣的玩家們可以有更多的玩法,之後有機會會再更進一步告訴大家要怎麼讓助手與你的生活習慣連結,成為你最稱職的AI管家。

目前Google推出的AIY有Visoion Kit與Voice Kit兩種,Vision Kit的套裝中附有鏡頭,主要用於進行影像辨識,本篇暫且不提,之後有機會再為大家介紹,這次主要介紹的是可辨識語音的Voice Kit,目前分為兩種,以下是簡單的比較,可以依照自己的需求選擇。

Voice Kit 1.0 VS. Voice Kit 2.0

關於Voice Kit 1.0的安裝步驟,請參考我們的另一篇文章,本文主要介紹的是Voice Kit 2.0的安裝步驟。那麼,讓我們開始組裝Voice Kit 2.0吧!

首先,我們需要先準備 Voice Kit組合包以外的一些固定器材(1和 2是常備器材,每次開機都要準備好)。

*建議可以列個簡單的小清單打勾避免遺漏。

1–1. USB電源(建議使用行動電源,才能帶著 Voice Kit到處移動)

*注意!我們不建議你連接電腦的 USB電源,因為由電腦提供的電源相當不穩定,可能會造成啟動上的一些問題。

1–2. 家用Wi-Fi

1-3. Micro SD讀卡機(任何可讀取 Micro SD卡的裝置都可替代)

1-4. 一字螺絲起子(2mm)

1-5. 尖嘴鉗(在拔除接線時會用到)

1-6. 電腦(Mac、Windows、Linux皆可)

接著這兩組選擇一個方案即可

方案一:採用 Android 手機

2–1. Android手機(設定網路用,目前僅支援 Android)

方案二:採用 Mini HDMI 轉接線

3–1. Mini HDMI 轉 HDMI 的轉接線

3–2. 可支援 HDMI 的螢幕

3–3. 鍵盤

3–4. 滑鼠

3–5. USB OTG 或者是 Micro USB Hub

準備好這些工具後,就來準備組裝吧!

  1. 當 Voice Kit 開箱後,你將會有以下零件,請檢查看看有沒有缺失

*有缺?那請盡快聯繫你的購買商討論退換貨事宜喔~

對這些部件有了基本認識後,我們就可以開始組裝了。

2. 確認板子(這個步驟可以協助驗證新燒入的 SD 卡映像檔是否能正常工作)

2.1 將 Raspberry Zero W 和 Voice Kit HAT 組合起來,金屬接腳的部分請向下插入,結果如圖

2.2 插入 Micro SD 卡後通電,此時 Raspberry Zero W 的綠燈會開始閃爍

2.3 等大約兩分鐘後長按 Voice Kit HAT 上的按鈕 5 秒

2.4 若 Led 會開始閃爍,此時代表兩塊板子正常運作

3. 連上網路-方法一 (採用 Android 手機)

3.1 先到 Google Play 商店下載 Google AIY Projects

3.2~3.4

3.2 選擇 GET STARTED

3.3 會出現 Vision Kit 和 Voice Kit,選擇 Voice Kit

3.4 Before you begin 時,選擇 CONTINUE

3.5~3.7

3.5 Get ready to pair your Voice Kit 時,選擇 CONTINUE

3.6 Turn on pairing mode 時,確定上層的 HAT 板子 LED 燈正在閃爍後,選擇 CONTINUE

*如果沒有閃爍的話代表在配對模式等太久所以跳掉了,再長按一次即可。雖然 APP 上面表示綠燈,但某些版本的 image 上會閃爍紅燈,這樣也可以順利配對。

3.7 Pair your Voice Kit 第一次進入時會有 Allow access的畫面,要求您提供位置、Wi-Fi以及藍牙權限,請點擊 ALLOW ACCESS 給予權限

*這是為了要讓 App能夠找到附近有沒有處於配對模式的 Voice Kit 使用。

3.8~3.11

3.8 接著 APP 會開始搜尋附近的 Voice Kit,搜尋到了會以 Voice-xxxx 的形式顯示出來,請點擊它

3.9 在看到 Connect to a Wi-Fi network 時,請選擇家中 Wi-Fi 網路,然後輸入密碼

3.10 當提示出現 Your Voice Kit is connected to xxxxxx 時,代表這個 Voice Kit 已經可以連上 Wi-Fi 了,點擊 CONTINUE 繼續

3.11 會出現這個 Voice Kit 的 IP Address,可以截圖或用紙筆記錄下來,稍後於 4.1會用到(後面會以 Voice Kit 的 IP 來代稱)

3. 連上網路-方法二 (採用Mini HDMI轉接線)

3.1 把 USB OTG 插入 Data port(位於電源 Power 的左邊)

3.2 Mini HDMI 插在最左邊之後,接上 HDMI 線和螢幕開機

3.3 等待一段時間後,用滑鼠點右上角的 Wi-Fi 符號選擇 Wi-Fi

3.4 輸入密碼即可連線

4. 連入Voice Kit(接下來會利用 SSH 協定來連入,這對操作 Linux 系統而言是很基本的協定,且目前在 Mac/Linux 的環境下已支援 SSH 指令了)

4.1 打開終端(Terminal),輸入 ssh pi@{Voice Kit 的 IP}依照 3.11所得之 IP,即輸入 ssh pi@{192.168.0.21}

4.2 按下 Enter ,預設密碼通常是 raspberry,請輸入 raspberry做為密碼

*Windows的系統下可以下載 Pietty,接著輸入 Voice Kit 的 IP,Port 的部分請輸入『22』,點擊連線後輸入『 raspberry』做為密碼。

4.3在 Mac/Linux進行第一次連線時,可能會看到類似以下文句的的訊息,直接輸入 yes即可

The authenticity of host '(192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:6ARde/X+BBBXYMjcJi+R3aaxxffdssffuQQ/qcvny8.
Are you sure you want to continue connecting (yes/no)?

*因為電腦不確定要連線的對象是不是實際上的那台設備。

*在Windows的第一次連線則是有可能看到對話方塊,請直接點擊『是』或『 yes』。

4.4 成功登入後,要先修改密碼

4.4.1 輸入 passwd,按下 Enter(關於此命令的其他介紹請參考此處

4.4.2 輸入舊的密碼,按下 Enter

4.4.3 輸入新的密碼,按下 Enter

4.4.4 再輸入一次新密碼確認

*因為預設密碼大家都知道,不修改的話有可能未來會成為被攻擊的跳板。

* ssh密碼很容易被暴力破解,也沒有密碼失敗鎖卡的機制,建議密碼長度至少八碼並且混合英數字大小寫和符號。

4.5 透過 ping ifconfig.tw來查詢目前網路是否有連接外網的能力

4.5.1 顯示 ping: cannot resolve ifconfig.tw: Unknown host的話 ,代表網路設定有問題,請檢查是不是有防火牆之類的設定阻止 Voice Kit連出

4.5.2假如出現類似以下的字串,表示網路目前正常運作,可用 Control + c(Ctrl + c)來停止,順帶一提,這也是通常狀況下停止一支程式的方法

PING ifconfig.tw (103.253.146.5): 56 data bytes
64 bytes from 103.253.146.5: icmp_seq=0 ttl=49 time=89.297 ms
64 bytes from 103.253.146.5: icmp_seq=1 ttl=49 time=89.446 ms
64 bytes from 103.253.146.5: icmp_seq=2 ttl=49 time=88.414 ms
64 bytes from 103.253.146.5: icmp_seq=3 ttl=49 time=88.492 ms

5. 接上喇叭(Speaker),並確定喇叭是否能正常運作

5.1 用 sudo poweroff關機

5.2 切斷電源(可由 Raspberry Pi 上的綠色 LED 指示燈來判斷是否斷電)

5.3 用 2 mm 的一字螺絲起子,將端子台上離耳機接孔最遠的兩個端子以逆時針轉開

5.4 將喇叭一紅一黑的線接上端子台,以順時針鎖緊,確認牢固不會脫落即可,成果如下圖

5.5 重新通電,利用 cd 命令進入 /home/pi/AIY-projects-python/checkpoints,用 ./check_audio.py 來執行測試音效的腳本

完整指令如下:

$cd /home/pi/AIY-projects-python/checkpoints
$./check_audio.py

*關於 cd 等 Linux指令的操作可以參考鳥哥的 Linux私房菜

5.6 此時應可聽見 Front Center 的聲音,聽到後請在 Did you hear the test sound? (y/n)出現後輸入『y』

5.7 接著會出現 When you are ready, press Enter and say “Testing, 1 2 3”…

5.8 輸入 Enter後說出『麥克風測試』 (說什麼都行)

5.9 有聽到回音就代表喇叭和麥克風都正常,可以開始整個Voice Kit 的組裝

*如果覺得音量過大的話可以利用 Alsamixer 這個工具來調整音量,按上下調整大小, ESC離開,如下圖所示:

AlsaMixer

6. 組裝盒子(分為內框和外盒)

6.1 組裝內框

6.1.1 拿起內框的紙板,讓寬的部分在右手邊

6.1.2 將上半部往後折下

6.1.3 再將左右兩片翅膀折出來

6.1.4 將底版和翅膀的底端組合後完成內框

6.2 組裝外盒

6.2.1 將外盒紙板立起來

6.2.2 接著把 A片折下

6.2.3 BC片折下

6.2.4 D片折下並插入 A片和 BC片中的縫隙後完成外盒

7. 把電路板的固定架(standoffs)放入,如果看了下面的步驟還有疑問,請參考此篇的說明

7.1 先讓 Voice HAT 及 Raspberry Pi 暫時分離

7.2 從零件帶拿出固定架(有兩個),插入 Raspberry Pi 靠近電源側長面的兩個孔

7.3 聽到清脆的「喀」聲後,再把 Voice HAT 裝回去

7.4 把電路板以電源朝外的方式輕輕插入內框中,如下圖所示:

8. 安裝按鈕與喇叭

8.1 把按鈕穿過上面的孔,用螺母把按鈕鎖在上蓋,並將六個腳位中的四個腳位朝上,然後準備接上按鈕連接線

8.2 將喇叭放入內框前面放置喇叭的位置,如下圖

8.3 接著把整組內框放入外盒中,並參考圖片確認是否正確

9. 插上電路板(此時請確認一下以下事項: SD 卡插入、音源線接上端子、主板和喇叭就定位、按鈕鎖好)

10. 確認電源目前沒有接上,板子沒有任何一個地方正在發光

11. 進行按鈕的接線

11.1 按鈕本身有六個接腳,其中四個感情比較好,所以靠得比較近,把四個接角的部分轉到上方

11.2 由左上起,依照藍、綠、灰、黑、紅、橘的順序插上,成果如圖

*這邊插拔可能會因為接角比較緊所以產生困難,可以使用尖嘴鉗輔助。

*灰色和黑色是偵測按鈕是否被按下的線路,藍色、綠色以及橘色是 LED 的陰極,紅色是 LED 的共同陽極。

*接上按鈕連接線時請務必仔細確認是否接對,接錯會使 LED 燈燒掉,接下來按鈕就會少一個顏色了。而且很危險!

11.4 將按鈕連接線以黑色和灰色在電路板右上角的方向插入(電路板上方)可藉由 Voice Bonnet 的字樣確認,可參考下圖進行確認

12. 通電以及完成

12.1 進行通電和開機

12.2 參照步驟 5,再做一次喇叭與麥克風測試

*如果此時發現喇叭沒有反應,可以試著重新串接按鈕看看。

12.3 測試 LED燈能不能正常發光,請執行 ./AIY-projects-python/src/examples/leds_example.py

接下來應該會看到按鈕從紅色、綠色、黃色、藍色… … 的順序依序發光,同時連線畫面上會顯示目前的測試進度,列表如下:

RGB: Solid RED for 1 second
RGB: Solid GREEN for 1 second
RGB: Solid YELLOW for 1 second
RGB: Solid BLUE for 1 second
RGB: Solid PURPLE for 1 second
RGB: Solid CYAN for 1 second
RGB: Solid WHITE for 1 second
RGB: Off for 1 second
Privacy: On (brightness=default)
Privacy: Off
Privacy: On (brightness=default)
Privacy: Off
Privacy: On (brightness=default)
Privacy: Off
Privacy: On (brightness=5)
Privacy: Off
Privacy: On (brightness=5)
Privacy: Off
Privacy: On (brightness=5)
Privacy: Off
Set blink pattern: period=500ms (2Hz)
RGB: Blink RED for 5 seconds
RGB: Blink GREEN for 5 seconds
RGB: Blink BLUE for 5 seconds
Set breathe pattern: period=1000ms (1Hz)
RGB: Breathe RED for 5 seconds
RGB: Breathe GREEN for 5 seconds
RGB: Breathe BLUE for 5 seconds
RGB: Increase RED brightness for 3.2 seconds
RGB: Decrease RED brightness for 3.2 seconds
RGB: Blend between GREEN and BLUE for 3.2 seconds
RGB: Off for 1 second
Privacy: On for 2 seconds
RGB: Solid GREEN for 2 seconds
Custom configuration for 5 seconds
Done

* Privacy 測試沒有反應是正常現象,因為這是專屬 Vision Kit 的測試項目。

完成以上步驟後,我們就有一台完整的 Voice Kit 可以準備進行 Hacking 了!

完成後的 Voice Kit 可以怎麼幫助我們?可以在上面寫 Python 做成自動回答機器人,或者是告訴你今天需不需要帶傘出門… …這些相關的應用之後我們會再繼續介紹,請期待後續喔~

如果還有疑問,或者完成後想與大家分享自己組裝的成果,也歡迎私訊 TIH 粉絲團小編

--

--

TIH

台灣智慧家庭(Taiwan Intelligent Home,TIH),以打造台灣軟體產業鍊為宗旨的公司,致力於智慧家電跨品牌整合,同時協助開發物聯網相關的應用程式。