Re: framework for self-starting ham application images on Raspberry pi



It sounds like a pretty good idea.  One thing we are doing at NW Digital Radio is implementing command, control, and monitoring using websocket technology, specifically using node.js to provide asynchronous services.

Almost every application has configuration and monitoring requirements. The web browser is the universal GUI agent.  The problem, in the past, has been having real-time, 2-way interaction with the backend without the submit/refresh paradigm.  Websockets provides a way to take advantage of the ubiquity of web browsers to configure, control, and monitor your headless appliance.

Seed information in a FAT partition makes sense (e.g. what IP address to come up on, etc.), but more complex configuration and monitoring via the web, would make such appliances much more friendly.

John D. Hays
PO Box 1223, Edmonds, WA 98020-1223 

On Mon, May 13, 2013 at 2:54 PM, Kristoff Bonne <kristoff@...> wrote:


I am now working on the "build your own echolink node with a raspberry
pi" project.
The final goal would be to come to a system that is as easy as possible
to use. Something as simple as "insert a SD card in the Raspberry pi,
connect the cables, boot and go".

But, I guess this would not only be usefull for my project. In fact,
this probably applies to all "headless" applications (i.e. applications
that do not need user input/output via keyboard or screen) and quite a
number of the ham-projects are like that: D-STAR repeaters/hotspots,
APRS nodes, WSPR listeners, repeater controllers, APRS weather stations,
c2gmsk modem, etc.
In all these cases, we just need a radio, some butons, (in some cases)
an IP connection (read: ethernet) and ... a configuration file for the
application; but no screen or keyboard.

So, would it not be usefull to create a generic framework for this, or
an overall document that describes how to build such a setup? This could
be usefull for a lot of different projects.

My idea would be this:
- a SD card with three partitions: the two normal partitions (boot +
system) and an additional FAT partition.
- the addition partition would contain the configuration files for the
application involved and (perhaps) some system configurations.
- The diskimage can be directly copied to a SD card (as you would do to
install raspbian).
- The user would then just need to modify the files on the extra
partition. As it FAT formatted, it can be read on any computer that has
a SD card reader (even windows. :-) )
- Then, insert the SDcard in the pi and boot it. A startup application
will read and/or copy the configuration files from the FAT partition to
the system disk, do some preconfiguration work and then the pi can start
doing its thing.

I guess this would be a setup that is pretty generic for a lot of
different applications.

Concerning the preconfiguration scripts, most of them would be pretty
specific for the application, but there are some that might be generic
and reusable. (I'm thinking of scripts to configure a fixed ip-address
on a pi; which is pretty important if you have an application that
depends on portforwarding on the router).

Any ideas of comments? Is there who already has experience with this?
Any pointers to existing documentation on how to do this?

kristoff - ON1ARF

Join to automatically receive all group messages.