GoogleAIYVoiceKitのOSアップグレード
従来からアップグレード時(sudo apt update/sudo apt upgrade)に様々な不具合が生じてきましたが、2018-11-16のイメージより少しずつ対処されているようです。間違ってアップグレードしたとしても下記の対処を行えば動くかもしれないので試してみてください。
★2019/2/1追記
sudo apt upgradeしてしまうと予期せぬ不具合が生じる可能性が高いので、基本的にアップグレードはしないほうがいいです。
GUIでセットアップした場合に、ネットワーク設定後にUpdateの画面が出ますが、「Skip」を選択することによってUpgradeせずに済みます。
もくじ(Index)ラズパイ関連の目次へ戻る(工事中)
確認した環境
- AIY Kits Release 2018-11-16
- Google AIY VoiceKit V2( RaspberryPiZeroWH )
- Google AIY VoiceKit V1( RaspberryPi3B )
動作確認は2019/1/19に行いました。
アップデート/アップグレードの前に
sudo apt update/sudo apt upgradeすると、AIY-projects-python配下のファイルが消える場合もあるので、自分で作成/編集したファイルはバックアップしておきましょう。
AIY-projects-pythonを更新したくない場合
カスタマイズを行っていて~/AIY-projects-pythonの中身を消したくない場合は下記のコマンドを実行すると保持できます。
sudo apt-mark hold aiy-projects-python
Google AIY VoiceKit V2
マイクが効かない
assistant_grpc_demo.pyを実行しても反応しなくなります。また、checkpoints/check_audio.pyを実行すると下記のエラーが出ます。
$ checkpoints/check_audio.py
You do not have any sound cards installed. Please check that AIY sound card is
properly connected.
For some Voice HATs (not Voice Bonnets!) you need to add the following line
to /boot/config.txt:
dtoverlay=googlevoicehat-soundcard
To do that simply run from a separate terminal:
echo "dtoverlay=googlevoicehat-soundcard" | sudo tee -a /boot/config.txt
Press Enter to close...
原因と対処
カーネルのアップデート後にサウンドドライバが無くなるために起こります。下記のコマンドを実行してください。
cd /usr/src
sudo dkms install aiy-voicebonnet-soundcard-1.0
sudo reboot
LEDが点かない
assistant_grpc_demo.pyを実行してもLEDが反応しなくなります。また、src/examples/leds_example.pyを実行すると下記のエラーが出ます。
src/examples/leds_example.py
Traceback (most recent call last):
File "src/examples/leds_example.py", line 140, in <module>
main()
File "src/examples/leds_example.py", line 21, in main
with Leds() as leds:
File "/opt/aiy/projects-python/src/aiy/leds.py", line 142, in __init__
raise RuntimeError('Leds are not available on this board.')
RuntimeError: Leds are not available on this board.
原因と対処
カーネルアップデート後に、LEDのドライバが無くなるために起こります。下記のコマンドを実行してください。
cd /usr/src
sudo dkms install leds-ktd202x-1.1
sudo dkms install pwm-soft-1.1
sudo reboot
GPIOが反応しない
GPIOを利用しようとすると下記のエラーが出ます。
$ src/examples/gpiozero/simple_button_example.py
Traceback (most recent call last):
File "src/examples/gpiozero/simple_button_example.py", line 12, in <module>
from aiy.pins import BUTTON_GPIO_PIN
File "/opt/aiy/projects-python/src/aiy/pins.py", line 62, in <module>
_PIN_OFFSET = _detect_gpio_offset(_MODULE_PATH)
File "/opt/aiy/projects-python/src/aiy/pins.py", line 27, in _detect_gpio_offset
for folder in listdir(module_path):
FileNotFoundError: [Errno 2] No such file or directory: '/sys/bus/i2c/drivers/aiy-io-i2c/1-0052/gpio-aiy-io/gpio'
原因と対処
カーネルアップデート後に、GPIOのドライバが無くなるために起こります。下記のコマンドを実行してください。
cd /usr/src
sudo dkms install aiy-1.1
sudo reboot
Google AIY VoiceKit V1
2018-11-16OSをインストールし、アップグレードしてみましたが、今のところ問題は見つかっていません。
その他のエラーについて
Google AIY Kits OSを利用していて遭遇したエラーと対処方法について書いていきます。
ImportError: No module named ‘grpc’
assistant_grpc_demo.pyを実行時に以下のようなエラーメッセージが出ます。
$ src/examples/voice/assistant_grpc_demo.py
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/google/auth/transport/grpc.py", line 20, in <module>
import grpc
ImportError: No module named 'grpc'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "src/examples/voice/assistant_grpc_demo.py", line 24, in <module>
from aiy.assistant.grpc import AssistantServiceClientWithLed
File "/opt/aiy/projects-python/src/aiy/assistant/grpc.py", line 24, in <module>
import google.auth.transport.grpc
File "/usr/local/lib/python3.5/dist-packages/google/auth/transport/grpc.py", line 23, in <module>
'gRPC is not installed, please install the grpcio package to use the '
ImportError: gRPC is not installed, please install the grpcio package to use the gRPC transport.
対処
このエラーは下記のコマンドで解決します。
pip3 install grpcio
未解決のエラー
no attribute ‘ScreenOutConfig’
恐らく、18-11-16以降にGoogle Assistant APIが変わったため発生します。色々調べましたが解決方法に辿り着けませんでした。AIY-projects-pythonの内容を動いていた時に戻すしかありません。
$ src/examples/voice/assistant_grpc_demo.py
Traceback (most recent call last):
File "src/examples/voice/assistant_grpc_demo.py", line 24, in <module>
from aiy.assistant.grpc import AssistantServiceClientWithLed
File "/opt/aiy/projects-python/src/aiy/assistant/grpc.py", line 41, in <module>
PLAYING = embedded_assistant_pb2.ScreenOutConfig.PLAYING
AttributeError: module 'google.assistant.embedded.v1alpha2.embedded_assistant_pb2' has no attribute 'ScreenOutConfig'
【補足①】Google AIY VisionKit V1.1
VisionKitV1.1は所有していないので確かめられないのですが、デバイスが動かなくなった際に下記のコマンドで復旧する可能性があります。
cd /usr/src
sudo dkms install aiy-vision-1.1
sudo reboot
【補足②】まとめて実行
調べていたところ、アップデート/アップグレードの際に発生するトラブルはドライバが無くなることが原因が多いのでコマンドをまとめてみました。
★/usr/src配下にあるドライバをビルドしています。バージョンが変わった場合、名前が変わるかもしれませんので注意してください。
cd /usr/src
sudo dkms install aiy-1.1
sudo dkms install aiy-vision-1.1
sudo dkms install aiy-voicebonnet-soundcard-1.0
sudo dkms install leds-ktd202x-1.1
sudo dkms install pwm-soft-1.1
sudo reboot
もんごんたさん
まりんば、と申します。初めまして。
一連のVoice Kitに関する記事、参考にさせていただき、大変助かっています。
最新のイメージaiyprojects-2019-11-13.imgをGoogle AIY Voice Kit V2に実装した場合に出た問題点と対策を残させていただきます。
1.イメージの中にあるconfig.txtを編集、dtoverlay=dwc2を#dtoverlay=dwc2とコメントアウト。これをしないとWiFiがネットに接続できません。
2.assistant_grpc_demo_snowboy.pyを実行した際、ImportError: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
が出ます。対策として
pi@raspberrypi:~/AIY-voice-kit-python$ sudo apt-get install libpython3.5
を実行して、問題解決しました。