Link Search Menu Expand Document
Table of contents
  1. Auto installation using a custom docker container
    1. Docker container
      1. Services
    2. Implementation
      1. Update your Pi
      2. Microphone driver
      3. Docker
      4. Service configuration
      5. Start your Voice Assistant
      6. Pairing your light bulb

Auto installation using a custom docker container

Docker container

A custom docker container was created for running all the required voice assistant services. This container uses a ubuntu base image. Find the docker hub page here.

Services

  • Rhasspy
  • Node-Red
  • Zigbee2Mqtt
  • Mpd

Implementation

Set up your Pi according to the hardware page.

Update your Pi

sudo apt-get update
sudo apt-get upgrade -y
sudo timedatectl set-timezone Europe/Berlin
sudo reboot

Microphone driver

sudo apt install git -y
git clone https://github.com/respeaker/seeed-voicecard.git
cd seeed-voicecard
sudo ./install.sh --compat-kernel
rm -rf seeed-voicecard
sudo chmod 777 /dev/ttyACM0
sudo reboot

Docker

curl -sSL https://get.docker.com | sh 
sudo usermod -a -G docker pi 
sudo apt-get install docker-compose -y
sudo reboot 

Service configuration

cd /home/pi
wget https://github.com/th-koeln-intia/ip-sprachassistent-team3/raw/master/config/auto_install_docker/apollo.zip
unzip apollo.zip
rm apollo.zip

Start your Voice Assistant

cd /home/pi/apollo
./ipupdate.sh
docker-compose up -d

You will hear Apollo Apollo, when the implementation was successful. If something went wrong, remove -d from your docker-compose up command to see the output. For service level errors visit /home/pi/apollo/logs. Each service has it’s own log file.

Pairing your light bulb

First check if the device page contains instructions on how to pair your device. If no instructions are available, the device can probably be paired by factory resetting it. Aqara LED Light Bulb needs to be turned on and off for 5 times to go into pairing mode.

After pairing your light bulb visit /home/pi/apollo/logs/zigbee2mqtt.txt to get information about your lights friendly name. Once you see something similar to below in the log your device is paired.

Run the following command to update the node-red workflow with your lamp.

./home/pi/apollo/lampupdate.sh <friendly name>
# example: ./home/pi/apollo/lampupdate.sh 0x00158d000520ac5e

After entering a invalid friendly name, visit Node-RED’s web interface at ip-address:1880 to add the lamp manually by editing all lamp nodes.

Restart your Voice Assistant

cd /home/pi/apollo
docker-compose down
docker-compose up -d