« THAT Overview »
Modules and System Interaction:
THAT System is defined to be used in (but not limited to) two (2) basic system configurations: minimalistic and comprehensive. The minimalistic configuration describes a "system" consisting of only a couple THAT modules. These modules operate essentially as "stand-alone" devices, with little or no communication between modules.
The comprehensive configuration describes a system consisting of a few to many modules, with a "master" computer. In this system the computer is the master arbitrator of the system, using information from some modules to dictate the behavior of other modules. The computer shall run comprehensive control software writing in Python or similar cross-platform compatible software. Should the computer fail or otherwise disappear from the network, certain modules controlling critical systems shall revert to self-contained, "fail-safe" modes.
Possible modules to be designed for THAT System are listed and shown in the figure below. THAT System will, however, work with many different modules above and beyond those listed due to its modular, open-ended design.
Overall Design Goals:
Hardware Requirements:
[1] The presence of the PoE power supply, shall take precedence over (and disable) the sourcing of any power from the secondary power supply, such as that from a "wall-wart" or other point-of-use supply.
Communication Requirements:
[2] Initial THAT modules shall support IP, version 4. While modules can support IP, version 6, this support is not required for THAT conformance.
[3] All modules shall default to being servers on the network, listening on port 8428. Modules are allowed to optionally be set to communicate as clients and/or using other TCP ports. However, such behavior shall never be the default mode of operation.
[4] A "master" control software suite is planned for THAT system. The software shall be written using the Python programming language and should act as a client on the network to send and receive data with as many modules as necessary. Additionally, the software will provide more robust control of THAT system through its position as a "master" data controller.