Coder Social home page Coder Social logo

cacheberry-pi's Introduction

Cacheberry-Pi

Cacheberry Pi is a geocaching assistant built upon the Raspberry Pi platform.

It's intended to be a permanent fixture in the car and alert you of nearby caches (when stopped) or along your route (when driving). The intent is not to replace your handheld GPSr but to complement it.

See an overview Video on YouTube or view the project homepage.

The information that follows is for the Cacheberry Pi as built by Steve Whitcher. The hardware in this version is somewhat different from the original, including a serial connected GPS and a different i2c backpack on the LCD. The code has also been modified to localize the time, speed, and distances displayed on the LCD.

Features

  • Smart Search: depending on speed and direction of travel
  • Ability to maintain a database of 20k+ geocaches
  • Easy syncing of cache lists with GSAK via thumb drive
  • Automatic tracklog recording and syncing with thumb drive
  • Easy customization of settings in the 'cacheberrypi.cfg' file.

Hardware

Software Requirements


Setup Instructions

Prerequisites

Install required packages from APT###

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install autofs lcdproc python-pyspatialite sqlite3 gpsd vim-nox gpsd-clients screen python-dev i2c-tools python-smbus git

###Install RPi.GPIO and LCDProc python libraries###

$ cd /usr/src
$ sudo wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.4.1a.tar.gz#md5=9acdb66290350aaa74b99de859ded153
$ sudo tar -xvf RPi.GPIO-0.4.1a.tar.gz
$ cd RPi.GPIO-0.4.1a/
$ sudo python setup.py install
$ cd /usr/src
$ sudo wget http://pypi.python.org/packages/source/l/lcdproc/lcdproc-0.03.tar.gz#md5=177328fd30c973151b5e75f9c1b992c7
$ sudo tar -xzf lcdproc-0.03.tar.gz
$ cd lcdproc-0.03/
$ sudo python setup.py install

Download CacheberryPi Software

###Clone the CacheberryPi repository to your "pi" user's home folder###

$ cd ~
$ git clone https://github.com/Aurock/Cacheberry-Pi.git

Configuration

###Install the ifup script so we can see network configuration on the LCD###

$ cd ~/Cacheberry-Pi/util
$ sudo cp ifup-lcdproc /etc/network/if-up.d
$ sudo chmod 755 /etc/network/if-up.d/ifup-lcdproc

###Install lcdproc configuration files and LCD driver###

$ cd ~/Cacheberry-Pi/misc
$ sudo cp LCDd.conf /etc
$ sudo cp hd44780-i2c/hd44780.so /usr/lib/lcdproc/

###Setup udev to make GPS devices world write/readable###

$ cd ~/Cacheberry-Pi/misc
$ sudo cp 70-persistent-net.rules  /etc/udev/rules.d/

###Edit 2 files to enable i2c###

*In /etc/modprobe.d/raspi-blacklist.conf Add a # before the line "blacklist i2c-bcm2708". *Add the following 2 lines in /etc/modules

i2c-dev
i2c-bcm2708

###Run the gpsd reconfiguration wizard###

$ sudo dpkg-reconfigure

Accept the default choices in the wizard except for the 'device the GPS receiver is connected to.' Change that setting to "/dev/ttyAMA0"

###Set CacheberryPi to run on startup### Edit /etc/rc.local to add the following before "exit 0"

nohup /home/pi/Cacheberry-Pi/start &

###Configure autofs for update functionality###

$ cd ~/Cacheberry-Pi/misc
$ cp auto.removable /etc
$ cp auto.master /etc

###Change host name### Edit /etc/hosts and /etc/hostname, replacing "raspberrypi" with "cacheberrypi".

Loading Geocaches

Using the program "Geocaching Swiss Army Knife" (GSAK for short), export the geocache data to a file in Microsoft Streets & Trips format. Save the file on a usb drive, as "\cacheberrypi\nav.csv". Insert the flash drive into the usb port on the Cacheberry Pi, and watch the LCD as the cache data is transferred from the USB drive.

Export options & Geocache Display

When exporting the data from GSAK, the cache description, waypoint name, and URL link format can be modified. Customize the data exported in these fields using GSAK's "Special Tags".

When the Cacheberry Pi has found a nearby cache, the left side of the LCD will show the "cache description" on the top line, and the "URL Link" on the bottom. I recommend setting the fields as follows when exporting from GSAK:

* Waypoint Name = "%code"
* URL Link = "%Caches_FavPoints (%Dif/%Ter)"
* Cache Description Format = "%Name by %By"

Note: While the Cache description and URL Link can be set he Waypoint Name field MUST be %code.

cacheberry-pi's People

Contributors

jclement avatar neighborgeek avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.