在美國旅遊期間,3C賣場Best Buy和Walmart超市,正好在促銷Google Home Mini,特價29美元(原價49元),但我覺得AIY Voice Kit智慧音箱套件比較有趣,既可自己寫程式玩語音辨識,也能透過它操控樹莓派的GPIO接腳。
既有AIY 2.0版,為何購買1.0版?
AIY套件有1.0和2.0版,AIY套件2.0版包含Raspberry Pi Zero W控制板和microSD記憶卡,也就是一個完整的套件。套件1.0版則沒有控制板和記憶卡,因為家裡已經有控制板,再加上1.0版的擴充介面卡上面有預留這些焊接點:
- I2C介面
- SPI介面
- 6個伺服馬達接腳,也可控制其他數位裝置。
- 4個MOSFET電晶體電路,可驅動500mA以內的裝置。
- 5V和3.3V電源輸出
- 5V電源輸入插座焊接點
單純就硬體來看,AIY Voice Kit其實就是樹莓派的立體聲麥克風和聲音放大器介面板;只要安裝驅動程式,使用者不一定要採用Google的語音服務,也可以安裝Amazon Alexa、離線Snips語音辨識軟體或者其他語音服務。
這是Voice Kit的外盒:
套件裡面有MagPi出版的AIY專題手冊、紙箱外盒、Voice HAT主板、麥克風板、按鍵、連接線和3吋揚聲器。
除了參閱手冊組裝硬體和安裝軟體之外,Google的AIY Voice Kit (V1)網站也有詳細的說明。
這是AIY Kit的Voice HAT擴充板,除了預先焊好的揚聲器、麥克風和按鍵的插座,還預留數位輸出∕入、UART序列埠、I2C以及SPI介面的接腳。
這是立體聲麥克風子板,採用MEMS型麥克風元件。
Voice HAT組裝完成的模樣,焊接了排插和排母;我採用第二代的Raspberry Pi 2B+,外接USB Wi-Fi無線網卡。
AIY軟體可以從aiyprojects-raspbian的GitHub專案網站下載Raspbian系統映像檔,已經安裝好AIY Voice Kit的麥克風和聲音放大器的驅動程式,以及AIY套件的範例檔,將此映像檔寫入8GB或更高容量的記憶卡即可使用。
AIY Voice Kit支援中文
我的Raspbian系統設置成繁體中文,執行assistant_grpc_demo.py,在聲音辨識階段出現unsupported language_code(不支援的語言代碼)錯誤:
因為其中讀取系統「語言」的locale.getdefaultlocale()傳回值是“zh_TW”。只要改程式碼,或者在執行時透過“language”參數將語系改成英文“en_US”,例如:
assistant_grpc_demo.py –language=en_US
這樣就能用英文和中文跟它對話了。
同樣地,底下的參數能讓你用日語跟它交流:
assistant_grpc_demo.py –language=ja_JP
這是Google語音助理支援的一些語言及其語系設定:
語言 | 地區 | 代碼 |
英語 | United States(美國) | en_US |
英語 | United Kingdom(英國) | en_GB |
日語 | Japan(日本) | ja_JP |
韓語 | Korea(韓國) | ko_KR |
西班牙語 | Espana(西班牙) | es_ES |
法語 | France(法國) | fr_FR |
法語 | Canada(加拿大) | fr_CA |
德語 | Deutschland(德國) | de_DE |
丹麥語 | Denmark(丹麥) | da_DK |
印度語 | India(印度) | hi_IN |
印尼語 | Indonesia(印尼) | id_ID |
義大利語 | Italia(義大利) | it_IT |
泰語 | Thailand(泰國) | th_TH |
俄羅斯語 | Rossia(俄羅斯) | ru_RU |
瑞典語 | Sweden(瑞典) | sv_SE |
AIY Voice HAT硬體介面
即使拔掉麥克風和喇叭,Voice HAT也是一個不錯的樹莓派I/O介面實驗板,aiyprojects-raspbian專案原始碼的docs路徑裡面,包含此套件的主板和麥克風子板的電路圖(PDF格式)。下圖上面標示I2C和SPI介面,中間左邊則是6個伺服馬達的接腳,這些都需要自行焊接排插。
根據Google AIY說明文件的“GPIO PINOUT AND EXPANSIONS”單元說明,每個伺服馬達接腳的輸出電流上限是25mA,所以最好搭配9G小型伺服馬達;當然,這些接腳也能連接其他數位裝置。這是其中一組的電路:
Voice HAT擴充板右下角有4組驅動大電流裝置的接點,每一組都有MOSFET電晶體、二極體和自恢復保險絲(電路板上面標示F1~F4的元件):
這是大電流驅動器的電路,DMG3420U MOSFET技術文件指出,這個MOSFET電晶體的最大VDS電壓是20V、Id電流是5.47A,足夠驅動普通模型馬達或小型繼電器。
然而,Google AIY說明文件的“GPIOs, servos, and drivers”單元也提到,串接5V電源和驅動輸出(+)的自恢復保險絲(PTC Fuse)的限流(trip current)值為1A,維持電流(hold current)0.5A,這代表它允許0.5A以內的電流,超過此值,保險絲的電阻值將急遽增大;若電流值到達1A以上,保險絲的阻抗將形同無限大的斷路狀態。
因此,這個保險絲將「大電流驅動」接腳的負載限制在0.5A;若自恢復保險絲斷路了,只要移除電源,讓它在常溫下靜置一分鐘左右,即可恢復正常。
AIY Voice Kit隨附手冊裡面有語音控制伺服馬達和普通馬達的接線和程式範例。
為了驅動大電流設備,擴充板需要外接5V電源,Voice HAT板子有預留5V電源插座的焊接點,電源插座要額外購買;外接5V電源之前,擴充板左下角、標示JP1的銅箔圓點,中間要用美工刀切斷,才能讓原有(系統)的5V電源和外部供電分開來。
AIY套件有附帶一個大型的按鍵(內建LED),實驗時,這個按鍵可以不用接,因為板子上也有按鍵和LED,它們和外接的按鍵都連到相同的GPIO腳。
按鍵和LED的電路如下:
板子中間的矩形區域,包含一個I2S介面的3W單聲道放大器IC MAX98357A,此區域上面的一排焊接點,和Adafruit公司的這一款3W放太器模組一致。
如果需要立體聲輸出,需要自行添購Adafruit的3W放大器或者MAX98357A模組,以及喇叭連接端子,右下角標示Stereo的銅箔圓點也要焊接起來(相連)。聲音放大器部份的電路:
您好,我們照你的方法改成assistant_grpc_demo.py –language=en_US
可以辨識英文,但是沒辦法同時辨識中文,聽到中文會變成英文羅馬拼音
assistant會回說無法辨識,想請問大大如何解決
請問你在Acions on Google專案程式的語言設定,有加入繁體中文嗎?
thanks,
jeffrey
您好,加入繁體中文後,依然不行,我是造著他的air voice kit project做的
請問大大還有其他的步驟需要留意嗎,麻煩你了
我的設定如下:
在Google的Actions Console新增專案,專案的Overview可設置「中文」語音
Device Type選擇Speaker
到「活動控制項」網頁,啟用下列控制項:
另外,在手機的Google助理設定畫面,可以看到自動與你的Google帳號連結的「Google助理」裝置;Google助理的交談語言是繁體中文。
thanks,
jeffrey
您好,重灌一次照者您的設定就ok了,十分感謝
不客氣,感謝告知!
thanks,
jeffrey
趙老師
照著你的方法和網友留言重灌還是有聲音辨識階段出現unsupported language_code(不支援的語言代碼)錯誤訊息。
設定其他的語言都沒問題。
老師最後的留言說設定Device Type選擇Speaker,我找不到。
為什麼沒有設日文或其他語言,卻能聽說…偏偏中文卻不行。
>> Device Type選擇Speaker,我找不到。
大概是操作介面換了吧~選擇跟智慧音箱相關的類別試試。
thanks,
jeffrey
請問這個套件可以加到google home app裡面
聲控其他google home裡面的電器嗎
謝謝
可以
作者您好~~我想請教一下Voice HAT的針腳是否要自行焊接?,如果要的話是否要再另外購買焊針有哪些地方買得到?若不會焊有代焊的店嗎?Voice HAT可以接其它傳感器(如:紅外線避障之類等等)這些的排針輸出電源是否也需要焊針,不好意思問這麼多問題 再麻煩了 謝謝
GPIO已事先焊接好,即插即用。
閒置的GPIO腳可自行運用,但需要自行焊接。
好的~~感謝你的回答
再請教一個問題Voice HAT是否有支援Pi4嗎? 因為想買來做使用
有