github.com/binkynet/BinkyNet@v1.12.1-0.20240421190447-da4e34c20be0/README.md (about) 1 # BinkyNet 2 3 BinkyNet is a specification for a network architecture used to control model trains. 4 5 The goals of this network architecture are: 6 7 - Knowledge of network layout & users is centralized. 8 - Highly reliable 9 - Faster than existing train networks such a LocoNet 10 - Easy to diagnose 11 12 ## Introduction 13 14 BinkyNet consists of 3 major types of entities: 15 16 - The network master. This is a centralized unit that has all the knowledge of 17 the layout & users of the network. Practically speaking this is one (or more) computers 18 that control the operations of everything on the track (trains, switches, lighting...). 19 - The local worker. This is a unit that is positioned on a specific part of the track (typically 1 per module) 20 and has the "brains" to control local slaves. 21 This unit receives high level instructions from a network master and translates that to low level instructions 22 for local slaves. 23 - The local slave. This is a unit with very little intelligence and it typically only capable of performing a single function. 24 An example of a local slave is an I/O unit that drivers a number of lights or receives bit values from objects 25 on the track. 26 27 These 3 entities are organized as a tree, with one or more network masters as root. 28 29 ## Network technologies & protocols 30 31 BinkyNet uses existing & well proven network technologies whereever possible. 32 33 ### Network master - local worker 34 35 The network master(s) and local workers are connected using a standard (100Mb+) wired ethernet, configured 36 such that the network master and local workers under its control all share the same subnet. 37 38 The network master(s) and local workers exchange information (instructions & data) using the MQTT protocol. 39 The MQTT protocol provides various levels of quality of service, used to garantee delivery of messages. 40 41 Messages can be initiated by both the network master as well as the local worker, allthough the local worker will 42 only initiate messages after an initial setup by the network master. 43 44 ### Local worker - local slave 45 46 A local worker is connected to its local slaves using a buffered I2C connection. 47 The additional buffering is done to allow for a cable length above 1 meter (up to 10 meter). 48 49 The local worker and local slaves exchange information that all specific to the implementation of the local slave.