Monday, August 31, 2015

Raspberry Pi Projects

For years, I've been listening to people talk about the projects that they want to use the Raspberry Pi boards for.  I've never really had any good ideas... until now!

Automotive Data-Logger

This would include a dash cam and a reverse cam and would be a fairly involved project.  The RPi is a great candidate for this project because of it's low power requirements, hardware compatibility, and just because it runs Linux and is easy to program for!

What I envision is a fully contained unit that affixes to the ceiling in the cab of my truck up by the rear-view mirror.  It would:

  • House front and rear-facing cameras.  The RPi has a special connector for a specific camera that works well with it, and there's a cable splitter available to enable connecting more than one camera.  Would use this.
  • The Pi board
  • Sensor accessory board (has accelerometers and stuff)
  • Time/clock accessory board - this enables the RPi to keep track of time even when it's powered off, which is apparently an issue since it doesn't have a battery built in. 
  • Bluetooth and 802.11 b/g/n dongles.  It might be reasonable to even use an external monopole antenna mounted atop the truck for better reception. 
  • A notebook HDD
  • USB GPS dongle
  • A backup battery
I'd have to write some software for this one... I'm unsure if I could throw it together in bash or if it would be complicated enough that I'd want to do it in python.  Software Features would include:
  • Event Awareness:
    • Automatic detection of car starting to trigger logging. 
    • Detection of poweroff to end logging
    • Sudden stops trigger additional logging? 
  • Logging while vehicle is on:
    • Front and rear video
    • GPS data, as available, but expectedly including position and velocity. 
    • Accelerometer data
    • Log wifi access points observed, signal strength, etc (wardriving)
  • Network Services:
    • Seek out and connect to open wifi networks 
    • Auto-connect to home network and automatically sync logged data over to home server. 
    • Tether from phone for internet - look at usb devices connected and auto-start the tether software when phone connects... could even adb issue command to the phone to start the tether software!
    • Share available network via LAN to other devices in the truck...  For example, if I ever get around to building a Nexus tablet CD Deck replacement, it would provide a network connection to it when available.   

References - there are lots of these builds online:

SDR Radio Server

This is a pretty simple one.  Just install linux to the Pi, install the SDR drivers and software, and configure it for the network.  SDR servers allow clients to connect and control the frequency that the SDR radio listens on and, via the network, listen to the radio.

The SDR receivers a lot of people use are cheap, like $20, and work on all kinds of bands, from HF and shortwave, up through the FM stations, VHF, UHF, and beyond.    They are limited by their inability to filter signals received from the antenna, so powerful FM broadcasts can pollute the rest of the spectrum without filters in front of the receiver.  Of course, having a quality antenna is really important as well.

Ideally, I'd have a random wire antenna set up somewhere on my property, running into a window or something, and the RPi would serve the radio over the local network so i could listen from anywhere at home, w/o a tether.  It'd make it easy to listen to SW broadcasts.