Raspberry Pi

I’ve been playing for a long time to get my hands dirty with Raspberry Pi to gain some new nerd karma. Soon the kids will be old enough to test out their own geek powers, so maybe this will be a hook to get them away from wanting to play on the iPad to trying to create something themselves. So I finally pulled the trigger and ordered myself some goodies:

  • Raspberry Pi 3 with
    • SoC: Broadcom BCM2837
    • CPU: 4× ARM Cortex-A53, 1.2GHz
    • GPU: Broadcom VideoCore IV
    • RAM: 1GB LPDDR2 (900 MHz)
    • Networking: 10/100 Ethernet, 2.4GHz 802.11n wireless
    • Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
    • Storage: 8 GB microSD (Class 10) with NOOBS pre-installed
    • GPIO: 40-pin header, populated
    • Ports: HDMI, 3.5mm analogue audio-video jack, 4× USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)
  • Navilock NL-8002U USB GPS receiver (u-blox 8 UBX-M8030-KT chipset)
  • S.USV Pi advanced (UPS)

So, with a Raspberry Pi, a GPS antenna, and a UPS, I should have everything I need to build an in-car GPS logger for my first project that should have the following features:

  • properly start/shutdown the Raspberry when the car ignition is turned on/off
    • this is why I need the S.USV
  • gracefully start/stop GPS logging when the Raspberry boots up or shuts down
    • GPSBabel should help me getting that done
  • a web user interface for
    • displaying current GPS data
    • setting waypoints for the current location
    • showing all waypoints and tracks on a map
    • filtering waypoints/tracks for a given time period
    • uploading waypoints/tracks based on that filter to this blog

The web interface I will write myself, most likely using Dropwizard + SQLite for the service layer and backend and Durandal for the UI. Visualizing the waypoints/tracks on a map will be a bit trickier, but I am sure it can be done. The other problem I will need to solve is actually connecting to the Raspberry Pi from an iPad in the car. Ideally, this will be wireless, probably by making the Raspberry Pi a Wifi access point. For uploading the waypoints/tracks to this blog I will need internet access, probably via a personal hotspot on my iPhone.