{"id":1402,"date":"2015-09-27T17:39:17","date_gmt":"2015-09-27T16:39:17","guid":{"rendered":"http:\/\/quantum-bits.org\/?p=1402"},"modified":"2022-08-12T17:28:01","modified_gmt":"2022-08-12T16:28:01","slug":"e-v-e-is-a-yodeling-cowgirl","status":"publish","type":"post","link":"https:\/\/www.quantum-bits.org\/?p=1402","title":{"rendered":"E.V.E is a Yodeling Cowgirl"},"content":{"rendered":"<p>Here is a little followup of this week-end work on E.V.E. I&#8217;m still at a prototyping stage which means there rough edges and that the source code is sometimes naughty), but it&#8217;s getting long nicely.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1297 size-full\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/rasbperrypi-hacks.jpg\" alt=\"rasbperrypi-hacks\" width=\"985\" height=\"503\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/rasbperrypi-hacks.jpg 985w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/rasbperrypi-hacks-300x153.jpg 300w\" sizes=\"(max-width: 985px) 100vw, 985px\" \/><\/p>\n<p><strong>E.V.E is now a&nbsp;Yodeling Cowgirl<\/strong><\/p>\n<p>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 <a href=\"https:\/\/www.raspbian.org\/\" target=\"_blank\" rel=\"noopener\">Raspbian<\/a> 7.0.<\/p>\n<p>Raspbian 7.0 is based on <a href=\"https:\/\/en.wikipedia.org\/wiki\/Debian\" target=\"_blank\" rel=\"noopener\">Debian<\/a> 7.0 (Wheezy). Although Debian 8.0 (Jessie) has been out for a while (April 2015), it&#8217;s Raspberry Pi port is not yet officially out. Nevertheless, it is possible to upgrade form Raspbian 7.0 to Raspbian 8.0.<\/p>\n<p>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&#8217;m at the very the beginning of this project and like to live on the fringe, I took the leap.<\/p>\n<p>The upgrade to&nbsp;Jessie is actually fairly simple. First, make sure your system is up to date:<\/p>\n<p><code># apt-get update<br \/>\n# apt-get upgrade<br \/>\n# apt-get dist-upgrade<br \/>\n<\/code><br \/>\nThe next step is to update the sources lists. The main source file <code>\/etc\/apt\/sources.list<\/code> should look like this:<\/p>\n<p><code>deb http:\/\/mirrordirector.raspbian.org\/raspbian\/ jessie main contrib non-free rpi<\/code><\/p>\n<p>And <code>\/etc\/apt\/sources.list.d\/raspi.list<\/code> should look like this;<\/p>\n<p><code>deb http:\/\/archive.raspberrypi.org\/debian\/ jessie main<\/code><\/p>\n<p>Now, you can upgrade to Jessie :<\/p>\n<p><code># apt-get update<br \/>\n# apt-get upgrade<br \/>\n# apt-get dist-upgrade<br \/>\n<\/code><\/p>\n<p>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:<\/p>\n<p><code>Disable SSH password authentication for root? NO<\/code><\/p>\n<p>When the upgrade process is completed, reboot your system:<\/p>\n<p><code># reboot<\/code><\/p>\n<p>It went rather smoothly, I just had after reboot to tweak the runlevels with <code>raspi-config<\/code> not to boot by default in graphical mode (I&#8217;m a console adept in a prototyping phases).<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1411\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-jessie.jpg\" alt=\"eve-jessie\" width=\"1280\" height=\"960\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-jessie.jpg 1280w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-jessie-300x225.jpg 300w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-jessie-1024x768.jpg 1024w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-jessie-285x214.jpg 285w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/p>\n<p>E.V.E is now officially a cute Yodeling Cowgirl. Rock on !<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-1405\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/jessie.gif\" alt=\"jessie\" width=\"1024\"><\/p>\n<p><strong>Chromium 45.* on&nbsp;Raspbian 8.0<\/strong><\/p>\n<p>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.<\/p>\n<p>So, I tried something dirty: installing Ubuntu Vivid for ARMhf port on a fresh&nbsp;Raspbian 8.0. I took these two Debian packages from Ubuntu Launchpad:<\/p>\n<ul>\n<li><a href=\"https:\/\/launchpad.net\/ubuntu\/vivid\/armhf\/chromium-browser\/\" target=\"_blank\" rel=\"noopener\">chromium-browser<\/a><\/li>\n<li><a href=\"https:\/\/launchpad.net\/ubuntu\/vivid\/armhf\/chromium-codecs-ffmpeg-extra\" target=\"_blank\" rel=\"noopener\">chromium-codecs-ffmpeg-extra<\/a><\/li>\n<\/ul>\n<p>Then a force-installed these packages (using <code>dpkg<\/code> option <code>--force-all<\/code> for both packages). It&#8217;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:<br \/>\n<code><br \/>\n#chromium-browser --no-sandbox --user-data-dir=\/tmp --kiosk http:\/\/localhost\/ &amp;<br \/>\n<\/code><br \/>\nAlas, it&#8217;s a bit unstable, and the HTML5\/Audio subsystem doesn&#8217;t work properly (which is a shame, since this is what I was looking for &#8230;). Nevertheless, it shows the Raspberry Port of Chromium 45.* is certainly near. I&#8217;ll give it a try later on. For now, I&#8217;m keeping my good old Epiphany browser as the main component.<\/p>\n<p><strong>Home screen<\/strong><\/p>\n<p>At this stage, E.V.E&#8217;s home screen implementation is as follows:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1415\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/home-screen-ux.png\" alt=\"home-screen-ux\" width=\"922\" height=\"573\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/home-screen-ux.png 922w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/home-screen-ux-300x186.png 300w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><\/p>\n<p>The speech recognition function is still in infantry, but the hour\/day, weather forecast, general information, remote configuration and springboard functionalities are reasonably working.<\/p>\n<p>Since I don&#8217;t want to get into the trouble of implementing a full onscreen keyboard, all configurations that would require a keyboard will be available remotely:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1416\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/admin.png\" alt=\"admin\" width=\"800\" height=\"480\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/admin.png 800w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/admin-300x180.png 300w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>The &#8220;Remote configuration&#8221; 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.<\/p>\n<p><strong>Internet Radio<\/strong><\/p>\n<p>The internet radio (simple) functionality is close to completion (it still needs a few cleanup and buffering functionalities):<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1417\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/radio-ux.png\" alt=\"radio-ux\" width=\"939\" height=\"514\" srcset=\"https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/radio-ux.png 939w, https:\/\/www.quantum-bits.org\/wp-content\/uploads\/2015\/09\/radio-ux-300x164.png 300w\" sizes=\"(max-width: 939px) 100vw, 939px\" \/><\/p>\n<p>Here is a little video show E.V.E at this stage of development:<\/p>\n<p>&nbsp;<\/p>\n<p><center><div style=\"width: 568px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-1402-1\" width=\"568\" height=\"320\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-0.0.3.mp4?_=1\" \/><a href=\"http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-0.0.3.mp4\">http:\/\/quantum-bits.org\/wp-content\/uploads\/2015\/09\/eve-0.0.3.mp4<\/a><\/video><\/div><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><\/center>&nbsp;<\/p>\n<p style=\"text-align: left;\">Next step for the prototype: voice recognition !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is a little followup of this week-end work on E.V.E. I&#8217;m still at a prototyping stage which means there rough edges and that the source code is sometimes naughty), &#8230;<\/p>\n","protected":false},"author":1,"featured_media":3851,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[21],"tags":[],"_links":{"self":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts\/1402"}],"collection":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1402"}],"version-history":[{"count":0,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/posts\/1402\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=\/wp\/v2\/media\/3851"}],"wp:attachment":[{"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quantum-bits.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}