doc/bms-ch2.sgml

Fri, 22 Jul 2022 12:15:05 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 22 Jul 2022 12:15:05 +0200
changeset 799
cf145b35d65f
parent 0
033898178630
permissions
-rw-r--r--

Version 0.3.41. Use INSERT IGNORE .. for insert log messages from fermenters, co2meters and ispindels. Connect to MySQL servers with MYSQL_OPT_RECONNECT instead of manual working around the connection lost problem if a mysql server is restarted. Removed unused bms_mysql_ping function.

<!-- 
  vim:syntax=docbksgml
-->

<chapter id="design">
<title>Architectuur.</title>
<para>
Het Brouwerij Management Systeem, afgekort <command>bms</command>, is een applicatie
server die luistert naar MQTT berichten in de <command>mbv1.0</command> basis van het
topic. Zie de <ulink url="https://en.wikipedia.org/wiki/MQTT">MQTT wiki</ulink> voor
meer informatie over het MQTT protocol.
</para>

<para>
Als bron dienen onder andere vergistings controllers. Deze sturen MQTT berichten naar
de MQTT server. Deze berichten komen dan in het bms systeem terecht die ze verwerkt.
De controllers hoeven niet eerst bekend gemaakt te worden, het protocol is zo ontworpen
dan controllers zichzelf aankondigen en opgenomen worden in de brouwerij. Dit gebeurt door
het sturen van 'node' berichten. Ongeacht de functie van een controller, iedere controller
stuurt 'node' berichten. Verder stuurt een vergisting controller een of meer
gistkasten. Voer iedere kast worden er 'device' berichten gestuurd.
</para>

<figure><title>BMS architectuur,</title>
<mediaobject id="bms-flow-config">
<imageobject>
<imagedata fileref="bms-flow.png" scale="80" format="png">
</imageobject>
</mediaobject>
</figure>

<para>
Vanuit de bms applicatie kunnen er via de MQTT server ook commando's naar de controllers worden
gestuurd. Van een vergisting kast kan bijvoorbeeld de temperatuur ingesteld worden, of kan
de controller aan of uit gezet worden.
</para>

</chapter>

mercurial