Hi I’m running Mycroft on Ubuntu 18.04 installed from GitHub + Arduino Uno with mark1 code and I have led eyes connected to pin 3 the problem is it don’t work all together. Arduino works ok when I send commands over serial but don’t work with mycroft.
my user mycroft.conf
{
"max_allowed_core_version": 19.8,
"confirm_listening": false,
"hotwords": {
"hey mycroft": {
"module": "pocketsphinx"
}
},
"enclosure": {
"platform": "mycroft_mark_1",
"platform_build": 9,
"port": "/dev/ttyUSB0",
"rate": 9600,
"timeout": 5,
"update": true,
"test": false
}
}
and my logs from enclosure.log
2019-12-14 15:09:01.504 | INFO | 3319 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-14 15:09:02.904 | INFO | 3319 | mycroft.enclosure.display_manager:init_display_manager_bus_connection:152 | Connecting display manager to messagebus
2019-12-14 15:09:02.907 | INFO | 3319 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-14 15:09:02.953 | INFO | 3319 | mycroft.messagebus.client.client:on_open:67 | Connected
2019-12-14 15:09:03.107 | INFO | 3319 | mycroft.messagebus.client.client:on_open:67 | Connected
Eyes are just looping and don’t respond on change color commands
it looks it not starting enclosure mark 1 end its not connecting with arduino
Do I need initialize it some how ??
how to get to work files from mycroft\mycroft-core\mycroft\client\enclosure ?
Update
to get it work you need create system config file in /etc/mycroft/mycroft.conf if u don’t have it
and add
{
"enclosure": {
"platform": "mycroft_mark_1",
"platform_build": 4,
"port": "/dev/ttyUSB0",
"rate": 9600,
"timeout": 5,
"update": true,
"test": false
}
}
and then
sudo chmod /dev/ttyUSB0
sudo adduser [username] dialout
it is connecting
2019-12-15 17:10:40.970 | INFO | 6862 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-15 17:10:42.337 | INFO | 6862 | mycroft.client.enclosure.mark1:__init_serial:338 | Connected to: /dev/ttyUSB0 rate: 9600 timeout: 5
2019-12-15 17:10:42.343 | INFO | 6862 | mycroft.enclosure.display_manager:init_display_manager_bus_connection:152 | Connecting display manager to messagebus
2019-12-15 17:10:42.345 | INFO | 6862 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-15 17:10:42.377 | INFO | 6862 | mycroft.messagebus.client.client:on_open:67 | Connected
2019-12-15 17:10:42.383 | INFO | 6862 | mycroft.messagebus.client.client:on_open:67 | Connected
but nothing else yet need check arduino program
Next update
it is look like from code in init.py (in client/ enclosure/mark1/)that response form arduino is Mycroft Mark 1 v1.4.0 - Connect
not Command: system.version Mycroft Mark 1 v1.4.0
and when i run mycroft ./start-mycroft.sh all after couple sek. I am getting enter password prompt but
> pinki84@mediaone:~$ cd mycroft-core/
> pinki84@mediaone:~/mycroft-core$ ./start-mycroft.sh all
> Already up-to-date.
> Starting all mycroft-core services
> Initializing...
> Starting background service bus
> CAUTION: The Mycroft bus is an open websocket with no built-in security
> measures. You are responsible for protecting the local port
> 8181 with a firewall as appropriate.
> Starting background service skills
> Starting background service audio
> Starting background service voice
> Starting background service enclosure
> pinki84@mediaone:~/mycroft-core$ [sudo] password for pinki84:
it’s show every time when i restart enclosure
it’s look like some permission problem inside vitualenv
any advice ??
I setup some debugging to see where is error
2019-12-16 12:55:49.848 | INFO | 5722 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-16 12:55:51.272 | INFO | 5722 | mycroft.client.enclosure.mark1:__init_serial:345 | Connected to: /dev/ttyUSB0 rate: 9600 timeout: 5
2019-12-16 12:55:51.276 | DEBUG | 5722 | mycroft.client.enclosure.mark1:__init__:276 | Prepare to receive message when the Arduino responds
2019-12-16 12:55:51.281 | DEBUG | 5722 | mycroft.client.enclosure.mark1:write:249 | Writing comand: system.version
2019-12-16 12:55:51.284 | DEBUG | 5722 | mycroft.client.enclosure.mark1:flush:243 | Writing comand: b'system.version\n'
2019-12-16 12:55:51.287 | INFO | 5722 | mycroft.enclosure.display_manager:init_display_manager_bus_connection:152 | Connecting display manager to messagebus
2019-12-16 12:55:51.290 | INFO | 5722 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2019-12-16 12:55:51.326 | INFO | 5722 | mycroft.messagebus.client.client:on_open:67 | Connected
2019-12-16 12:55:51.327 | INFO | 5722 | mycroft.messagebus.client.client:on_open:67 | Connected
2019-12-16 12:55:52.884 | DEBUG | 5722 | mycroft.client.enclosure.mark1:read:82 | data recived: Mycroft Mark 1 v1.4.0 - Connect
2019-12-16 12:55:52.887 | DEBUG | 5722 | mycroft.client.enclosure.mark1:process:100 | message: Mycroft Mark 1 v1.4.0 - Connect
2019-12-16 12:55:52.890 | DEBUG | 5722 | mycroft.client.enclosure.mark1:read:88 | data to send: Mycroft Mark 1 v1.4.0 - Connect
2019-12-16 12:55:56.288 | DEBUG | 5722 | mycroft.client.enclosure.mark1:check_for_response:386 | there is nothing on other end
i changed
##(in init.py in client/ enclosure/mark1/)
if “Command: system.version” in data:
to
if “Connect” in data:
and it works
2019-12-16 13:31:35.157 | ERROR | 8280 | mycroft.client.enclosure.mark1:process:108 | response true
2019-12-16 13:31:35.159 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Mycroft Mark 1 v1.4.0 - Connect
2019-12-16 13:31:35.170 | ERROR | 8280 | mycroft.client.enclosure.mark1:on_arduino_responded:298 | on response
2019-12-16 13:31:35.175 | ERROR | 8280 | mycroft.client.enclosure.mark1:write:249 | Writing comand: eyes.reset
2019-12-16 13:31:35.178 | ERROR | 8280 | mycroft.client.enclosure.mark1:write:249 | Writing comand: mouth.reset
2019-12-16 13:31:35.179 | ERROR | 8280 | mycroft.client.enclosure.mark1:flush:243 | Writing error: b'eyes.reset\n'
2019-12-16 13:31:35.181 | ERROR | 8280 | mycroft.client.enclosure.mark1:flush:243 | Writing error: b'mouth.reset\n'
2019-12-16 13:31:35.223 | WARNING | 8280 | mycroft.client.enclosure.mark1:read:82 | data recived: Command: eyes.res
2019-12-16 13:31:35.225 | WARNING | 8280 | mycroft.client.enclosure.mark1:process:100 | message: Command: eyes.res
2019-12-16 13:31:35.228 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Command: eyes.res
2019-12-16 13:31:35.233 | WARNING | 8280 | mycroft.client.enclosure.mark1:read:82 | data recived: Command: mouth.res
2019-12-16 13:31:35.235 | WARNING | 8280 | mycroft.client.enclosure.mark1:process:100 | message: Command: mouth.res
2019-12-16 13:31:35.243 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Command: mouth.res
2019-12-16 13:31:36.795 | ERROR | 8280 | mycroft.client.enclosure.mark1:flush:243 | Writing error: b'mouth.text=< < < SYNC < < <\n'
2019-12-16 13:31:36.816 | ERROR | 8280 | mycroft.client.enclosure.mark1:write:249 | Writing comand: mouth.text=< < < SYNC < < <
2019-12-16 13:31:36.876 | WARNING | 8280 | mycroft.client.enclosure.mark1:read:82 | data recived: Command: mouth.text=< < < SYNC < <
2019-12-16 13:31:36.879 | WARNING | 8280 | mycroft.client.enclosure.mark1:process:100 | message: Command: mouth.text=< < < SYNC < <
2019-12-16 13:31:36.881 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Command: mouth.text=< < < SYNC < <
2019-12-16 13:31:51.836 | ERROR | 8280 | mycroft.client.enclosure.mark1:write:249 | Writing comand: eyes.color=12433259
2019-12-16 13:31:51.837 | ERROR | 8280 | mycroft.client.enclosure.mark1:flush:243 | Writing error: b'eyes.color=12433259\n'
2019-12-16 13:31:51.843 | ERROR | 8280 | mycroft.client.enclosure.mark1:write:249 | Writing comand: mouth.text=< < < LOADING < < <
2019-12-16 13:31:51.846 | ERROR | 8280 | mycroft.client.enclosure.mark1:flush:243 | Writing error: b'mouth.text=< < < LOADING < < <\n'
2019-12-16 13:31:51.902 | WARNING | 8280 | mycroft.client.enclosure.mark1:read:82 | data recived: Command: eyes.color=124332
2019-12-16 13:31:51.904 | WARNING | 8280 | mycroft.client.enclosure.mark1:process:100 | message: Command: eyes.color=124332
2019-12-16 13:31:51.906 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Command: eyes.color=124332
2019-12-16 13:31:51.954 | WARNING | 8280 | mycroft.client.enclosure.mark1:read:82 | data recived: Command: mouth.text=< < < LOADING < <
2019-12-16 13:31:51.957 | WARNING | 8280 | mycroft.client.enclosure.mark1:process:100 | message: Command: mouth.text=< < < LOADING < <
2019-12-16 13:31:51.959 | ERROR | 8280 | mycroft.client.enclosure.mark1:read:88 | data to send: Command: mouth.text=< < < LOADING < <
I thing i need change arduino code to not output this connect message Mycroft Mark 1 v1.4.0 - Connect
Arduino code from github mark1 1.4.0