Dopo aver configurato il server MQTT ed i nodi ESP8266
Mqtt con Beaglebone ed ESP8266 – Installazione mosquitto su Beaglebone
Mqtt con Beaglebone ed ESP8266-MQTT ESP8266
Mqtt con Beaglebone ed ESP8266-MQTT su ESP8266 per sensore temperatura
Mqtt con Beaglebone ed ESP8266-MQTT su ESP8266 per Relé
passiamo alla configurazione del webserver su Beaglebone ed alla configurazione del websocket sul broker mqtt mosquitto.
Accediamo sul Beaglebone in ssh e disabilitiamo i seguenti servizi
1 2 3 4 5 6 7 8 9 10 11 |
$sudo systemctl stop cloud9.service $sudo systemctl stop cloud9.socket $sudo systemctl disable cloud9.service $sudo systemctl disable cloud9.socket $sudo systemctl stop bonescript-autorun.service $sudo systemctl stop bonescript.service $sudo systemctl stop bonescript.socket $sudo systemctl disable bonescript-autorun.service $sudo systemctl disable bonescript.service $sudo systemctl disable bonescript.socket $sudo systemctl daemon-reload |
Accedere in /etc/apache2/sites-enabled e modificare in 000-default.conf la porta del webserver da 8080 ad 80
1 |
<VirtualHost *:80> |
In /etc/apache2/port.conf modificare la porta in ascolto da 8080 ad 80
1 2 3 4 5 |
# If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default.conf Listen 80 |
Far ripartire il server http con il comando
1 |
sudo systemctl restart apache2 |
Accedere alla configurazione di mosquitto in /etc/mosquitto/conf.d e creare il file websockets.conf con il seguente contenuto
1 2 3 4 5 |
listener 1883 protocol mqtt listener 9001 protocol websockets |
Dopo aver salvato il file far ripartire mosquitto
1 |
sudo systemctl restart mosquitto |
Disabilitiamo l’ipv6 sul Beaglebone come descritto al link
Nel file /etc/sysctl.conf aggiungiamo
1 2 3 4 |
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 |
e facciamo ripartire il Beaglebone.
Procediamo a questo punto ad installare sul server http un client MQTT su websocket e la dashboard Freeboard.
Per quanto concerne il client websocket mqtt hive-mqtt si scarica il codice dal github
Accedere come root in ssh sul Beaglebone in /var/www/html; clonare il client sotto mqtt-web e cambiare il proprietario della cartella clonata
1 2 3 |
#cd /var/www/html/ #git clone https://github.com/hivemq/hivemq-mqtt-web-client.git mqtt-web #chown www-data:www-data -R mqtt-web |
Se accediamo da brower sul server http in mqtt-web viene mostrato il client web; si inseriscono le informazioni per la connessione
Si inserisco i topic in sottoscrizione e publishing e si hanno i vari messaggi e comandi per il broker
Nel prossimo articolo imposteremo la dashboard Freeboard sul Beaglebone
Mqtt con Beaglebone ed ESP8266 – Freeboard