Saturday, January 16, 2010

Project Panda

I have released Mellow Panda on SourceForge.

Mellow Panda is a collection of applications which control radio receivers ("scanners") from LINUX via their RS-232/USB interfaces.

Mellow Panda deploys as a daemon (pandad) and specialized clients. pandad is a generic gateway which exposes a TCP stream socket to accept client requests which are relayed to the radios via RS-232/USB. The response returns via the reciprocal path.

pandad is generic and does not interpret the radio commands. Each radio model potentially has a different command set and this specialized knowledge is provided by the client. pandad can simultaneously support multiple radios, each a different model. I routinely drive a Icom PCR-1000, BC-780-XLT and a PRO-2052 all using the same instance of pandad (but each w/a dedicated client).

A twist to this problem is that many models have an asynchronous messaging capability, i.e. the Uniden Bearcat radios will send a message when squelch breaks or trunk id. The Icom PCR-1000 family has a "bandscan" feature which can be used to produce a spectral graph. Each active radio has a UDP socket which broadcasts all traffic generated by the radio. Clients can issue requests via the TCP socket and accept the response either via TCP or get all messages via UDP.

The panda protocol is a simple ASCII string. Even a telnet client is sufficient (I used a telnet client in the early stages for testing).

Communication via a socket has all the usual benefits, sharing a scarce resource and flexibility. Clients can be implemented using any platform or language which is convenient. The pandad distribution has a command line client implemented in C which is useful for development/test and simple scripts.

Other clients will follow as I get them ready to share. pandapy (python) is almost ready along w/pandaj (Java Swing) and pandalet (Tomcat Servlet). You are welcome to contribute additional clients to the project.

Mellow Panda is part of Project Mellow which I am releasing as time permits.

No comments:

Post a Comment