Our cybernetic automation approach also involves hierarchical distributed processing. It is distributed because many controllers with dedicated tasks all participate. It is hierarchical because like any orchestrated activity, it makes better music when a conductor can take the lead. More accurately (much like a concert where an orchestra conductor is the overseer but the accompanying choir may have its own director), our controller organization is quasi-hierarchical, in that many decisions can be made and executed at one of the middle levels without needing the involvement of a top-level overseer. Hang in there; it isn't as authoritarian as this may sound.
The lowest tier in this hierarchy is the grunt level, where sensors get coaxed into reporting what they know and where effectors get told what to do.
Some of this happens through protocols that our Raspberry Pi 3 Model B single-board computers can't directly support, but most of it happens through direct wires-to-pins (referring here to the General-Purpose Input-Output bus, or GPIO for short). Consider those at or near the point of use to be our front-line troops, a widespread population but the bottom level of a hierarchical view.
All of the controllers at the middle levels are Raspberry Pi 3 Model B, and are located in our control rack.
Some of these have specific assignments; for example, when the main control intranet needs to get information from the outside WAN, one Pi on the Controller intranet is dedicated to communicating with one companion Pi on the Drawbridge intranet through a special kind of “tunnel” that can exchange information but cannot provide direct network access between them. One is dedicated to making voice telephone calls to first responders in case of emergency. One is responsible for maintaining a map of warm body locations against the floor plan. There are many more examples of these functional assignments among the Pi stacks in our control rack.
Blue Iris NVR software on a Core i7 64-bit system running windows provides more than just network video recording services for the cameras on our Surveillance intranet. It also provides alerts to motion within the camera frames, positional data and other useful information. This PC is the only controller in the system that connects to both the Surveillance intranet and the Controller intranet (and neither connects to the WAN). We can derive the position of objects in the yard by analyzing their pixel positions in multiple fixed-position cameras and use that data when directing responses. This connection also allows incorporating video images into our logo-recognition and license plate OCR artificial intelligence tasks.
Similarly, the MySQL relational database server is a server-room-class rack-mounted computer with an emphasis on continuous, failsafe operation. It runs on a Red Hat Linux distribution.
The top level processors - also Raspberry Pi 3 Model B - could never their its work if not for the information crunching happening at the lower and middle levels. This is where the house recognizes the needs of its occupants and of the structure and adapts to meet those needs.
This is the level that checks on the health of all the other controllers and reassigns their duties to hot-spare Pi stack boards or, in any case, sends a message to the homeowner that both identifies the problem and describes how to address it. This is the level that distributes programming updates to the other boards, when necessary. This is the level where optimization, adaptation and learning can happen.
So the top level is where the system gains its greatest opportunity to evolve. Middle levels, in a sense, know more than they think they do, and relationships among clusters of information can, through human insight, suggest new ways for the top level to work intelligently on our behalf.
© Copyright 2016, 2017 and 2018 Newstips, Lord Martin Winston and J2J Corporation; all rights reserved
This site needs a larger screen and is not optimized for phone or tablet viewing