Friday, February 18, 2011

Google Latitude support on

It's now possible to upload your position to from Google Latitude. Latitude, in turn, supports uploading position from a large number of mobile devices (Android, iPhone, Blackberry, Nokia/Symbian, Windows Mobile) using Google's Maps and Latitude applications.

See the user guide section on Google Latitude support for instructions.

If you don't see your position immediately on, please wait for a few minutes, and check if Google Latitude has your position on it's own web site. If it isn't shown there, the problem lies with your mobile application's configuration or lack of accurate position information on the phone. currently rejects positions with an accuracy that is worse than 4000 meters.

The web stations page in the user guide is a new thing, too. In addition to Latitude support, it documents the manual updating (point-and-click) and Geolocation API (web browser with GPS support on a mobile device) methods for position updating.

Feedback welcome, as usual!

Wednesday, February 16, 2011

POCSAG encoder and Arduino modem published

Last spring I wrote a bit about our POCSAG paging network project, and published a Youtube video showing a 200W POCSAG transmitter being driven by my POCSAG encoder and an Arduino-based modem.

Well, I finally got around to documenting and publishing the code a couple weeks ago, open source. The answers to the FAQs are:
  1. I've run it on Linux and Mac OS X only, but it should run on any operating system with a Perl interpreter, including Windows, maybe. But I can't help you if it doesn't run on Windows - please find someone with Windows programming experience if you run into trouble.
  2. The POCSAG message encoding happens within the POCSAG::Encode Perl module. On the computer. Not within the Arduino modem. The Arduino modem software is not useful on it's own, the perl code is required to send POCSAG messages.
  3. The Arduino modem is needed because (1) my computers don't have serial ports any more, and (2) bit-banging synchronous 512/1200/2400 bit/s FSK using handshaking pins of a serial/parallel port, like the Baycoms did, is not possible using an USB serial adapter cable (the timing is too strict). The Arduino is a convenient and relatively low-cost platform with a good bunch of TTL level I/O pins and an USB port, and could be easily programmmed to drive the transmitter. If you wish, you can write a kernel driver to drive the FSK bits generated by the encoder, baycom-style, on a serial port (if you have one) and skip the Arduino part.
  4. If you feel the Arduino Duemilanove/Uno boards are too expensive, you can look at the other boards too. Just get one with enough SRAM. If you're brave, you can also put the CPU and a few necessary components on a breadboard or a custom printed board of your own. Instructions here and here and here.
  5. The POCSAG::Encode module is published on the CPAN, and the Arduino modem on the wiki.
  6. Yes, the POCSAG encoder can be connected to any VHF/UHF radio which has a suitable FSK input. Many radios (including some that do have a 9600 bit/s data input) aren't up to the task. I've tried the Motorola GM340 and the Teknomen POCSAG radio only. The GM340 needed some configuration (using the programming software) to make the data input work the way it should for this application. See the comments on the previous post for wiring tips.
  7. Yes, the POCSAG::Encode perl module should be useful when trying to transmit POCSAG with other kinds of modems.
Happy hacking!