My name is Dave, county of Wiltshire in the UK, I’ve just joined, and I’ve been spending the last couple of weeks tinkering with the Mycroft application for Linux. It’s running on Ubuntu 16.04.02 and is, well, amazing me on what I can do with it and what it can do.
So to give a bit of background, I am an electronics engineer that has migrated into the worlds of System Engineering and now into embedded software engineering. This I have been doing for the last 25 years. My primary language is C but I have dabbled in Python on a few projects and am picking it up fairly quickly.
I have three skills that I have written, what are very mission specific, so at the moment they have no value for the Github community. At least not yet. This is what I have so far.
I bought a string of 20 RGB LED globes from Ebay a while ago. Each one has an 2811 controller chip in it on a daisy chained bus. Using a Arduino Iooky-likey (ESP8211) I created a controller for the lights, which included a web based interface for control. I then fitted the modules onto a wooden batten which is now high up above me in my office. The programming allows various colors and brightnesses. The obvious step was to create a skill to form post commands to the light bar by spoken command. This was my first skill to create and I completed this by first writing the Python code to drive the web interface, outside of Mycroft, before integrating it into the skill template.
Shower room control
I had problems with my shower room, whereby members of the family would leave the room wet and not open a window etc. Mould problems occurred as a result. I recently refitted the entire room and didn’t want the same problem to occur. So, another ESP8211 and some more electronics later and I have a method whereby the temperature and humidity in the room is monitored. As necessary the gas fired central heating is brought on, along with an extraction fan. The design goes through several steps of treatment to dry the room out, along with the towels. Again the design has a LAN based interface to allow monitoring and to instruct overrides on both the central heating and extraction commands, if required. And yet again the Mycroft system offered the opportunity for spoken requests for the status of the system and commands to the overrides.
I have an interest in the weather and operate a fairly advanced private weather station. This is connected to a server which runs the Cumulus software by SandaySoft. The output from this is a data logger, a website interface and injection into various global weather communities. One of the website features is gauges that read a simple JSON file,from the server, every 30 seconds. Opportunity here. My skill reads the JSON file and then allows various requests to verbalise the data from the weather station. You can ask for specific information or for a full report. The full report takes Mycroft about 2.5 minutes to verbalise as there is a lot of information there. Granted, this one could be useful for others to play with.
In general, Mycroft is on my PC with the wake up words “Hey Jarvis”. Its got to be fun! I have also installed the system onto my Ubuntu laptop.
Where I want to go next is to be able to bring the voice processing local, as the “satellite delay” does ruin the experience somewhat. I have a couple of pretty high spec HP Enterprise servers to hand, which are crying out for something to get their teeth into. They both run Ubuntu server 16.04. Therefore progression on this front would be of great interest to me.