Sunday, February 19, 2012

Lagarto connects SWAP networks to the IP world

Whilst beta-tests follow their own progresses, I've been working on a piece of software that will be the master key for bringing panStamps to the IP world. Lagarto is a lightweight software solution designed to run in low-power computer platforms like PlugComputers and RaspberryPI's.

Figure 1: Lagarto logo

This solution introduces a simple but powerful architecture where no central process is needed. Just servers and clients run autonomously whilst communicating among them via simple cross-platform mechanisms:
  • HTTP GET/POST for reading and writing physical values
  • ZeroMQ for notifying events occurred from the physical networks
Lagarto is a multi-process platform. This platform consists of one or multiple Lagarto servers and none, one or multiple Lagarto clients. Lagarto servers provide their own embedded web server (WSGI) so that configuration and basic control/monitoring of the physical networks can be accomplished via Web and HTTP GET/POST requests. No need to pass through a different service or process to do the basic stuff.
Figure 2: Lagarto basic architecture

Lagarto introduces a simple JSON-based protocol, used in both HTTP and ZeroMQ communication channels. Since ZeroMQ and HTTP are multi-platform, Lagarto servers and clients can be developed using almost any programming language, on any OS. At the moment of writing this blog entry, only a Lagarto server has been developed. It's obviously Lagarto-SWAP, the process charged to interface SWAP networks (and hence panStamps) with future Lagarto clients. For the moment, Lagarto-SWAP provides a nice way to read and write SWAP values from any HTTP client- I'll try to describe some examples about possible HTTP integrations of Lagarto-SWAP with third-party applications in future posts.

And finally, some screenshots:

Figure 3: Lagarto-SWAP general settings page


Figure 4: Lagarto-SWAP endpoint panel

No comments:

Post a Comment