Archivi categoria: Configurazione

Configurazione OctoPrint su Orange PI PC – Installazione HAProxy

Dopo aver configurato l’avvio automatico di OctoPrint

Avvio automatico OctoPrint

possiamo a questo punto farlo rispondere sulla porta standard di un server Http.

Per questo si installa e configura il reverse proxy HAProxy

HAproxy

Procediamo alla installazione

 Editare il file /etc/haproxy/haproxy.cfg ed aggiungere al default le direttive comprensive anche di utilizzo di webcam

Riavviare il proxy con il comando

Far ripartire l’Orange PI. Se tutto è configurato correttamente il server di stampa 3D risponde sulla porta 80 all’indirizzo ip dell’Orange PI PC

http://ORANGEPIPC_IP

haproxyE’ possibile mappare il servizio Octoprint sulla porta 5000  solo all’interfaccia loopback editando il file ~/.octoprint/config.yaml

ed aggiundendo sotto la direttiva server il riferimento host

 Far ripartire OctoPrint

Ora la porta 5000 è mappata solo con l’indirizzo 127.0.0.1.

Nel prossimo articolo si configura Linux a pubblicare il nome host sulla rete in modo da accedere mediante tale riferimento senza ricorrere all’indirizzo IP

Pubblicazione Hostname

Installazione OctoPrint su Orange PI PC – Avvio Automatico

Dopo aver descritto l’installazione di OctoPrint e di CuraEngine nell’articolo precedente

Installazione Pacchetto OctoPrint

si passa alla configurazione del server di stampa 3d.

Come prima operazione si imposta la partenza automatica di OctoPrint.

Si esegue quanto segue

Editare il file /etc/defaults/octoprint modificando il puntamento all’eseguibile per l’avvio di OctoPrint tramite vi

o nano

e modificare il file da

a

tenendo conto anche del diverso utente utilizzato.

Aggiungere lo script all’avvio automatico

 Avviare OctoPrint  con il comando

 Controllare che OctoPrint è attivo sulla porta 5000 dell’Orange PI PC accedendo all’indirizzo

 Facendo ripartire   l’Orange PI PC il server OctoPrint parte ora automaticamente.

Nel prossimo articolo si configurerà Linux in modo da connettersi ad OctoPrint sulla porta standard Http, ossia sulla porta 80

Installazione HAProxy

Enigma 2 – Come leggere il contenuto di una immagine

Nell’articolo

Compilazione Immagine Enigma2 OpenATV

abbiamo visto come compilare l’immagine Enigma 2.

Nel presente si mostra come visionare il contenuto dei file di una immagine Enigma2.

Come esempio useremo sempre l’immagine per lo Zgemma H2H.

In un ambiente Linux, Debian 8 nel nostro caso, scaricare l’immagine in una cartella, ad esempio enigma2

immagineenigma2

Scompattarla con il comando

Nella cartella scompattata abbiamo vari file

rootfsQuello di nostro interesse è rootfs.bin.

Il comando

ci dà indicazioni sulla natura del file. Nel caso di rootfs.bin

ubici indica che si tratta di una immagine con ubi filesystem.

A questo punto installare come prima operazione le utility per memory technology device

Eseguire

Il contenuto del file è ora visibile sotto /mnt/ubifs

ubimountPer smontare il filesystem

Infine per eseguire il detach di UBI dal dispositivo mtd

 Di seguito dei link per reperire ulteriori informazioni su mtd ed ubi

UBIFS

Linux MTD UBIFS

Linkit 7688 Duo con Lede – Esempio Timecheck

Dopo l’esempio in Python e Firmata

Firmata e Python

in questo esempio si utilizza la seguente modalità di programmazione

duo-yun-bridge

Si abilita la scheda a funzionare come un Arduino Yun

Linkit 7688 Duo Arduino Yun

Come specificato nel link Mediatek si deve abilitare il bridge sulla scheda; da una shell su Lede eseguire

 Al riavvio accedere sull’Ide Arduino e scegliere File->Examples->Bridge->TimeCheck

timecheck_arduino-1-6-5La versione dell’Ide Arduino utilizzata è la 1.6.5; con la versione 1.8 abbiamo avuto problemi di compilazione.

Dall’Ide Arduino, dopo aver eseguito il caricamento dello sketch, aprire da Tool->Serial Monitor la finestra

timecheckche mostra l’orario corrente.

Dopo tale operazione, per eseguire gli altri esempi, disattivare il bridge con i comandi

Linkit 7688 Duo con Lede – Firmata e Python

Dopo aver fatto il test con python nel precedente articolo

Linkit 7688 Duo con Lede – Comunicazione Uart MPU-MCU

in questo si descrive come eseguire la stessa operazione utilizzando la libreria python Firmata

Protocollo Firmata

In questo caso la modalità di programmazione è la seguente

duo-firmata-archCome prima operazione, così come descritto nell’articolo Mediatek

Usare Firmata con Python

installiamo la libreria Firmata per python; in una shell su LEDE eseguire

Sull’ IDE Arduino scegliere File->Examples->Firmata->StandardFirmata

arduinofirmataEseguire la seguente modifica nel codice sketch:

Cercare il codice

Firmata.begin(57600);
  while (!Serial) {

e sostituirlo con

  Serial1.begin(57600);
  Firmata.begin(Serial1);
 
  while (!Serial1) {

Salvare il file ed eseguire la compilazione e caricamento sul Linkit 7688 Duo.

In una shell unix in Lede creare il file blink_with_firmata.py e copiare all’interno il codice

Salvare ed uscire.

Sempre dalla shell eseguire il comando

Il Led presente sulla scheda dovrebbe accendersi e spegnere ad intermittenza.

Di seguito il link per scaricare i due file pronti per il Linkit 7688 Duo

 Lede Python Firmata file

 Nel prossimo articolo si abilita la scheda a funzionare come Arduino Yun

Linkit 7688 Duo con Lede – Esempio Timecheck

Mqtt con Beaglebone ed ESP8266 – Lista articoli

Di seguito si elencano i vari articoli da seguire per costruire il proprio ambiente IOT composto da sensori e relé con Beaglebone, ESP8266 e server MQTT Mosquitto.

  1. Architettura e protocollo Mqtt
  2. Mqtt Mosquitto su Beaglebone
  3. Mqtt su ESP8266
  4. Sensore di Temperatura su ESP8266 con protocollo Mqtt
  5. Relé su ESP8266 con protocollo Mqtt
  6. Impostazione server Http, protocollo websocket Mqtt su Beaglebone
  7. Installazione e configurazione Dashboard Freeboard per report misure su Beaglebone
  8. Client Android con protocollo Mqtt per gestione sensori

 

 

Mqtt con Beaglebone ed ESP8266 – Client Android

Dopo  aver configurato il server Mosquitto, i nodi ESP8266 e la dashboard Freeboard

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é

Mqtt con Beaglebone ed ESP8266 – Freeboard

passiamo ad installare un client Mqtt su un dispostivo Android.

 Dal playstore sono disponibili vari client Mqtt

android mqttDopo aver configurato i topic di publishing e subscriber sul client Android, in modo analogo a quanto fatto per i widget di Freeboard

Mqtt con Beaglebone ed ESP8266 – Freeboard

è possibile controllare temperatura ed umidità del sensore, monitorare lo stato dei dispositivi, inviare comandi al relé (Accensione, Spegnimento, Stato, Riavvio, Sleep) ed al sensore (Riavvio,Sleep, Stato).

Di seguito uno screenshot con alcuni topic e publishing dell’esempio con MQTT Dashboard

android mqtt relayoffCon il relé attivato

android mqtt relayon

Mqtt con Beaglebone ed ESP8266 – Freeboard

Dopo aver installato un client mqtt web

Mqtt con Beaglebone ed ESP8266-Web server e Mqtt websocket

passiamo ad installare la dashboard freeboard

Freeboard

Posizionamoci in /var/www/html sul Beaglebone come root e cloniamo il repository github di freeboard; cambiare il proprietario della cartella freeboard in www-data:www-data

 Accedendo con brower sul Beaglebone nella cartella freeboard si accede alla dashboard

freeboardOccorre a questo punto inserire dei plugin aggiuntivi a freeboard. Si aggiungono i seguenti plugin

  •  freeboard-mqtt

Clonare il github https://github.com/alsm/freeboard-mqtt

Scaricare la libreria javascript mqtt paho

Paho mqtt javascript library

Il link alla libreria è il seguente

Ultima Versione mqttws31.js

Creare una cartella mqtt sotto la cartella plugins di freeboard e copiare i file mqttws31.js e paho.mqtt.plugin.js

Editare il file paho.mqtt.plugin.js ed inserire il riferimento della libreria mqttws31.js nella sezione external_scripts; anche in questo caso cambiare il proprietario per la nuova cartella mqtt ed i suoi contenuti

Cambiare il proprietario

Editare il file /var/www/html/freeboard/index.html ed inserire il riferimento al nuovo plugin paho.mqtt.plugin.js  nella sezione head.js

  • Aggiungere il plugin dynamic-highcharts

Clonare in una cartella il github

Copiare il file plugin_highcharts.js nella cartella /var/www/html/plugins/thirdparty e cambiare il proprietario

Editare anche in questo caso il file /var/www/html/freeboard/index.html ed aggiungere il plugin come fatto al punto precedente

Accedere sulla dashboard freeboard ed aggiungere i collegamenti ai topic di temperatura ed umidità come datasource, i gauge per la misura instananea dei valori e la rappresentazione dei valori nel corso del tempo. Di seguito esempi di impostazioni :

  • Datasource

freeboard datasource

  • Gauge

freeboard gauge

  • Timeseries

freeboard timeseriesUtilizzando Chrome/Chromium come brower è possibile salvare le impostazioni in un file json. La configurazione può essere caricata localmente dal brower o può essere caricata dal browser dal webserver, salvando ad esempio il file dashboard.json in /var/www/html/freeboard; inserendo l’url

si accede alla Dashboard.

Di seguito la interfaccia Freeboard con varie widgets che mostrano lo stato e l’andamento dei sensori e relay ESP8266

freeboard dashboardIn questa serie di articolo il Beaglebone è stato configurato in modo da porte accedere utlizzando l’alias beaglebone.local/beaglebone

Preparazione sd card Debian per Beaglebone Black

ma si può usare comunque l’IP del Beaglebone per accedere ai servizi forniti dalla scheda.

Nel prossimo articolo si tratta la configurazione di client Mqtt Android

Mqtt con Beaglebone ed ESP8266 – Client Android

 

 

Mqtt con Beaglebone ed ESP8266-Web server e Mqtt Websocket

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

Accedere in /etc/apache2/sites-enabled e modificare in 000-default.conf la porta del webserver da 8080 ad 80

In /etc/apache2/port.conf modificare la porta in ascolto da 8080 ad 80

Far ripartire il server http con il comando

Accedere alla configurazione di mosquitto in /etc/mosquitto/conf.d e creare il file websockets.conf con il seguente contenuto

Dopo aver salvato il file far ripartire mosquitto

Disabilitiamo l’ipv6 sul Beaglebone come descritto al link

Disabilitazione Ipv6 Debian

Nel file /etc/sysctl.conf aggiungiamo

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

Hive mqtt

Accedere come root in ssh sul Beaglebone in /var/www/html;  clonare il client sotto mqtt-web e cambiare il proprietario della cartella clonata

Se accediamo da brower sul server http in mqtt-web viene mostrato il client web; si inseriscono le informazioni per la connessione

mqtt web client connessioneSi inserisco i topic in sottoscrizione e publishing e si hanno i vari messaggi e comandi per il broker

mqtt web clientNel prossimo articolo imposteremo la dashboard Freeboard sul Beaglebone

Mqtt con Beaglebone ed ESP8266 – Freeboard

Mqtt con Beaglebone ed ESP8266-MQTT ESP8266

Dopo aver installato il server MQTT sul Beaglebone

Mqtt con Beaglebone ed ESP8266-Installazione mosquitto su Beaglebone

passiamo ad impostare i nodi MQTT basati su ESP8266.

Come prima operazione occorre generare il firmware nodemcu, come descritto nel precedente articolo

Compilare Nodemcu su linux

con almeno i seguenti parametri attivati nel file user_module.h

  • DHT
  • file
  • GPIO
  • MQTT
  • net
  • node
  • timer
  • UART
  • WiFi

Tali impostazioni sono presenti di default sul file user_module.h.

Al momento è stata rilasciata la versione aggiornata del firmware 2.0.  Alleghiamo i file da caricare sul dispositivo.

Nodemcu2.0.0 firmware

Come già descritto negli articoli precedenti e dal link di nodecmu sul flashing

Flashing the firmware

si impostano i parametri corretti per il proprio modello di esp8266.

Nel nostro caso, con la flash di 4MB, si usano i parametri riportati nella immagine per caricare il firmware sul dispositivo con il tool nodemcu-flasher. Si possono utilizzare anche altri tool per il caricamento del firmware. Nel nostro caso le impostazioni usate sono le seguenti

nodemcu flasherNel prossimo articolo viene descritto il nodo MQTT ESP8266 che rileva temperatura ed umidità

Mqtt con Beaglebone ed ESP8266-MQTT su ESP8266 per sensore temperatura