Mqtt con Beaglebone ed Esp8266-Architettura

In questa serie di articoli trattiamo come impostare un message broker mqtt sul Beaglebone Black che permetta di gestire vari dispositivi esp8266, collegati a loro volta a sonde di temperatura, relays.

Il tutto viene gestito con l’ausilio di app su smartphone Android e Dashboard installata su Apache sul Beaglebone.

Partiamo dal message broker  MQTT (Message Queue Telemetry Transport); qui vi è la descrizione del protocollo

MQTT

In particolare nella sezione FAQ vi sono le prime indicazioni sul protocollo e suo utilizzo

MQTT Faq

Il sistema è formato da tre componenti:

  • Mqtt Broker: ruota i messaggi pubblicati a tutti i sottoscrittori.
  • Publisher: Pubblica i messaggi nel topic  sul Mqtt Broker.
  • Subscriber: Riceve i messaggi sui topic su cui è sottoscritto dal Mqtt Broker.

Di seguito mostriamo la topologia per due topic utilizzata nel nostro esempio

archIl sistema è costituito da un server MQTT broker sul Beaglebone. In questo server MQTT broker si possono definire dei topics a cui si possono registrare vari client. Per ciascun topic l’azione può essere di sottoscrizione e di pubblicazione. Con la sottoscrizione si ricevono tutti i messaggi del topics, mentre con la pubblicazione si possono eseguire delle azioni sul topic (ad esempio accendi un  relé, riavvia un dispositivo, inviare la misura del sensore, ecc). Nel caso in esame vi sarà, ad esempio, una coda per il monitor delle temperature, agganciata al client esp8266 di lettura temperatura, un’altra per la gestione di un relay, sempre gestito con esp8266. Il server MQTT broker provvede ad ruotare i messaggi ricevuti fra tutti i client sottoscrittori/publisher per ciascun topic.

Ai topic sul broker mqtt ci si accede con app android mediante le quali si interagisce oltre che per la ricezione dei messaggi anche mediante la pubblicazione di comandi  verso i client esp8266 (Accendi Relay, Riavvia Sensore, ecc).

Con il framework javascript Freeboard

Freeboard

installato su Apache del Beablebone si accede ad una dashboard per il monitor dei dispositivi in tempo reale.

Per ulteriori informazioni sul sistema MQTT fare riferimento al sito indicato sopra.

Nel prossimo articolo si parte dalla installazione del server MQTT sul Beaglebone Black

Mqtt con Beaglebone ed ESP8266 – Installazione mosquitto su Beaglebone