Trying to install both Mycroft-Core and MagicMirror on the same PI

@Jmh474 If you’re using the 3b+ you can install Jesse, but it looks like a lot of work and I’m not sure what all is involved. Keeping them on the same Pi looks as if, in your case, is a losing proposition - too many hurdles to overcome. Sorry to get your hopes up. Mycroft as an AI assistant is great to work with. Very easy to write skills etc. In my case, I’m going to bite the bullet and pick up an extra RPi 3b+ run my Mirror on my RPi3b and use the stetch image for Mycroft on the RPi3b+. I think it willm be much easier to update the seperate Pi’s in the future that way. Sorry Mate.

@Jmh474 You can always try the Stretch Mycroft-Core, but that would require the help of someone with vastly more experience than me. Maybe @steve.penrod would be able to give you a good place to start.

He’s helped me tremendously. Met him at the Kansas City Maker Faire last year.

OK thanks for all your help, I’ll be giving it ago and see what I can find, but I’m guessing I’ll be reinstalling than getting anywhere lol

I have a RPi 3+ with rasbian stretch and I have installed MM and Mycroft. I can confirm that beside that they communicate and working together the pi is not powerfull enough and it freezes periodically. Is there any possible way to have them on the same pi or I must buy one for each?

@Anthony_36 I’ve got them both working on a RPi 3b (not +) running Raspbian Jesse, an older version of MM and Mycroft. It does work, although it’s not exactly snappy in it’s performance. My preference is to have them running on seperate RPi’s which is what I intend to do at some point when work slows down a bit. Performance would be much better, also, fewer problems with updates and dependencies I’m hypothesizing. So… It can be done, but like I mentioned to @Jmh474, I’m not sure it should be done.

2 Likes

Maybe a beefier SBC like the Tinkerboard can run MM&Mycroft together? The benchmark shows about twice the performance of a RPI3.

But it also costs as much as two RPIs, so the only advantage is having only one SBC and power supply…

1 Like

I think I agree with you. You have them all working on the same pi (not b+) with jesse and older version of MM and you are not happy with the performance. I have them all working on the same pi (b+) with rasbian stretch and the latest MM and working for some time but pi freezes in the end. So from these two examples I think it is better to have them in seperate pi’s. I’ll try it when I have the time (and money) and I’ll let you know.

It’s great to hear about your tests with these and comparing the different models for real world performance. Did you have a look at the logs after rebooting to see what might have caused the freeze?

Would be super interested to see it all in action if you had any video?

I am very Exciting with this project and I love testing it but since I am not familiar with coding and programming I can’t do a lot of things. All I have done so far is through tones of googling, articles reading and forum chating. I’ll try to make a sort video and find the logs when I get home and I’ll let you know.

@gez-mycroft Here’s the video of mine working. It is also posted at here

Here’s the video:

1 Like

@gez-mycroftHere is a short video of Mycroft and MM. I appologize in advance for my accent. It is about 10days old. Short time after the video the pi got frozen. I tried to check the logs but as I told you before I am not a programmer so these things are kind difficult for me. If you could help me I would appreciate it. I run cat /var/log/mycroft/audio.log | grep -i error and cat /var/log/mycroft/voice.log | grep -i error and it gave me a tone of errors but I cannot understand them and I believe that they don’t have to do anything with the freezing problem.

2 Likes

Very nice indeed for both!

And certainly don’t apologise for the accent. We all have them, even if we don’t think we do. It’s great to see that Mycroft is handling it well.

A simple way to fetch all of your logs so you can review them on your main computer is to use scp, it’s like the cp command but lets us send and receive files with another device. So from your main computer you want to run:
scp pi@<IP-of-pi>:/var/log/mycroft/* <local/directory>

So for me this ends up as:
scp pi@192.168.1.186:/var/log/mycroft/* ~/Downloads/

Thank you very much for your kind words. Although, all credits should go @dmwilsonkc because he did all the work on magic mirror voice skill. My result is based on his work and on searching in google, forums etc. Anyway here are some errors I get when I run cat /var/log/mycroft/audio.log | grep -i error from pi’s keyboard:
raise TypeError(“expect bytes or str, not %s” % type(filename).name)
TypeError: expect bytes or str, not NoneType
TypeError: Can’t convert ‘NoneType’ object to str implicitly
raise TypeError(“expect bytes or str, not %s” % type(filename).name)
TypeError: expect bytes or str, not NoneType
TypeError: Can’t convert ‘NoneType’ object to str implicitly
raise TypeError(“expect bytes or str, not %s” % type(filename).name)
TypeError: expect bytes or str, not NoneType
TypeError: Can’t convert ‘NoneType’ object to str implicitly
22:17:32.425 - mplayer__init__::20 - ERROR - install py_mplayer with pip install git+https://github.com/JarbasAl/py_mplayer
22:17:32.436 - mycroft.audio.audioservice:load_services:110 - ERROR - Failed to import module mplayer
ImportError(“No module named ‘py_mplayer’”,)
[748c2cf0] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[6b675960] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
22:17:39.612 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:17:41.727 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:17:56.981 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:17:57.873 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:17:58.466 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:17:59.479 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:18:00.344 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:18:01.097 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.354 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.392 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.433 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.471 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.510 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:19:00.558 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:04.923 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:04.960 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:05.003 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:05.047 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:05.116 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:20:05.170 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.622 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.669 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.711 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.753 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.791 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:21:10.830 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:22:06.224 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:22:09.865 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:22:11.888 - mycroft.tts:run:115 - ERROR - [Errno 2] No such file or directory: ‘paplay’
FileNotFoundError: [Errno 2] No such file or directory: ‘paplay’
22:31:20.762 - mycroft.messagebus.client.ws:on_error:74 - WARNING - Could not send message because connection has closed
22:31:20.767 - mycroft.messagebus.client.ws:on_error:83 - ERROR - Exception closing websocket: Exception(“Uncaught ‘error’ event.”,)
22:31:20.775 - mycroft.messagebus.client.ws:on_error:85 - WARNING - WS Client will reconnect in 5 seconds.
Please guide me if you see anything that is related to the freeze problem or anything else.

Absolutely all credit to @dmwilsonkc’s work! I just like seeing how different people use the platform too.

In terms of these errors, you can get rid of the ‘Failed to import module mplayer’ error by manually installing it inside of the virtual environment:

mycroft-venv-activate
pip install git+https://github.com/JarbasAl/py_mplayer
mycroft-venv-deactivate 

paplay is the PulseAudio playback system so install should be as simple as:
sudo apt install paplay
You can check if it’s on your system by checking its version:
paplay --version

As for the first TypeError, I think I’d need to see more of the logs to work out where that is originating from.

@Anthony_36 and @gez-mycroft Thanks for the kudos. This is my first Mycroft skill and it was a lot of fun putting it together. I had a tremendous amount of help throughout the whole process from the community but specifically @forslund @KathyReid @eric-mycroft and @steve.penrod. I could not have figured it out without their help and input.

2 Likes

Well I thing it is better to start all over from scratch when I buy the second pi to be sure everything will be done correctly. Thank you for your interest.

@Anthony_36 @gez-mycroft @Jmh474 So I had the opportunity to identify instances in the code that throw the “There was an error processing a request in the MagicMirrorVoiceControl skill” error. I think I have made the necessary code changes to account for possible errors and address them so the annoying “error processing request” errors no longer happen. I also made changes in the code to check for connection and whether my fork of the MMM-kalliope is installed and configured. If you get a chance, go to the magic-mirror-voice-control-skill directory in the skills directory /mycroft-core/skills/magic-mirror-voice-control-skill/ and type

git pull

To update the skill.

Let me know if you find any other errors I need to address.

Thx,
Cheers!

I shall try later for you and report back when I get chance

1 Like

I am a beginner and can’t find the file that you mentioned and make my croft start automaticlly can you help me please with more information about how you did it ?

@muhammed the file does not exist. You need to write it. The code is above in reply/post 19. Use Nano text editor to create the file.

2 Likes