doc/bms-ch2.sgml

Mon, 18 May 2020 11:00:59 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 18 May 2020 11:00:59 +0200
changeset 679
48f8f3fce7c0
parent 0
033898178630
permissions
-rw-r--r--

Added reconnecting-websocket.js to automatic reconnect the websocket if the connection is lost. Usefull for mobile devices that go to sleep after a while. Changed mon_fermenters to use websockets instead of polling. Fixed wrong temperature color ranges on the fermenter monior. Increased the websocket receive buffer to 2048. In cannot overflow, but larger messages are chunked and the application does not handle these split messages. Needs termferm 0.9.9 or newer.

<!-- 
  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