Source

The whole project source-code is currently hosted on GitHub:

https://github.com/mirko/switchsmart

The low-level parts (kernel modules / drivers, library, applications) - see SwitchSmart model for reference - are written in plain C. There are XML-RPC / JSON-RPC applications, exposing respective network interfaces, which then can be used by every single platform / language supporting those protocols.

For available (graphical) user interfaces please refer to UIs.

The repository's structure is as follows:


 * drvs: contains the drivers for radio hardware
 * HopeRF rfm12 - currently that's the only supported hardware. It has an SPI interface so communication between board and module happens via SPI. Since most boards don't have a native SPI interface GPIOs are used to emulate the SPI protocol (SPI via GPIO bitbanging).
 * patches: contains kernel platform patches to basically mis-use GPIOs to emulate an SPI bus
 * lib: the library containing the actual information about to be controlled devices
 * app: mostly test applications directly linked against library
 * uis: User interfaces - most of them use the XMl-RPC service