Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Devices

Mason Stone edited this page Nov 5, 2016 · 21 revisions

Raspberry Pi

Works fine by default!

HDMI Audio Users: Note: If you are having trouble with the sound cutting off the first few seconds, try running the following command:

vcgencmd force_audio hdmi 1

If it works you can add it to cron, with these steps

  1. crontab -e

  2. @reboot vcgencmd force_audio hdmi 1

  3. save, exit and reboot.

Orange Pi & other A20 / H3 based boards

Note: Please don't use system images from the vendor. Just DON'T. They are complete and utter crap and they might even cause overheating / damage to your boards. Use Armbian instead. It's awesome, it's as secure as possible, it's up-to-date and it's loaded with features!

You have these options:

  1. Use the orangepi platform.

This will allow you to use a push button and LEDs! Right now, you have to install the library for this manually:

pip install git+https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git

Unfortunately, you have to run AlexaPi under root for this. To do this:

  1. If you're running under systemd (as you should), which is the default, after the installation is complete, put ```

Use this only if you need access to GPIO on a platform that doesn't support root-less GPIO!

[Service] User=root Group=root ProtectHome=false

    in `/etc/systemd/system/AlexaPi.service.d/usergroup-root.conf`. Then run `systemctl daemon-reload` for the changes to take effect and then you can (re)start your AlexaPi!

  2. If you've stuck to the old way, edit `/etc/init.d/AlexaPi` and set the user and group there to `root`.

  Be sure to understand what the pin numbers mean before you break your board or spend hours trying to debug it. Check out the [pinout of the Expansion port](https://linux-sunxi.org/Orange_Pi_PC#Expansion_Port) of Orange Pi PC (check other pages for your board, it might be different!) and the [simple formula for calculating the right pin number](http://linux-sunxi.org/GPIO#Accessing_the_GPIO_pins_through_sysfs_with_mainline_kernel).


2. Use the general _sysfs gpio_ platform.

   Not yet available.

3. Use the _dummy_ platform.

   If you don't care about button triggering or LEDs, you can use this. You can then run AlexaPi securely under the _alexapi_ user.

## C.H.I.P. computer

You have these options:

1. Use the _chip_ platform.

  This will allow you to use a push button and LEDs! 
  Right now, you have to install the library for this manually:

  `pip install git+https://github.com/xtacocorex/CHIP_IO.git`

  Unfortunately, you have to run AlexaPi under _root_ for this. To do this:

  1. If you're running under systemd (as you should), which is the default, after the installation is complete, put
    ```
# Use this only if you need access to GPIO on a platform that doesn't support root-less GPIO!

[Service]
User=root
Group=root
ProtectHome=false
in `/etc/systemd/system/AlexaPi.service.d/usergroup-root.conf`. Then run `systemctl daemon-reload` for the changes to take effect and then you can (re)start your AlexaPi!
  1. If you've stuck to the old way, edit /etc/init.d/AlexaPi and set the user and group there to root.

Be sure to understand what the pin numbers mean before you break your board or spend hours trying to debug it. Check out the pinout of the Expansion port of the C.H.I.P. computer.

  1. Use the general sysfs gpio platform.

    Not yet available.

  2. Use the dummy platform.

    If you don't care about button triggering or LEDs, you can use this. You can then run AlexaPi securely under the alexapi user.

Desktop / development machine

The best option is probably the desktop platform as it will allow you to trigger Alexa with your keyboard.

If you don't care about that, you can use the dummy platform.

Another option, possibly only for developers is to install fakeRPiGPIO and use the raspberrypi platform. You won't be able to trigger Alexa other than by the trigger word, but you'll see output (function calls) from the fake library. This will allow you to partially test the logic in the raspberrypi platform without actually running this on a Pi.

Other boards / computers

If none of the above platforms is suitable for you, you can use the dummy platform. You will then have voice activation only with no indicators (other than process output). This is a good idea for getting AlexaPi to work on new unsupported systems - you make sure the AlexaPi itself works under the OS and then you bother yourself with the device platform itself.