Archivi tag: arm

Configurazione OctoPrint su Orange PI PC – Stampa file di test

Dopo aver configurato la stampante sul server OctoPrint

Configurazione stampante

impostiamo i parametri di connessione alla stampante.

Dopo esserci connessi sul server OctoPrint con l’utenza di accesso octoprint/password si imposta la connessione della stampante

octoprint-connessione

Con queste impostazioni è possibile stampare un file gcode già generato con Cura o Slic3r

Cura

Slic3r

o fare l’upload di un file stl su cui verrà eseguito lo slice mediante il profilo cura caricato e la CuraEngine presente sul sistema Orange Pi PC.

Nel caso in cui si importa un file stl, viene proposto lo slicing del file

octoprint-sliceA questo punto è presente il file pronto per stampa

octoprint-filesliced Avviata la stampa si può controllare l’avanzamento, temperatura

octoprint-progressbare gli strati che si stanno creando

octoprint-sliceprogress

In tale esempio sono state utilizzare le impostazioni basilari per poter procedere ad un primo avvio del sistema.

Per ulteriori informazioni e configurazioni su OctoPrint fare riferimento alla documentazione del software

Documentazione Octoprint

Al seguente link, invece,  sono elencate le stampanti supportate

Stampanti supportate

Configurazione OctoPrint su Orange PI PC – Configurazione stampante

Dopo aver definito anche la pubblicazione dell’hostname

Pubblicazione Hostname

si passa a questo punto alla configurazione della stampante.

ATTENZIONE: L’ utilizzo delle impostazioni mostrate è a vostro rischio e pericolo. Non ci assumiamo alcuna responsabilità nel caso tali impostazioni generino malfunzionamenti o rottura della stampante.

Al primo accesso ad OctoPrint vengono richiesti i parametri fondamentali per la gestione della stampante. Nel nostro caso colleghiamo l’Orange PI PC ad una stampante 3d Anet A8 mediante la porta USB. Al primo accesso all’indirizzo

http://3dprinter.local

ci viene mostrata una maschera di configurazione

octoprint-accesssi preme next e si accede alla maschera successiva in cui si definisce l’utenza che ha la gestione della stampante con relativa password

octoprint-accesscontrolsi preme Keep Access Control e dopo il caricamento si passa al controllo della connessione Internet in cui disabilitiamo il Connectivity Check

octoprint-accessconnectivityAl passo successivo si inserisce il percorso all’eseguibile CuraEngine, compilato nell’articolo precedente

Installazione OctoPrint

e si importa un profilo di default per cura per la stampante Anet A8

octoprint-printerprofile

octoprint-curaengine

Il profilo importato deve essere generato da Cura 15.04.x o inferiore. Di seguito il link alle varie versioni del software Cura

Cura

Si impostano poi i parametri della stampante, nel nostro caso Anet A8

octoprint-printer1Si definiscono le dimensioni del piatto ed il volume

octoprint-printer2Al passo successivo si definisce la velocità di spostamento mediante il pannello di controllo; impostiamo dei parametri conservativi

octoprint-printer3Si impostano infine i parametri dell’estrusore

octoprint-printer4Alla schermata successiva si inseriscono i comandi da inviare a Debian direttamente dalla interfaccia web di OctoPrint; si impostano nel modo seguente

 

octoprint-command

dove in password va inserita la passord per eseguire i comandi di root su Debian.

Si inserisce per l’aggiornamento software la cartella in cui è presente OctoPrint

 

octoprint-swupdatePer la webcam  non inseriamo nulla

octoprint-webcamSi conclude infine la configurazione con il tasto Finish.

Si conclude infine la configurazione con il tasto Finish.

Per ulteriori impostazioni ed addon di OctoPrint fare riferimento al sito

OctoPrint

 Nel prossimo articolo stampiamo un modello di test

Stampa file di test

Configurazione OctoPrint su Orange PI PC – Pubblicazione hostname

Dopo aver configurato haproxy per la fruizione dei contenuti in http sulla porta standard

Installazione HAProxy

si può configurare la macchina Linux in modo da pubblicare il nome sulla rete con il demone avahi.

Nelle macchine Linux e OSX tale servizio è visibile nativamente, mentre per i sistemi Windows occorre installare il servizio Bonjour

Bonjour per Windows

Sull’Orange PI PC il demone avahi va installato con il comando

Si modificano il nome a cui deve corrispondere il nostro 3d print server  nei due file /etc/hosts ed /etc/hostname

Nel nostro caso è stato modificato il nome da orangepcpc a 3dprinter.

Facendo ripartire il box linux si accede ai servizi utilizzando il nome 3dprinter.local.

avahi

Nel prossimo articolo si mostra uan configurazione di stampante

Configurazione Stampante

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

Installazione OctoPrint su Orange PI PC – Installazione pacchetto python

In questo articolo si descrive come abilitare la scheda Orange PI PC a  server di rete per stampanti 3d.

Un sofware che fornisce tale funzionalità è OctoPrint

OctoPrint

Dal sito OctoPrint è possibile scaricare una immagine per Raspberry PI con il sistema già pronto; nel caso dell’Orange PI PC occorre procedere alla installazione del sistema OctoPrint su una immagine Linux.

E’ possibile anche usare una immagine Linux per Orange PI PC e seguire i passi relativi alla installazione di OctoPrint, ma è necessario verificare i prerequisiti del pacchetto python di OctoPrint.

Noi invece per questo articolo abbiamo compilato una immagine Debian mediante gli scripts Armbian.

Come prima operazione occorre preparare la scheda sd con una immagine Armbian. Nel caso specifico è stata creata una immagine Debian Jessie utilizzando lo script di Armbian, come indicato al link

Compilazione Armbian

e descritto in un precedente articolo

Creazione immagine Armbian per Orange PI PC

Abbiamo seguito i seguenti passi per la compilazione dell’ immagine Armbian su Ubuntu Xenial 16.04 ; da shell linux

Nelle  opzioni di compilazione scegliere quanto segue

armbianopipcfosNon si cambia la configurazione di default del kernel

armbianopipckernelScegliere come scheda Orange PI PC

armbianopipcboardScegliere il mainline kernel

armbianopipcmlkernelScegliere Jessie come distribuzione

armbianopipcjessieAbbiamo scelto come opzione il Desktop Envinronment

armbianopipcjessiedeDopo  tale opzione lo script procede alla compilazione. L’immagine da noi generata è Armbian_5.34_Orangepipc_Debian_jessie_next_4.13.12_desktop.img. Tale immagine può essere scaricata al link

Immagine Armbian per Orange PI PC

Si avvia Armbian e si crea l’utenza per l’utenza; in questo caso è stato scelta come utenza octoprint/password.

Se necessario riconfigurare la tastiera con il comando

e procedere all’aggiornamento del sistema

Se il sistema deve essere configurato tramite connessione wireless occorre che la connessione sia attiva all’avvio; per tale scopo nel nostro caso abbiamo utilizzato il demone wicd

Wicd Debian

 Si rimuove il network-manager presente

che rimuove i pacchetti network-manager e network-manager-gnome.

Si controlla che l’interfaccia wireless non sia presente in /etc/network/interfaces

Si procede alla installazione di wicd

Si controlla che l’utenza octoprint sia presente nel gruppo netdev

Nel nostro caso è già presente, dando come risultato

netdev-group

Nel caso non fosse presente aggiungerlo con il comando

Far partire wicd

Collegarsi sul desktop grafico di Armbian e configurare la connessione wireless con il comando

wicd-clientConfigurare e salvare la connessione di rete dall’interfaccia grafica.

Se si desidera il remote desktop si eseguono le operazioni già elencante all’articolo

Abilitazione Desktop Remoto su Armbian in Orange PI PC

Si può a questo punto procedere alla installazione di OctoPrint. Si seguono le indicazioni presenti al link

Installazione OctoPrint su Linux

Si installano i prerequisiti

Creare sotto /opt la cartella octoprint ed assegnare l’ownership ad octoprint

Posizionarsi in /opt/octoprint e scaricare il sofware

Eseguire quindi

Creare la cartella .octoprint

Assegnare i permessi all’utenza octoprint per gestire la porta della stampante 3d

Si testa la corretta installazione eseguendo il comando

Il server OctoPrint è raggiungibile sulla porta 5000 all’indirizzo ip del Orange PI PC

http://indirizzoip:5000

octoprinttestInstallare a questo punto la Cura Engine; posizionarsi nella home dell’utente octoprint e scaricare il pacchetto dei sorgenti

Scompattare il pacchetto

Entrare nella cartella scompattata

Eseguire la compilazione con il comando

Il software compilato è presente sotto la cartella build

curaengineCreare la cartella /opt/octoprint/cura e copiare il file CuraEngine in questa cartella

L’eseguibile è ora presente nella cartella /opt/octoprint/cura e sarà utilizzato in seguito da OctoPrint.

Nel prossimo articolo si descrive come configurare l’avvio automatico di OctoPrint

Avvio Automatico OctoPrint

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