Here is a little followup of this week-end work on E.V.E. I’m still at a prototyping stage which means there rough edges and that the source code is sometimes naughty), but it’s getting long nicely.
E.V.E is now a Yodeling Cowgirl
During this week-end tests, I tried to complete the simple internet radio functionalities of the prototype. Unfortunately, while playing with HTML5 Audio capabilities, I quickly stumbled upon limitations with current versions of software packages included with Raspbian 7.0.
Raspbian 7.0 is based on Debian 7.0 (Wheezy). Although Debian 8.0 (Jessie) has been out for a while (April 2015), it’s Raspberry Pi port is not yet officially out. Nevertheless, it is possible to upgrade form Raspbian 7.0 to Raspbian 8.0.
However, a caution must be exercised as there is always a chance to break the entire system. A full backup of the SD card is thus recommended. The less packages are installed the more likely the upgrade process will success. And since I’m at the very the beginning of this project and like to live on the fringe, I took the leap.
The upgrade to Jessie is actually fairly simple. First, make sure your system is up to date:
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
The next step is to update the sources lists. The main source file /etc/apt/sources.list
should look like this:
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
And /etc/apt/sources.list.d/raspi.list
should look like this;
deb http://archive.raspberrypi.org/debian/ jessie main
Now, you can upgrade to Jessie :
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
Once you start the actual upgrade you will be given a choice to manually restart any currently running services. If you are performing the update via SSH and have no physical access to your Raspberry Pi (like I do) make sure not to disable SSH root access:
Disable SSH password authentication for root? NO
When the upgrade process is completed, reboot your system:
# reboot
It went rather smoothly, I just had after reboot to tweak the runlevels with raspi-config
not to boot by default in graphical mode (I’m a console adept in a prototyping phases).
E.V.E is now officially a cute Yodeling Cowgirl. Rock on !
Chromium 45.* on Raspbian 8.0
I was hoping for a more recent version of the chromium browser. The version packaged for Raspian 7.0 is very old (22.*), and I thought it would be better with Jessie. Unfortunately, if Chromium 45.* is on its way for Raspbian 8.0, it is not here yet.
So, I tried something dirty: installing Ubuntu Vivid for ARMhf port on a fresh Raspbian 8.0. I took these two Debian packages from Ubuntu Launchpad:
Then a force-installed these packages (using dpkg
option --force-all
for both packages). It’s dirty, but not unsafe: this will not override your Chromium 22 installation since Ubuntu port is called chromium-browser and installs thus separately. And it actually worked. I could actually start Chromium 45 as root with these nasty options:
#chromium-browser --no-sandbox --user-data-dir=/tmp --kiosk http://localhost/ &
Alas, it’s a bit unstable, and the HTML5/Audio subsystem doesn’t work properly (which is a shame, since this is what I was looking for …). Nevertheless, it shows the Raspberry Port of Chromium 45.* is certainly near. I’ll give it a try later on. For now, I’m keeping my good old Epiphany browser as the main component.
Home screen
At this stage, E.V.E’s home screen implementation is as follows:
The speech recognition function is still in infantry, but the hour/day, weather forecast, general information, remote configuration and springboard functionalities are reasonably working.
Since I don’t want to get into the trouble of implementing a full onscreen keyboard, all configurations that would require a keyboard will be available remotely:
The “Remote configuration” pops up a QR Code, that give access to a configuration page (yet to be thought of). It can be scanned with a smartphone, that will handle easily keyboard interactions.
Internet Radio
The internet radio (simple) functionality is close to completion (it still needs a few cleanup and buffering functionalities):
Here is a little video show E.V.E at this stage of development:
Next step for the prototype: voice recognition !