Quick system outline

A quick outline of the system.

The system I’m building will be used to automate several tasks in my room. It will consist of a number of modules, all connected to each other over a RS485-based communication bus.

Modules communicate with each other using mainly events and actions. A module generates an event when something happens (eg. a button is pressed or someone enters the room). Using actions, one module can make another module perform a certain task (eg. turning on the light or activating a fully automated sentry gun to get rid of the intruder).

In my particular implementation, there is only one module that can send actions: the room master. Whenever a module somewhere in the room registers an event, it sends the event over the bus to the room master. The room master contains a configurable list of event-action bindings. As soon as the master receives an event, it searches this list for matching actions and sends these to the appropriate modules. So every module contains a fixed number of events and actions that it can perform and these can all be linked together using the room master.

This is only a very general outline of the system; more will follow.

Leave a comment