ows collector

What is it?

This program was initially designed to collect WiFi data for the OpenWLANMap initiative.

OWS collector is a small program which automatically scans for wifi access points in the neighbourhood and then combined with the current GPS location, this data is stored in an sqlite3 database.

Then later on you can convert this database into a format which you can upload at www.openwlanmap.org.

This program was designed to run on a raspberry pi (it will e.g. blink the led when it receives a GPS fix) but it will run fine on other Linux hardware as well (as long as it has a WiFi and GPS device). The program does not need a display or keyboard to run: starting it in a "GNU screen"-session works fine.


Latest release:ows-0.3.tgz

Using it

In the following fotograph you see a raspberry pi with a wifi-dongle and gps attached to it. Any wifi stick will work as long as it is supported by Linux.

The program is then started from /etc/rc.local as follows:

/usr/bin/screen -d -m -S 'owsc' /usr/local/bin/owsc.sh

The /usr/local/bin/owsc.sh script looks like this:

#! /bin/sh

# this loop is required as anything connected to usb on a
# raspberry pi behaves a bit flaky
while true
	/sbin/ifconfig wlan0 up

	/usr/local/bin/ows-collector -w wlan0 -g /dev/ttyUSB0 -d /root/wifi-data.db -l /var/log/ows.log

	sleep 1

Then connected the device to a battery and starting cycling through your neighbourhood! When you get home, connect the raspberry pi to ethernet, retrieve the /root/wifi-data.db data and do a clean shutdown.

The /root/wifi-data.db file can then be processed (see included readme.txt) and uploaded to the OpenWLANMap website.

Example result at OpenWLANMap:


0.3:can now set local clock by gps reading / can now use a LCD / added OpenWLANMap uploader script / fix for signal strength evaluation / added conversion script for Google Maps ".kml"-output
0.2:prevent busy (100% cpu) loop
0.1:initial release