Raspberry Pi
GRASS on the Raspberry Pi
The Raspberry_Pi is a small computer about the size of a deck of cards. It runs on a low power ARM processor similar to one used in a smart phone or tablet. Technically it's a ARM v6 SoC chip originally designed for use in a set-top TV box, meaning the general purpose CPU is rather slow, but it can handle full screen 1080p graphics without problems. It is designed for tinkering and is very cheap: US$25-35 depending on the model.
The Pi runs Linux and a popular distribution for it is Raspian, a rebuild of Debian testing which supplies builds for ARM v4 and ARM v7 but not the v6. Running the official Debian build for v4 will work, but not take full advantage of the chip.
Installing
Since GRASS is a standard package in Debian, installation on a running Pi system is very easy. At a terminal prompt, become root, then:
apt-get install grass grass-doc grass-dev
This will also bring in all of the user documentation and the development environment needed to install GRASS AddOns.
GRASS will work fine on very slow hardware with limited RAM, especially for raster maps. It was after all originally designed in the 1980s when computers were much less capable than they are today. To keep RAM use low keep you region rows x columns small, and vector features to a minimum. Typical use with the older (and smaller) Spearfish dataset should work very smoothly.
Compiling
If you are interested in working on GRASS development or trying out experimental features in GRASS 7, Yann Chemin has put together some instructions on how to compile GRASS 7 on the RPi. This was done on an older Model B unit with 256MB RAM; newer revisions of the board
Field deployment
Since the RPi Model B rev2 only uses 3 watts of power, and due to its small footprint, low cost & easy drop-in replacability, it's ideal for use as a field datalogger run from a battery in harsh environments where you'd be loathe to leave an expensive laptop. Since it uses a standard Linux toolchain with 30000 prebuilt packages, and encourages Python as a primary programming language, it is easy for anyone with general UNIX experience to set up without specialist skills working with exotic embedded hardware and a wealth of help is available on the Internet.
Connecting with a GPS
Software
Install the gpsd Raspian package. This can also feed time into ntpd, the standard UNIX time keeping deamon; this can be important as the RPi does not have a built in real time clock. (see RPi forums for how to connect one via the GPIO pins)
Hardware
You can plug in a RS-232 or TTL level serial connection to the GPIO dual-inline header pin block on the board.
You can plug a GPS which communicates via USB directly into one of the RPi's USB ports, but if the GPS uses the USB port for more than just communication (i.e. to power or recharge it) you'll want to use a powered USB hub.
Using as an automated datalogger
You can use the RPi connected to monitoring devices to automatically poll and collect data via the GPIO pins on a regular schedule via standed UNIX cron jobs.
GRASS can be run non-interactively in text mode, without the GUI (see GRASS Batch Jobs), and so beyond a simple datalogger your remote RPi can perform full data processing, creation of finished real-time maps and data plots, and serve via FTP or a web page running in the background. A USB WiFi dongle or packet modem can be connected to either push the data back to your home base, or stay online ready for queries.
To save power, pair with an Arduino board with a timer on it if you wish to save power by having the system boot, perform a measurement, and send off the results, before shutting itself back down for another hour of μ-amp sleep. In this way a small solar panel and a 6v or 12v sealed lead-acid battery can keep the unit running indefinetly.
Using as a field entry device
It will work, but maybe the task is more suited for a jailbroken Android Tablet dual-booting into Linux? See also the Android build of gvSIG mini, another OSGeo project.
- See this blog post for instructions on using a daylight readable e-Ink display (the Kindle) as a small monitor.
See also
Old screenshots of portable GRASS