Dopo aver riassunto l’architettura che si sta implementando nel precedente articolo
Mqtt con Beaglecone ed Esp8266-Architettura
Si procede con l’installazione del message broker mqtt sul Beaglebone Black con il sistema mostrato di seguito
1 2 3 4 |
root@beaglebone:~# cat /etc/dogtag BeagleBoard.org Debian Image 2016-11-06 root@beaglebone:~# uname -a Linux beaglebone 4.4.30-ti-r64 #1 SMP Fri Nov 4 21:23:33 UTC 2016 armv7l GNU/Lux |
L’immagine usata è la seguente
Si procede anche alla ulteriori configurazioni già elencate nell’articolo
Preparazione sd card Debian per Beaglebone Black
Procedere ad una estensione dello spazio sulla scheda sd con l’applicazione gparted su host linux o con il tool grow_partition.sh disponibile sul Beaglebone nella cartella /opt/scritpts/tools
1 |
root@beaglebone:/opt/scripts/tools# ./grow_partition.sh |
Nell’eseguire l’upgrade con tale immagine si riscontrano problemi di spazio con la partizione di 4Gb.
Il message broker che si installa è mosquitto
Con la versione presente su Debian Jessie di Mosquitto non si hanno a disposizione i servizi di websockets, che si utilizzeranno successivamente con la Dashboard. Per tale motivo occorre installare la versione aggiornata del broker.
Si accede in una shell sul Beaglebone come root e si inserisce il repository di test di debian
1 2 |
cd /etc/apt vi sources.list |
aggiungere
1 |
deb http://httpredir.debian.org/debian stretch main contrib non-free |
Eseguire poi
1 2 3 |
apt-get update apt-get install mosquitto apt-get install mosquitto-clients |
Dopo l’installazione commentare il riferimento ai software di test di debian in /etc/apt/sources.list
1 |
#deb http://httpredir.debian.org/debian stretch main contrib non-free |
ed eseguire
1 |
apt-get update |
Testiamo a questo punto se il server è installato correttamente eseguendo in una shell la sottoscrizione ad un topic
1 |
mosquitto_sub -h localhost -t "topic/test" |
In un’altra shell eseguire la pubblicazione sul topic “topic/test”
1 |
mosquitto_pub -h localhost -t "topic/test" -m "Prova" |
La prima shell deve mostrare il messaggio “Prova”
Con il protocollo MQTT si possono definire diversi QOS , come descritto nelle FAQ di Mosquitto
Con QOS=0 il messaggio viene spedito una sola volta e non è richiesta la conferma della avvenuta ricezione da parte dei sottoscrittori; negli esempi che si faranno il QOS=0 e non vi sarà protezione dello smistamento dei messaggi con nome e password o canale ssl.
Nel prossimo articolo si procederà alla preparazione dell’ESP9266 con le librerie lua per gestire il protocollo MQTT
Mqtt con Beaglebone ed ESP8266-MQTT ESP8266