Back in May 2017, Google released the Assistant SDK that worked on Raspberry Pi 3, and other ARM boards, essentially transforming low cost development boards into Google Home equivalent. The SDK became more popular once Google’s AIY Voice Kit was launched since it offered an easy and inexpensive way to use it with Raspberry Pi 3 board.
Since all you need was a Linux board with an Internet connection, a microphone, and speaker, I tried Google Assistant SDK on one of the cheapest platform available: Orange Pi Zero Set 6 Kit including Orange Pi Zero board, but also an expansion board with built-in microphone and audio output jack, and a cute little case. I added my own pair of speakers, micro SD card, and USB power supply, and after setting up the software, I was able ask question, and get answers with female voice using the demo app.
At the time however, there was some limitations, as integration with home automation devices was not easy, English US was the only language option, and we were stuck with a female voice. Since then, Google has added support for male voice for text-to-speech, and as I checked the release notes, Google added support for more languages, and device actions in December 20.
- Google Assistant Library (developer preview 0.1.0)
- Google Assistant Service (v1alpha2)
- Support for Device actions.
- Support for more languages: English (Australia, Canada, UK, US), French (Canada, France), German, and Japanese. This setting can be passed through the Service API or selected from the Google Assistant app.
- Location can now be configured as a street address in the Google Assistant app, or as a latitude and longitude via the API.
- Support for displaying the text of the user’s request and the text response from the Google Assistant.
- Support for submitting queries via text input (Using Device actions or IFTTT).
I could update the library on Orange Pi Zero as follows:
python3 -m venv env
env/bin/python -m pip install --upgrade pip setuptools
python -m pip install --upgrade google-assistant-library
python -m pip install --upgrade google-auth-oauthlib[tool]
I could still use my DIY smart speaker to ask questions and get answers after a reboot, so the update went smoothly. Controlling other devices like Sonoff TH16 will require some more studying.