Devices
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
-
crontab -e
-
@reboot vcgencmd force_audio hdmi 1
-
save, exit and reboot.
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:
- 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:
- If you're running under systemd (as you should), which is the default, after the installation is complete, put ```
[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!
- If you've stuck to the old way, edit
/etc/init.d/AlexaPi
and set the user and group there toroot
.
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.
-
Use the general sysfs gpio platform.
Not yet available.
-
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.
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.
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.