Hi there @Nick_Holden, firstly welcome, it’s great to have you here, and thanks for writing up such constructive feedback for us.
errors and missing dependencies
Do you have your bash_history
at all so we can take a look and see if we need to include more dependencies in auto_run.sh
? That file is supposed to pip install
a bunch of deps, so if there are things missing it’s fairly trivial for us to add them in.
If Git’s your thing, you can also raise PRs on the Picroft software at;
pulseaudio
Good pickup. The Picroft documentation at the moment is pretty outdated; it’s next on my list for a major rewrite of the documentation. We recently pulled in a commit which adds pulseaudio
back into Picroft; we found that installing pulseaudio
was solving a lot of problems so have added it back in.
bluetooth
Bluetooth historically has been difficult to get working with Picroft, although the more recent Raspbian Stretch Lite-based image makes a bit easier. Do you have some more information on the specific issues you were getting, or the Bluetooth device you were using?
mycroft services
Sure, I can provide a bit more information on that.
Mycroft runs several services:
pi@picroft:~ $ ps -ef | grep mycroft
pi 680 1 10 11:48 tty1 00:00:16 python3 -m mycroft.messagebus.service
pi 683 1 13 11:48 tty1 00:00:21 python3 -m mycroft.skills
pi 686 1 9 11:48 tty1 00:00:14 python3 -m mycroft.audio
pi 689 1 99 11:48 tty1 00:02:35 python3 -m mycroft.client.speech
pi 708 503 31 11:48 tty1 00:00:47 python3 -m mycroft.client.text
pi 1513 683 13 11:50 tty1 00:00:05 /home/pi/mycroft-core/.venv/bin/python3 -m pip install -r /opt/mycroft/skills/mycroft-npr-news.mycroftai/requirements.txt
pi 1681 1637 54 11:51 pts/0 00:00:14 python3 -m mycroft.client.text
pi 1719 686 0 11:51 tty1 00:00:00 aplay -Dhw:0,0 /tmp/mycroft/cache/tts/01eaa55ed9d97b6a6b60e886c400272f.wav
pi 1739 1700 0 11:51 pts/1 00:00:00 grep --color=auto mycroft
The Message Bus is essentially a message passing service that helps the other services communicate. This is also how external tools can connect and interact with mycroft-core
.
The Skills Service helps identify Intents and match Utterances to Skills. The Skills service also monitors /opt/mycroft/skills
and reloads a Skill if there has been a change on the filesystem.
The Audio Service does what it says on the in - it helps provide audio output capabilities for mp3
and streaming audio.
The Speech client handles Speech to Text.
The Text client handles Text to Speech.
The mycroft-cli
should start some or all of these services when activated. Picroft starts all of these services on boot, so that’s why a reboot is a failsafe way to restart all services.
logging in to Picroft
pi
is the interactive user and is how you should be ssh
'ing into Picroft
echo cancellation
No reason not to use this other than it may be more CPU-intensive than an RPi 3B+ can handle
Really appreciate your feedback!