jeffsf / pyDE1

Controller for the Decent Espresso DE1
GNU General Public License v3.0
77 stars 16 forks source link

[do not merge] docker-compose setup #1

Closed sdotz closed 2 years ago

sdotz commented 3 years ago

Hey @jeffsf here is a docker setup using docker-compose. I'm wondering if it works for you and others both on your host machine and the raspberry pi. The main hurdle here is comms with the host machines BT stack through dbus. It works on my raspberry pi zero W but not on my Mac.. for now.

First, you must STOP the bluetoothctl process on the host machine (rpi) service bluetoothd stop

Then docker-compose up from the project root on the rpi`

It should build and run the containers in the foreground which includes pyDE1 and an MQTT server

If you don't have docker-compose or docker, apt-get install docker docker-compose

On Mac I am getting an error:

 $ docker compose up                                                                                                                      
[+] Running 2/0
 ⠿ Container pyde1_mqtt_1                Running                                                                                                          0.0s
 ⠿ Container eb5a86028b54_pyde1_pyde1_1  Recreated                                                                                                        0.1s
Attaching to eb5a86028b54_pyde1_pyde1_1, mqtt_1
eb5a86028b54_pyde1_pyde1_1  | Starting system message bus: dbus.
eb5a86028b54_pyde1_pyde1_1  | 2021-06-25 00:34:38,896 INFO Logger: Logging PID 22 to /usr/src/app/_logs/default.2021-06-25_003438.log
eb5a86028b54_pyde1_pyde1_1  | 2021-06-25 00:34:39,061 INFO Scanner: Scan start
eb5a86028b54_pyde1_pyde1_1  | 2021-06-25 00:34:39,071 WARNING asyncio: Executing <Task pending name='Task-1' coro=<run() running at /usr/src/app/./examples/try_de1.py:70> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0xffffb3b16f40>()] created at /usr/local/lib/python3.9/asyncio/base_events.py:424> cb=[_run_until_complete_cb() at /usr/local/lib/python3.9/asyncio/base_events.py:184] created at /usr/local/lib/python3.9/asyncio/base_events.py:621> took 0.111 seconds
eb5a86028b54_pyde1_pyde1_1  | Traceback (most recent call last):
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/src/app/./examples/try_de1.py", line 201, in <module>
eb5a86028b54_pyde1_pyde1_1  |     loop.run_until_complete(run(
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/local/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
eb5a86028b54_pyde1_pyde1_1  |     return future.result()
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/src/app/./examples/try_de1.py", line 70, in run
eb5a86028b54_pyde1_pyde1_1  |     de1_device = await find_first_de1()
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/local/lib/python3.9/site-packages/pyDE1/find_first.py", line 120, in find_first_de1
eb5a86028b54_pyde1_pyde1_1  |     await scanner.start()
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/local/lib/python3.9/site-packages/bleak/backends/bluezdbus/scanner.py", line 123, in start
eb5a86028b54_pyde1_pyde1_1  |     assert_reply(reply)
eb5a86028b54_pyde1_pyde1_1  |   File "/usr/local/lib/python3.9/site-packages/bleak/backends/bluezdbus/utils.py", line 23, in assert_reply
eb5a86028b54_pyde1_pyde1_1  |     raise BleakDBusError(reply.error_name, reply.body)
eb5a86028b54_pyde1_pyde1_1  | bleak.exc.BleakDBusError: [org.freedesktop.DBus.Error.Spawn.ChildExited] Launch helper exited with unknown return code 1