Posts

Dragonboard 410c post install tasks

Now that we have the software all installed, let's actually get mythtv running by setting up our environment: First mythtv backend requires it's own user so let's add it: sudo useradd --system mythtv Now we need to tell mysql about time zones: mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql It is safe to ignore the warnings from not being able to load some zone info tabs. Mythbackend will create our database and upgrade the previous mythconverg db schema to the latest version so let's run it: mythbackend Note that it will auto shutdown and any further attempt to run it will end in an error saying no capture cards are defined in the database. Next it's time for some fun gui ease.  Either connect a keyboard / mouse /monitor and run mythtv-setup from the command line or run it via a remote x screen by clever use of ssh (i.e. something like this: ssh -X linaro@000.000.000.000 /usr/bin/mythtv-setup). Setup your backend for either your cap...

Adding plugins to our Dragonboard mythtv

Welcome to the plugin fun.  This is entirely optional, so feel free to skip it if you don't desire to see all that your new DVR has to offer! Let's start back from the /media/sdcard/mythtv/mythplugins directory. cd /media/sdcard/mythtv/mythplugins Let's run a ./configure command and see what will build and what wont: ./configure The output will help tell you what is missing in your library dependencies for each plugin you want, install what's missing with apt-get install.  Keep at it till you get something you're happy with.  This is what my configure looks like: Configuration settings:         qmake          /usr/bin/qmake         MythArchive    plugin will be built         MythBrowser    plugin will be built         MythGallery    plugin will not be built         MythGame       plugin...

Building a low power mythtv dvr

I recently decided that I needed a better DVR, (Digital Video Recorder) with the purpose of getting better features, use less electricity to do it and provide a platform that can launch all sorts of other projects (home security, home automation, and home AI (Alexa or google assistant style system). Sounds great right?  Well let's get started: The first step in all this is to look at what's already out there that does the work of a DVR to get a minimum viable solution.  MythTV (http://www.mythtv.org) is a stable wonderful system with all sorts of great features.  I've used it in the past with setting up similar projects that involved a desktop tower sized computer box.  However, that's years ago, let's see if we can't use our embedded knowledge to make this more compact, less noisy, and use much less power, without sacrificing features. Other projects have successfully used a raspberry pi  (rpi), however, as even the official blog notes , this backend pract...

Practical Project 1: Magic Mirror Hardware

Returning again to the Magic Mirror, it's time to add more hardware functionality.  Let's give the mirror a camera and a microphone so we can use gestures and voice for input to better control the magic mirror. First some notes about soldering.  What is solder?  Solder is conductive metal that establishes a joint between two electrical devices whereby one gives electrons the ability to travel through the path of least resistance being a path through the solder.  Solder, when hot, turns into a liquid metal that is easy to work with and turns back into solid metal as it quickly cools down.  You can pick up solder along with a soldering station from your local electronics store. Note that Solder does create toxic fumes and should only be worked with in a well ventilated environment.  To create a joint, heat the pad and the wire one wishes to attach to the pad, then introduce the solder to the pad.  The heat will draw the solder into a liquid form on...

Vulkan Part 2

This year's Google IO had a lot of wonderful gems for Embedded Development including a release of the official Vulkan support libraries.  Those libraries require Android N and only on one of three specific devices: Nexus 6p Nexus 5x Nexus Player In order to target the larger market, we're going to continue using Qualcomm's released Vulkan API and enable targeting any Qualcomm Snapdragon 820 or 821 device such as the very popular Samsung Note 5 and Samsung S7.  I'll also make the important note that both of these devices are among the current generation able to work in the Oculus Gear VR device.  That important note opens the intriguing possibility of doing Virtual Reality work in Vulkan to give much needed performance improvements. Now that we have our motivation intact for using Qualcomm's Vulkan API, there is something very useful about Google's Vulkan effort that we can take advantage of the SPIR-V compiler (shaderc) included in the NDK in our projec...

Practical Project 2: Giving sight to the blind appetizer

Practical Project #2 Giving sight to the blind In this project, I’m going to take a project that I’ve already done and already works and transition it to a different platform in a more generic way and take you fine readers along for the ride.  A while ago, I worked with Google on their Giving Through Glass project and one of the projects I worked on was to give sight to the blind.  I worked with Classroom Champions and an amazing Paralympic athlete named Lex.  Lex is a blind long jumper who lives and trains in San Diego.  I’ve worked with him for the last year or so on creating an application for Google Glass that would allow him to hear the world around him via an app that translates the images from the camera into sin wave sounds. As cool as that project is, there’s plenty of people out there that are similarly blind, like Lex.  And it is now impossible to get the same hardware as Google is no longer selling consumer Glass devices.  So I thought it...

Practical Project 1: Magic Mirror Software

It’s finally time to return to the first practical project “Magic Mirror.”  We need to start addressing the software to make it run and do things that would be cool, useful or at the very least give us a way to start being creative with it from the software side. When we last talked about the “Magic Mirror,” we had our 410c sitting pretty in a custom framed case with a 2 way mirror completing the enclosure with Linux happily running on our network.  So many happy memories getting to this point, continuing is a must!  So in this article, let’s start by talking about trying to get something onscreen.  We want to take up the whole screen.  The easiest way to do that is to launch a browser and use it to browse to a custom server running whatever we want to display on screen.  To do that, we can simply setup what’s called a LAMP (Linux Apache Mysql PHP) stack on our 410c sitting in the mirror.  Then, you’d want to set the servers to launch automatically ...