broker:grundlagen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
broker:grundlagen [2021/08/09 11:18] – Michael | broker:grundlagen [2021/08/09 17:14] (aktuell) – [Broker-Family (netBiDiB clients)] Michael | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== BiDiB-Broker - Grundlagen | + | ====== BiDiB-Broker |
+ | BiDiB-Broker and Broker-Family are Java applications to communicate via netBiDiB-protocol with the BiDiBus and netBiDiB-Clients as well as REST-Clients. | ||
+ | |||
+ | ===== Languages and Tools used ===== | ||
+ | * **Java** * **SpringBoot** * **JavaScript** * **Bootstrap** * **GiT** | ||
+ | You can use it on ' | ||
+ | |||
+ | ===== BiDiB-Broker (netBiDiB server) ===== | ||
+ | Broker connects you on one side to a BiDiBus-System via serial connection directly or USB. On the other side Broker supports a Ethernet TCP/IP connector with the netBiDiB-protocol. | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Continue documentation to run with Broker... | ||
+ | </ | ||
+ | |||
+ | ===== Broker-Family (netBiDiB clients) ===== | ||
+ | Broker-Family is a small framework for netBiDiB clients. It also includes **REST-clients** to communicate with netBiDiB-server e.g. BiDiB-Broker. With date 2021-08-01 there are three clients: | ||
+ | * **Registrar** regists the (single) pairing process | ||
+ | * **Harvester** harvests the NodeTable of BiDiBus | ||
+ | * **Barker** barks the Feature and ConfigX of a node | ||
+ | These REST-clients base on Broker-Family framework. | ||
+ | |||
+ | ==== Basics ==== | ||
+ | * The project collaborates on [BiDiB-](http:// | ||
+ | * Executable files of the project are available at [on BiDiB Wiki](https:// | ||
+ | * You can reach me on OpenDCC-Forum: | ||
+ | * **Run Broker and his family** | ||
+ | |||
+ | ==== Show paired clients ==== | ||
+ | === Example - Connected to Broker === | ||
+ | * http:// | ||
+ | |||
+ | Example - dislay result: | ||
+ | {{: | ||
+ | |||
+ | ==== Pairing of client ==== | ||
+ | === Example - input (min, typ, max) === | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | === Output - JSON/raw result === | ||
+ | {{: | ||
+ | '' | ||
+ | |||
+ | ==== NodeTab of BiDiBus ==== | ||
+ | === Example - input (min, typ, restricted, max) === | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | === Output - JSON/raw result === | ||
+ | {{: | ||
+ | '' | ||
+ | " | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | |||
+ | |||
+ | ==== Feature and ConfigX of a node ==== | ||
+ | === Example - input (min, typ, max) === | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | === Output - JSON/raw result (shortend) === | ||
+ | {{: | ||
+ | '' | ||
+ | " | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | ... | ||
+ | {" | ||
+ | {" | ||
+ | configXen": | ||
+ | {" | ||
+ | {" | ||
+ | {" | ||
+ | ... | ||
+ | {" | ||
+ | {" | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | **Note**: Examples are inputs via browser. CLI is similar, e.g.: | ||
+ | |curl -X " | ||
+ | or including HTTP-Status, | ||
+ | |curl -v " | ||
+ | </ | ||
+ | |||
+ | ==== Preparation to build ==== | ||
+ | Java 17 (at least Java 16) and a working Maven 3 installation are required. | ||
+ | An ***BiDiB-Broker*** should run, preferably on the same machine. | ||
+ | |||
+ | ==== Build ==== | ||
+ | Run the maven build in the *bidib-broker-family* directory: 'mvn install' | ||
+ | |||
+ | The installer artifact is located unter *bidib-broker-family/ | ||
+ | |||
+ | === Local testing === | ||
+ | After the maven build has completed successfully the installation is located under *bidib-broker-family/ | ||
+ | |||
+ | Or you can use one of the launch files. | ||
+ | |||
+ | Only if you run the BiDiB-Broker you have to run it with a launch file depending of your operation system. | ||
+ | |||
+ | === Eclipse === | ||
+ | Use latest Eclipse (2021-9 or newer). | ||
+ | |||
+ | Start Eclipse with clean workspace. It is recommended to include the *bidib-broker-family.epf* settings locatetd on ' | ||
+ | |||
+ | === Import project === | ||
+ | The maven installation steps must be executed before importing projects. | ||
+ | |||
+ | Import the maven project: ```File -> Import -> Maven > Existing Maven Projects -> | ||
+ | Root directory > Select the ' | ||
+ | |||
+ | The BiDiB-Broker-Family-Project contains framework classes as well as client classes which use the framework. | ||
+ | |||
+ | These clients can be used as patterns for own netBiDiB-Clients to rise the Broker-Family. | ||
+ | |||
+ | ==== Framework ==== | ||
+ | In addition to the main/parent project: ' | ||
+ | - ' | ||
+ | - ' | ||
+ | |||
+ | The framework has classes to support a REST-API: ' | ||
+ | |||
+ | ==== Clients ==== | ||
+ | Most processing is done in the framework. But the hard work of a client is the configuration of an own ' | ||
- | --- // | ||
- | https:// |
broker/grundlagen.txt · Zuletzt geändert: 2021/08/09 17:14 von Michael