Webiopi Raspberry – controllo remoto GPIO via Web

La Raspberry è dotata di quindici pin GPIO con ci inviare  leggere segnali digitali controllabili con webiopi raspberry

webiopi raspberry

Webiopi è un framework open-source per controllare la componente GPIO della Raspberry Pi.

Installazione del webiopi raspberry

La documentazione del progetto è ben fatta e ti guida passo passo nell’installazione, io l’ho seguita senza incontrare difficoltà.

Ecco i passi che ho eseguito sulla mia raspberry:

pre-requisiti per l’installazione sono i due pacchetti gcc e python, inizia installando il pacchetto gcc:

webiopi raspberry gcc

come da figura esegui:

#> apt-get install gcc-4.7

poi installa python 3.2:

webiopi raspberry python 3.2

esegui il comando:

#> apt-get install python3.2

sei pronto per scaricare ed installare webiopi raspberry, prima di iniziare devi scaricare dal sito ufficiale l’ultima versione ( in questo momento la 0.6 ), esegui il comando:

#> wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz

se non riesci a scaricare il software potresti non riuscire a connetterti a internet dalla tua raspberry, controlla la configurazione di rete e riprova, la schermata che ti verrà proposta è la seguente:

webiopi raspberry wget

a questo punto la sorgente del webiopi raspberry è quasi pronta per essere installata, procedi estraendo l’archivio .tgz con la sequenza di comandi:

#> gunzip WebIOPi-0.6.0.tar.gz
#> tar xf WebIOPi-0.6.0.tar

vedrai una schermata simile alla seguente:

webiopi raspberry unzip tar

puoi anche utilizzare un solo comando come suggerito dal wiki ufficiale:

#> tar xvzf WebIOPi-0.6.0.tar.gz

è indifferente il metodo che decidi di utilizzare l’importante è che la sorgente sia estratta e che ti ritrovi con la dir WebIOPi-0.6.0 contenente i file sorgenti e il setup.sh di installazione. Lancia il comando:

#> cd WebIOPi-0.6.0
#> sudo ./setup.sh

ed otterrai una schermata simile alla seguente:

webiopi raspberry install

in cui ho eliminato le numerose linee intermedie per evitarti un’immagine illegibile.

La parte interessante è quella finale in cui trovi i comandi per far partire WebIOPi 0.6 e per far in modo che webiopi raspberry parta alla partenza della raspberry.

Configurazione di webiopi raspberry

La parte di installazione è conclusa e puoi procedere all’avvio ( vedi paragrafo successivo ) se vuoi provare subito.

Se invece vuoi personalizzare la tua installazione i file di configurazione sono sotto /etc/webiopi/ e sono:

webiopi raspberry config e password

  • config
  • passwd

La fantasia non è acqua e troverai la configurazione del webiopi raspberry nel primo e la password di accesso all’interfaccia nel secondo, di default l’accesso avviene con le credenziali:

  • username: webiopi
  • password: raspberry
nel file di configurazione soffermati sulla sezione HTTP che determina il modo in cui potrai collegarti a webiopi raspberry dal browser:
[HTTP]
enabled = true
port = 8000
passwd-file = /etc/webiopi/passwd
doc-root = /usr/share/webiopi/htdocs
welcome-file = index.html
in cui
enable abilita il web server;
port indica la porta su cui ascolta il webserver;
passwd-file indica dove trovi il file con le credenziali di accesso;
doc-root indica la dir in cui è presente il software webiopi raspberry;
welcome-file definisce quale file di partenza cercare nel path doc-root;

Avvia webiopi raspberry

L’avvio del server è semplicissimo, esegui come root il seguente comando:

#> /etc/init.d/webiopi start

la schermata che ti si presenta è simile alla seguente:

webiopi raspberry start service

Collegati da remoto a webiopi raspberry

Puoi finalmente aprire il tuo browser preferito e inserire come Url http://[l’IP della raspberry]:8000 in cui l’indirizzo Ip della raspberry è lo stesso a cui ti colleghi via ssh:

webiopi raspberry remote access

la schermata che ti si presenta è il menu di ingresso del sw webiopi raspberry, clicca sul link GPIO Header la schermata che si presenta è la seguente:

webiopi raspberry gpio

ti mostra il connettore GPIO di webiopi raspberry e la configurazione iniziale di ciascun pin, nota che i pin di tipo GPIO sono tutti configurati in modalità IN, quindi clicca sul quadrato grigio “IN” corrispondente per cambiare la modalità di connessione del pin da IN ad OUT:

webiopi raspberry gpio out

io ho cambiato la modalità solo dei primi tre GPIO in alto a sinistra:

  • GPIO 0
  • GPIO 1
  • GPIO 4

ma puoi farlo di tutti i GPIO che presentano il quadratino grigio con la scritta IN o OUT.

Se fai click sul pin GPIO corrispondente al numero che desideri accendere o spegnere vedrai una situazione simile alla seguente:

webiopi raspberry on

in cui i led collegati si acendono:

Il risultato è soddisfacente? a mio avviso si, e funziona anche da smartphone 🙂

Buona progettazione !!!

Cortesemente, prima di inserire i commenti leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/elettronica/webiopi-raspberry-controllo-remoto-gpio.html

119 comments

Skip to comment form

  1. Ciao, funziona tutto perfettamente. Ottima guida ed ottimo il sw. Ha delle potenzialità immense. Vorrei però mostrare sulla mia custom html anche i valori di variabili che ho calcolato in python. Come posso fare? Possibile che non esista nessun thread per questo apparentemente banale problema? Son giorni che ci provo senza risultato. Aiutoooooooo 🙂

    1. Ciao Gianluca,
      che bella idea, io non sono un programmatore python.
      Se tu hai già realizzato qualcosa posso pubblicarlo a tuo nome e realizzare il primo thread su questo argomento.

      Mauro

    • Agostino on 29 maggio 2013 at 19:02
    • Reply

    Ciao Mauro
    Bravissimo, non conoscevo ancora questo modo di vedere il gpio di rasp.
    E quando invece si tratta di leggere dai pin che imposti come entrate come funziona la cosa?

    1. Ciao Agostino,
      le GPIO sono IN/OUT digitali, non ho ancora provato ma immagino che funzioni come un interruttore per Arduino, l’unico dubbio è che lavori a 3,3v e non a 5v.
      Se vuoi sperimentare il funzionamento mi fa piacere poi condividiamo l’esperienza sul Blog.

      Mauro

  2. Ciao, dovrei leggere da sensori digitale dei valori, posso farlo con la webiopi?
    Inoltre come faccio a far leggere tali valori, per esempio in uno script?

    Grazie!!

    1. Ciao Simone,
      puoi farlo, almeno stando alla documentazione del software che ti invito a leggere e tenere come riferimento per il tuo progetto.

      Mauro

    • Luca on 10 luglio 2013 at 11:39
    • Reply

    Ciao! Ottima guida!
    Io però ho un piccolo problema se provo a collegarmi a webiopi quando il raspberry è connesso a internet tramite tethering USB da android.. Come mai? Bisogna impostare qualcosa sul raspy?

    1. Ciao Luca,
      non ho compreso come ti stai collegando al webiopi e sopratutto in che fase del tutorial sei.
      Stai installando il pacchetto?

      Mauro

    • Luca on 19 luglio 2013 at 00:14
    • Reply

    Allora:
    Ho installato e testato webiopi con il raspy connesso alla rete di casa via cavo ethernet.. Poi ho collegato il raspy ad internet grazie alla condivisione dati da android (USB tethering) ma ora non riesco più a collegarmi al server webiopi per gestire la GPIO.. La mia domanda è quindi: è possibile collegarsi al server quando il raspy è connesso via usb tethering?

    1. Ciao Luca,
      penso non sia possibile dallo stesso telefono.
      Per connetterti a Raspberry via rete devi conoscere l’indirizzo Ip da inserire nel browser e la porta 8000 su cui risponde il webiopi deve essere disponibile su quell’Ip.

      Prima prova a verificare che ip é assegnato al tuo Android, poi verifica se espone su quell’Ip la porta 8000 a questo punto prova a connetterti.

      Mauro

    • Gianfranco on 21 agosto 2013 at 23:08
    • Reply

    Sto cercando di accedere alla configurazione per cambiare id e passwd.
    Ma all’interno di /etc non c’è la directory webiopi.

    Ho letto qualcosa qui ” https://code.google.com/p/webiopi/wiki/PASSWORD
    dove si parla di generare un file, ma sinceramente non ho capito molto.

    Mi sai dire qualcosa ? Grazie

    Gianfranco

    1. Ciao Gianfranco,
      l’installazione é riuscita correttamente? Senza errori?
      Da come scrivi sembra c’è ai fallito qualche passaggio ed ecco il motivo per cui non trovi tutti i file e i occorrono.

      Mauro

        • Gianfranco on 23 agosto 2013 at 21:19
        • Reply

        Grazie.
        In effetti avevo la versione 0.5.1.
        Installando la 0.6.0 adesso trovo i file di configurazione.

        Ancora grazie.
        Gianfranco

        1. Ottimo Gianfranco sono contento.

          Mauro

    • Gianfranco on 24 settembre 2013 at 12:40
    • Reply

    Ciao Mauro, non so se ti ricordi di me, insieme lavorammo a quel discorso del passaggio a livello in modellino con Arduino. Se ricordi ti parlai già delle potenzialità di Raspberry, e mi fa piacere che anche tu stai facendo sperimentazioni. Siccome ho ripreso in mano dei progetti, sono capitato su questo tuo tutorial e approfitto per chiederti se hai affrontato la seguente problematica:

    qualora volessi controllare delle luci di una abitazione, immaginando un lato giorno e un lato notte, come la vedresti un’architettura fatta da un RPi con un webserver (e collegato via LAN ad un router wifi) al quale sono collegati due Arduino (uno posto in lato giorno e uno posto in lato notte, appunto) per il controllo delle luci delle stanze? Se la vedessi bene, hai già analizzato come fare le connessioni? Questo è importante in quanto si potrebbero monitorare proprio tramite il webiopi.

    Intanto ti ringrazio!
    a presto,
    Gianfranco

    1. Ciao Gianfranco,
      si mi ricordo del tuo meraviglioso modello di passaggio a livello.
      L’argomento di una casa domotica ricorre spesso nei progetti che ho in mente e qualcuno comprendeva la soluzione che hai prospettato.

      Se dovessi utilizzare la Raspberry Pi per un piccolo impianto domotico forse mi rivolgerei alle connessioni xbee per il controllo remoto dei sensori ambiente e degli attuatori ( relè ) per accendere e spegnere luci, lasciando comunque ai moduli Arduino collocati in casa la possibilità di mantenere una propria intelligenza di controllo tra interruttore classico e luce collegata.

      L’argomento è tuttavia complesso per essere affrontato in un commento, magari proverò a scrivere qualche articolo in merito oppure, se vuoi, puoi scrivere un articolo sulla soluzione che hai in mente e la condividiamo come articolo sul Blob.

      Mauro

    • Fabrizio on 2 ottobre 2013 at 14:20
    • Reply

    Ciao Mauro, complimenti per l’ottima guida. Ho un problema con l’installazione e non riesco a capirne il motivo..
    Sono arrivato al punto dove dovrei lanciare il comando
    #> cd WebIOPi-0.6.0
    #> sudo ./setup.sh
    per arrivare nella cartella di webiopi ma ogni volta che lo lancio mi da errore dicendo “file o directory non esistente”.
    Ho cercato qualsiasi informazione disponibile su internet ma senza trovare nulla. Ho provato sia con utente pi sia con utente root pensando che fosse una questione di permessi ma nulla.
    Mi sapresti aiutare?

    Fabrizio

    1. Ciao Fabrizio,
      se lanci il comando “ls -la” vedi la dir WebIOPi-0.6.0 magari si chiamo solo in modo differente.

      Mauro

    • Fabrizio on 4 ottobre 2013 at 02:40
    • Reply

    Ciao Mauro, alla fine ho risolto installando il tutto da pi store, ma mi trovo con lo stesso medesimo problema ogni volta che scarico qualsiasi file con wget. Vorrei capirne il motivo dato che l’utente pi è proprietario della cartella pi ma non riesce ad accedere.
    Grazie del tuo aiuto ma mi sto avvicinando da poco al mondo debian, o linux in genere, e non mi risulta facile trovare info su internet riguardo a dei problemi specifici.

    Fabrizio

    1. Ciao Fabrizio,
      se vuoi avvicinarti all’open source software ed hardware ti consiglio di non cercare solo le info specifiche ai tuoi problemi ma di iniziare a leggere qualche manuale di Linux per capire cosa siano permessi, utenze, id, filesystem ecc.. avrai sicuramente un’idea più completa del sistema e di come operare.

      Non trovi nulla sul web in quanto le tue difficoltà non sono legate a problemi del sw o del sistema linux ma a mancanza di conoscenze basilari che si acquisiscono con un manuale base linux.

      Vorrei aiutarti ma i motivi per cui ottieni gli errori di cui mi parli potrebbero essere dovuto a molte varianti: permessi, utente, gruppo.

      Mauro

    • Alessandro on 9 ottobre 2013 at 08:08
    • Reply

    Salve, spero di non andare fuori tema , volevo sapere se fosse possibile con questo raspberry far in modo di lanciare comandi da shell linux alla pressione di un tasto esterno, praticamente vorrei laciare una stringa dove mi carica un demone openvpn alla pressione di un tasto e me lo killa o alla ripressione o premendone un’altro

    grazie mille
    ottimo bolg!

    1. Ciao Alessandro,
      penso sia possibile, dovrai scriverti un software che controlli una uscita GPIO e che al variare dello stato del pin lanci il comando che desideri.

      Mauro

    • winsum on 17 ottobre 2013 at 22:19
    • Reply

    Complimenti Mauro,
    ottimo server.

    Ho installato e testato il tutto ma mi è sorto un problema quando ho copiato la cartella htdocs di webiopi nella cartella /var/www.

    Praticamente non funziona più.
    La prima pagina viene caricata, ma i link non vengono collegati. Ho dovuto togliere la “/” all’inizio del href per farlo puntare al link giusto, ma la pagina resta bianca.
    Perchè?

    Grazie.

    1. Ciao Winsum,
      hai un problema di path nei link, se sposti la cartella devi riscrivere i link in modo che puntino alla nuova cartella.

      Mauro

    • Michele on 28 dicembre 2013 at 15:01
    • Reply

    Ottimo articolo e belle spiegazioni; ci sarà la possibilità di interfacciare un piccolo schermo touchscreen ?

    1. Ciao Michele,
      mi sembra di aver visto nel web qualche articolo dedicato ai monitor touch screen con la raspberry pi.

      Mauro

    • emanuele on 14 febbraio 2014 at 16:03
    • Reply

    ciao Mauro , è possibile modificare la pagina della gestione della GPIO ? mi spiego meglio : vorrei modificare la grafica della pagina e gestirla a modo mio , creando in html/php un po di grafica e a login .. cioè vorrei faro diventare un po una pagina diversa.. più creativa ecc.. sai come fare? gazie =)

    1. Ciao Emanuele,
      puoi fare tutte le modifiche che desideri conoscendo html, se vuoi aggiungere parti interattive come un login o altre funzioni ti consiglio il Php.

      Mauro

    • emanuele on 14 febbraio 2014 at 16:18
    • Reply

    grazie mille , ma vorrei sapere come prelevare lo script pr le porte GPIO (premetto che sto studiano html e php ).grazie

    1. Ciao Emanuele,
      tutte le parti del progetto puoi scaricarle dal link che trovi nell’articolo, all’interno del codice trovi tutti i file che ti servono, non sarà solo uno.

      Mauro

    • daniela on 18 marzo 2014 at 20:19
    • Reply

    Vorrei leggere da remoto e memorizzare in un data base, il codice ottenuto da un lettore di badge (uscita rs232) associato al quantitativo di pezzi depositati ottenuti contando l’apertura di uno sportello.

    Pensi che Webiopi potrebbe essere una soluzione?

    Puoi darmi una mano per l’interfacciamenti Rs232 ed il contapezzi?

    grazie

    daniela

    1. Ciao Daniela,
      non penso la Webiopi possa esserti di aiuto.
      Io posso studiare con te il progetto su commissione ma dovresti inviarmi quanti più dettagli possiedi mediante la casella di posta info del blog ed io potrò valutare un preventivo ed un ipotesi di soluzione.

    • daniela on 19 marzo 2014 at 08:38
    • Reply

    Su contatti trovo solo FB e twitter, oui darmi un’email?

    grazie

    1. Ciao Daniela,
      nelle prime righe trova la casella info del blog in notazione antispam.
      Se non dovesse trovarla provvederò ad inviarle una email vuota come apripista.

    • Fabrizio on 27 aprile 2014 at 20:23
    • Reply

    Ciao Mauro,
    Ottima guida ed esauriente,volevo chiederti se Webiopi può essere adatto anche all’accensione di luci e una ventola utilizzando opportuni relay a 5v.
    Inoltre vorrei sapere se una volta collegato relay ai carichi e alla ventola è sufficiente installare come da tua guida o c’è bisogno di script bash o altro.
    Ciao e grazie

    1. Ciao Fabrizio, webiopi é un progetto che trovi online con tutta la sua documentazione.
      A memoria tutto il codice del progetto é sufficiente ad ottenere ciò che vuoi realizzare.
      Ti consiglio di usare una scheda con optoisolatori tra Raspberry ed i relè.

    • Fabrizio on 2 maggio 2014 at 00:56
    • Reply

    Ciao Mauro,
    A me basta mettere due relè forse uno..per accendere le luci del giardino. quindi in questo uso non ho bisogno di creare script ma basta Che installo webiopi?
    Pensi ver ci sa problemi tenendo il raspberry attivo 24 ore su 24 sempre con i relè e la sua webcam di sorveglianza?
    Se metto tutto all’interno di una custodia meglio ventilare? La metto sotto un portico però qua le temperature arrivano anche a 10 gradi sotto zero d’inferno e oltre 30 in estate.
    Saluti

    1. Ciao Fabrizio, Raspberry é progettata per funzionare a lungo senza ventilazione, io tuttavia ho acquistato un kit di dissipazione passiva, solo alette di raffreddamento, che puoi trovare come articolo.

      Sui parametri di resistenza della scheda ti invito a leggere sul sito del produttore che rilascia le specifiche della scheda stessa.

    • fabrizio on 2 maggio 2014 at 14:19
    • Reply

    Ciao Mauro,
    Sì anche io ho acquistato i dissipatori , il discorso ventola sarebbe forse per il fatto di mettere il raspberry dentro a custodia e quindi per favorire un po di aria…..
    Tornando al fatto della applicazione webiopi mi pare di capire che una volta collegato il carico ad i rele scarico python e webiopi e dovrebbe comandare i rele ma non mi è chiaro se li gestisce da solo o se devo fare dei script per gestire i comandi IN OUT della gpio per potere accendere o spegnere le luci.

    1. Ciao Fabrizio,
      il progetto, se ricordo bene, è in grado da solo di portare i pin del GPIO a livello HIGH o LOW senza ulteriori script.
      Ti consiglio cmq di leggere la documentazione del progetto che ricordo essere ben fatta e dettagliata.

    • Fabrizio on 4 maggio 2014 at 11:39
    • Reply

    Ciao …….
    so che esistono anche le schede rele’ con gia’ equipaggiate di optoisolatori, secondo te’ per non prendere la 5v direttamente dal raspberry potrebbe essere una idea alimentare la scheda tramite alimentatore esterno a 5v? eventualmente interponendo tra raspi e scheda rele’ un uln2803 su basetta

    1. Ciao Fabrizio,
      sicuramente esistono schede di ogni tipo e cercando bene troverai quelle che fanno al caso tuo.
      Se vuoi alimentare una scheda con alimentazione separata puoi farlo, devi ricordarti che il terminale comune ( Gnd ) deve essere collegato tra le due alimentazioni perché tutto funzioni.

    • Daniele on 21 luglio 2014 at 19:42
    • Reply

    Ciao, ho scritto(meglio scopiazzato in giro) questo codice per attivare i gpio da pagina web. A me serve che si attivi per 2 secondi invece mi da un impulso velocissimo e non riesco a temporizzare… mi daresti una mano?? sotto il codice

    Controllo Domotica By Dany
    [ codice rimosso in automatico ]

    1. Ciao Dabiele,
      come hai letto in fondo ad ogni articolo non è possibile incollare codice nei commenti sul blog.
      In merito al tuo problema devi inserire un ritardo o un ciclo a vuoto per temporizzare l’accensione del led.

      Non ricordo se esiste qualche comando della libreria che stai usando per introdurre un ritardo.
      Il web non è concepito per introdurre ritardi, anzi tende ad essere molto veloce, puoi provare con javascript.

    • massimo on 22 luglio 2014 at 23:07
    • Reply

    All’avvio il raspberry mi chiede login e password e quindi non si connette come posso risolvere il problema ?
    grazie massimo

    1. Ciao Massimo,
      hai provato username e password di default suggerite sul sito del produttore delle webiopi ?

    • Mirko on 1 ottobre 2014 at 15:16
    • Reply

    Buongiorno Mauro,
    grazie mille per l’articolo, utilissimo per l’installazione e le prime prove di funzionamento con WebIOPi.
    Sto cercando ora di far funzionare un MCP23S17 ed un MCP3008 collegati al Raspberry via SPI, ma ho un problema: solo il device collegato sul CE1 dell’SPI funziona, mentre quello sul CE0 no: se collego il 23S17 sul CE1, posso tranquillamente cambiare lo stato di ogni pin da input ad output, vedere i cambiamenti di stato degli input e settare gli output correttamente, mentre se provo a cambiare i livelli in input del 3008, non vedo movimenti nella rispettiva sezione del devices monitor. Viceversa, se collego il 23S17 sul CE0, lo stato input/output di ogni pin cambia continuamente, così come il loro livello on/off.
    Ho pochissime conoscenze di elettronica (ma fortunatamente non costruisco io i miei circuiti 🙂 ) ma questo mi fa pensare che più che un errore di progettazione del circuito, si tratti di un problema software.
    Per quanto riguarda WebIOPi, ho solamente aggiunto le due righe relative ai devices al file di configurazione:

    [DEVICES]
    mcp1 = MCP23S17 chip:1 slave:0x27
    adc0 = MCP3008 chip:0

    In questo caso, il 3008 funziona correttamente, mentre il 23S17 mostra il comportamento descritto sopra.
    Sapresti dirmi dove sbaglio?

    1. Ciao Mirko,
      tutto molto interessante io non mi sono mai spinto fino a questo punto con la Raspberry Pi.
      Mi verrebbe da suggerirti di provare ad invertire i chip e verificare che si tratti solo di un problema sw ma potrei dirti una castroneria non avendo mai provato queste interfacce e device con la raspberry pi.

        • Mirko on 6 ottobre 2014 at 15:55
        • Reply

        Scusa, in effetti dal messaggio non si capiva bene, ma è quello che ho fatto: Se inverto i due integrati (sposto quello su CE1 al CE0 e viceversa, cambiando il parametro chip di entrambi nel file di configurazione), quello che prima era fermo si mette a funzionare e viceversa.
        Ti ringrazio comunque per la disponibilità e per avermi fatto conoscere WebIOPi, vedrò di venirne fuori 🙂

        1. Ciao Mirko, quando ci riesci, se ti va, mi piacerebbe condividere sul blog la soluzione che avrai applicato.

  3. Ciao Mauro, ancora complimenti per il tuo sito e per tutto il tempo che dedichi.
    Ho testato questa tuo progetto per muovere le GPIO sul mio raspberry B+, ma ovviamente vedo solo 26 pin invece che 40.
    Esiste una soluzione ?

    Ti ringrazio

    Giovanni

    1. Ciao Giovanni, il codice non l’ho scritto io ma un appassionato RaspBerry, prova a controllare sul suo sito se ha scritto una versione per 40 pin, magari la sta ultimando e a breve la pubblicherà. Ultima strada, essendo open source, puoi eseguire tu la modifica al codice e pubblicarla a vantaggio di chi ha una Raspberry B+

    • Michele on 17 novembre 2014 at 20:37
    • Reply

    Quindi per usare i 40 pin devo aspettare chissà quanto?

    1. Ciao Michele,
      non comprendo la tua domanda, siamo nel mondo del software libero e puoi sviluppare da solo quello che ti serve partendo da ciò che qualcun altro ha condiviso.

    • Michele on 26 dicembre 2014 at 12:20
    • Reply

    ciao Mauro,
    vorrei sapere se fosse possibile e come gestire i gpio per comandare da scheda relè un punto luce collegandomi tramite webiopi da un altra rete grazie

    1. Ciao Michele,
      a memoria mi sembra fosse possibile ed in modo alquanto semplice, hai consultato la documentazione ufficiale del software?

    • Luigi on 6 gennaio 2015 at 11:17
    • Reply

    Ho un RPI B+, su di esso i contatti GPIO sono aumentati.

    Questo Webiopi non tiene conto degli altri GPIO?

    1. Ciao Luigi,
      prova a verificare sul sito dell’autore del sw se ha rilasciato aggiornamenti per la versione RPI B+

    • Vincenzo on 31 gennaio 2015 at 19:13
    • Reply

    Ciao Mauro, volevo segnalarti che dopo il comando ” apt-get install python3.2 ” il raspberry andrebbe riavviato, altrimenti l’installazione dei pacchetti successivi porta ad errori.

    Volevo inoltre dirti che, dopo aver seguito la tua guida, mi imbatto in questo errore:

    Preconfiguring packages …
    dpkg: unrecoverable fatal error, aborting:
    files list file for package ‘xfonts-base’ is missing final newline
    E: Sub-process /usr/bin/dpkg returned an error code (2)
    Cannot install for Python 3.2.3 : missing development headers

    ERROR: WebIOPi cannot be installed – please check errors above

    1. Ciao Vincenzo,
      hai provato a verificare, sul sito dell’autore del Webiopi, se ci sono stati aggiornamenti?

    • Gianmarco on 11 marzo 2015 at 03:23
    • Reply

    Ciao Mauro, ho installato precisamente come la tua guida e sembra essere tutto apposto, nessun messaggio di errore.
    Però quando scrivo l’indirizzo del raspberry (che sarebbe 192.168.1.150:8000) non appare niente, appare “pagina web non disponibile”, la pagina predefinita di chrome per intenderci.

    Non capisco dov’è l’errore, l’ip è sicuramente quello, anche perché ho installato tutto tramite SSH, impossibile aver sbagliato indirizzo.

    Cosa può essere? Sono nel pallone…

    1. Ciao Gianmarco,
      verifica che sulla Raspberry Pi la porta 80 sia attiva e in LISTEN
      Poi verifica che non ci sia attivo il firewall che blocchi la porta 80 in ingresso.

        • Gianmarco on 11 marzo 2015 at 16:06
        • Reply

        Grazie mille per la risposta rapida, gentilissimo.

        La porta 80 l’avevo già aperta in entrambi i sensi, idem la 8000 per sicurezza.
        Firewall non ne ho su pc, non credo ci sia sul raspy…o sì?

        Ho installato l’ultima versione (0.7.1) di webiopi ma non mi è cambiato niente, ci sto diventando scemo…non capisco proprio il problema!

        1. Ciao Gianmarco,
          hai verificato che sulla Raspberry Pi non sia attivo il firewall e blocchi gli accessi alle porte del Webiopi ?
          Verifica anche che sul server ci siano le porte in colto sul server ( raspberry pi ) a cui vuoi collegarti

            • Gianmarco on 11 marzo 2015 at 18:27

            Risolto!
            Avevo un port redirect sull’ip del raspy che evidentemente gli dava fastidio…tolto quello, dopo un riavvio ha funzionato, menomale.

            Se può interessarti, questo è il link che ho usato per scaricare ed installare l’ultima versione di webiopi:
            wget http://downloads.sourceforge.net/project/webiopi/WebIOPi-0.7.1.tar.gz

            Ti ringrazio ancora per l’assistenza 🙂

          1. Ottimo Gianmarco.

    • Emanuele on 17 aprile 2015 at 12:15
    • Reply

    Ciao, sapete se esiste un programma per gestire le GPIO con un controller (joystick).
    Grazie

    1. Ciao Emanuele,
      dovresti specificare meglio ciò che desideri realizzare.

      Mauro

        • Emanuele on 19 maggio 2015 at 11:16
        • Reply

        Dovrei controllare dei motorini elettrici collegati a dei relè che a loro volta li volevo collegare alla GPIO.
        Per controllarli avevo intenzione di usare un controller usb.
        Sto cercando di realizzare un ROV per immersioni subacquee.
        Grazie
        Emanuele

        1. Ciao Emanuele,
          perché non usi direttamente i pin GPIO di Raspberry?
          Ti complichi la vita con la USB oltre che il costo del progetto.

            • Emanuele on 19 maggio 2015 at 11:49

            Scusa non mi è chiaro.
            Io volevo collegare direttamente la scheda relè ai pin del GPIO ma per controllare i pin volevo usare il joystick, un po’ come se fosse una macchinina telecomandata: avanti, indietro, dx, sx, su e giù.

          1. Ciao Emanuele,
            adesso mi è più chiara il tuo obiettivo, scrivendo controller usb e motori ho dedotto, erroneamente, che tu il controller si riferisse ai motori e non ad un joystick.
            Chiarito l’equivoco ti chiedo .. qual’è la domanda ? Se si può fare ?

            • Emanuele on 20 maggio 2015 at 13:17

            Più che se si può fare, che presumo proprio di sì, è se conoscete qualche programma adatto allo scopo o se Webiopi è modificabile. Ho chiesto qui perchè ho visto che si parlava di GPIO e magari siete sicuramente più preparati di me…
            Grazie
            E.

          2. Ciao Emanuele,
            si puoi modificare webiopi in quanto open-source.

    • enrico on 21 aprile 2015 at 19:21
    • Reply

    ciao sono alle prime armi, vorrei installare una scheda relè, ho visto che in commercio ce ne sono di vario genere a me basta una che abbia una o due uscite, su ebay si trovano ad un paio di euro, mi sapresti consigliare un modello compatibile per il rasp che vada al volo, grazie.

    1. Ciao Enrico,
      purtroppo no, non ho mai provato schede relay con Raspberry ma immagino che qualunque scheda attivabile dai 3.3v del GPIO vada bene.

    • massimo on 1 maggio 2015 at 11:44
    • Reply

    Ciao Mauro,
    sono alle prime armi e vorrei farti una domanda: ho il raspi b con webiopi perfettamente funzionante.
    Vorrei però modificare qualche scritta e colore della pagina html del webiopi. Ho modificato la pagina index utilizzando ftp per portarmela sul pc e modificata nel browser. Ma quando la riporto nel raspi (sempre tramite ftp) la pagina iniziale è quella di default e le mie modifiche vengono ignorate. Hai un suggerimento per me?
    grazie
    Massimo

    1. Ciao Massimo,
      hai controllato che la pagina richiamata da webiopi sia quella che tu stai modificando?
      Controlla sulla documentazione del prodotto dovrebbe essere riportata.

    2. Ciao Massimo,
      hai verificato che la pagina richiamata dal WebiOpi sia esattamente quella che hai modificato?
      Dovresti verificare nella documentazione del sw quali pagine richiama e come modificarle.

    • Nico on 5 giugno 2015 at 22:57
    • Reply

    Ciao Mauro, volevo chiederti come hai collegato i Led

    1. Ciao Nico,
      l’anodo dei led ai pin 3,5,7 come si vede e legge in tutto l’articolo 🙂
      Il Gnd a Gnd.

    2. Ciao Nico,
      l’anodo dei led ai pin 3,5,7 di Raspberri Pi, cme vedi nelle figure e nel testo dell’articolo.
      Il catodo al Gnd.

      Mauro

    • Nico on 5 giugno 2015 at 23:13
    • Reply

    Ti volevo inoltre chiedere se potevi contattarmi via Mail che vorrei porti alcune domande
    Spero che lo farai, perche reputo questa guida molto interessante 🙂

    1. Ciao Nico,
      non incollare email nei commenti, rischi che ti bombardino di spam.
      Qualsiasi info desideri posso dartela solo attraverso i commenti e dopo che avrai letto e compreso i miei articoli.

    • Willy on 29 luglio 2015 at 18:18
    • Reply

    Bellissimo lavoro ..grazie
    Sei a conoscenza di una giuda per modificare le label del webiopi ? Per poter dare dei nomi aderenti alla fuzione svolta magari potendo configurare i vari pin in out / in modo stabile alla partenza del webiopi ?
    Grazie ancora … Saluti Willy

    1. Ciao Willy,
      a memoria ricordo solo la wiki del progetto che mi sembra sia davvero ben fatta.

    • Willy on 31 luglio 2015 at 19:48
    • Reply

    Grazie per la risposta … dove posso trovarla ??
    Saluti Willy

    1. Ciao Willy,
      penso tu possa cercarla sul web, dovrebbe essere lineata nella pagina del progetto stesso.

  4. Salve sign. Mauro
    Volevo farle delle domande, riguardo il mio progetto di rendere casa mia completamente domotizata e gestita da remoto.
    premetto che sono alle prime armi per quanto riguarda la programmazione , ho un raspberry pi B.
    La prima domanda e’ posso creare o modificare la pagina webiopi per far in modo che compaglia come home page ad asempio la piantina di casa mia (come ad esempio la pagina iniziale di freedomotic ) .
    la seconda domanda e riferita alla gestione dei miei 40 gpio ad esempio inserire un simbolo(lampada) , nel momento che viene cliccata mi fornisce un livello HIGH o LOW , o leggere un segnale ec..
    la ringrazio

    1. Ciao Antonio,
      il progetto Webiopi è molto complesso ma ben documentato, sul loro sito trovi una wiki in cui sono descritti comandi, metodi e librerie da modificare.
      In ogni caso, se sei alle prime armi, dovrai dotarti di tanta pasienza e voglia di studiare per realizzare un progetto come quello che hai in mente devi conoscere almeno 3 o 4 linguaggi di programmazione e l’elettronica approfondita.

    • michele on 28 novembre 2015 at 11:56
    • Reply

    Ciao Mauro, sono Michele mi servirebbe un aiutino ho installato il tutto ma quando vado sul browser per accedere non mi apre la pagina, ip del raspberry è giusto, io ho un raspberry pi 2 model b, grazie per l’aiuto

    1. Ciao Michele,
      come lo descrivi sembra un problema di accesso alla pagina web, sei certo che l’installazione sia andata a buon fine e che tutti i servizi siano partiti in modo corretto sulla RPi

    • michele on 30 novembre 2015 at 10:27
    • Reply

    credo di si dato che da terminale mi dice webiopi in start, ora provo a reinstallare il tutto, grazie per la disponibilità

      • michele on 30 novembre 2015 at 11:08
      • Reply

      ciao Mauro , dopo tutta la procedura ecco il risultato

      root@raspberrypi:/home/pi/WebIOPi-0.6.0# /etc/init.d/webiopi start
      [….] Starting webiopi (via systemctl): webiopi.serviceFailed to start webiopi.service: Unit webiopi.service failed to load: No such file or directory.
      failed!
      root@raspberrypi:/home/pi/WebIOPi-0.6.0#

      leggendo un po’ nei vari forum dicono che il raspberry pi 2 model B non è compatibile con weiopi

    • michele on 30 novembre 2015 at 12:01
    • Reply

    non mi entra neanche nel file di configurazione

    • Alessio on 10 febbraio 2016 at 19:13
    • Reply

    Ciao Mauro
    Ho trovato la tua guida alquanto esplicativa ma non so per quale motivo ma quando vado ad effettuare l’operazione gzip del file scaricao mi restituisce qst errore:
    tar xvzf WebIOPi-0.6.0.tar.gz

    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now

    Ho provato a leggere qualche thread online ma ne viene fuori ben poco.
    Se,bra come se il file è corrotto

    1. Ciao Alessio,
      il messaggio indica che il file non viene riconosciuto dal gzip potresti averlo solo scaricato corrotto, verifica se esiste un MD5sum del file e confrontalo con quello del tuo file.
      In alternativa scarica nuovamente il file.

    • daniel on 13 aprile 2016 at 23:41
    • Reply

    ciao mauro, ho seguito passo passo la tua guida, ma ho un problema, quando vado a collegarmi al mio IP:8000 non mi trova la pagina principale del webiopi, mi sapresti dire perchè?

    1. Ciao Daniel,
      mi servono maggiori dettagli per aiutarti:
      – la porta 8000 è in ascolto sul server?
      – il servizio è attivo?
      – l’IP lo raggiungi ?
      – hai qualche firewall attivo?

      Se non sai come reperire queste informazioni puoi cercarle in un manuale debian o linux sul web.

    • Claudio on 22 agosto 2016 at 21:33
    • Reply

    Ciao Mauro, ho collegato il mio Raspberry PI 2 + scheda relè ai pulsanti di apertura/chiusura e blocco di un cancello scorrevole e ho creato una pagina webiopi nuova con 2 bei pulsantoni APRE/CHIUDE e BLOCCA 🙂
    Tutto funziona alla perfezione a parte questo piccolo inconveniente… Tramite smartphone (iPhone) apro la mia pagina con i comandi ma tutte le volte mi viene richiesta username e password. Non so perchè safari (neanche Chrome o altri browser ) le memorizza.
    Certo, la sicurezza va a farsi benedire perchè poi chiunque può aprirmi il cancello ma giusto per farmi grande una volta con parenti e amici e far vedere che apro il cancello con un tap 😀 che Tu sappia c’è un modo per disattivare il login ?
    Grazie.

    1. Ciao Claudio,
      ho provato Webiopi molto tempo fa, hai cercato nella documentazione del progetto? E’ ben fatta e spiega tante cose interessanti.

    • Mauro on 4 marzo 2017 at 19:43
    • Reply

    Ciao Mauro! Grazie per questo interessantissimo articolo. Sto cercando un sistema per trasmettere gli stati delle porte GPIO ad un server remoto tramite raspberry (cioè usare il raspberry come client e non come server), ma non riesco ad orientarmi. Che linguaggio mi consigli? Python? Ti risulta che sia già stato affrontato l’argomento? Grazie mille!

    1. Ciao Mauro,
      penso possa essere python una buona soluzione, certamente altri hanno scritto sull’argomento, io mai.

    • Candido on 1 luglio 2017 at 15:43
    • Reply

    Ciao..Dopo il solito aggiornamento classico non funziona piu’l’interfaccia WEBIOPI…Mi chiede user e password ma entrando nella sezione GPIO HEADER dopo aver digitato l’indirizzo e la porta 8000 ( aprendola anche sul router) non si vedono piu’ in e out dei pin…Mi dai una mano a capire? grazie

    1. Ciao Candido,
      è molto tempo che non utilizzo questo prodotto, proverò prossimamente per dei progetti a riprenderlo se hai urgenza ti consiglio di leggere la documentazione del progetto che, ricordo, essere scritta molto bene ed eventualmente seguire delle discussioni sul sito ufficiale, se si tratta di un bug qualcun’altro lo avrà segnalato.

    • Candido on 5 luglio 2017 at 06:56
    • Reply

    Grazie della risposta…Ho girato in lungo e in largo sulle documentazioni in rete in merito al problema ma non ho trovato nulla che risolva il problema…Tutto funzionava perfettamente prima del classico aggiornamento…Non sono un grande esperto per cui accetterei volentieri una maano…Grazie

    1. Ciao Candido,
      cercherò di provare anche questa interfaccia ma potrei non avere i tuoi stessi problemi dovresti controllare cosa si sia bloccato.

    • candido on 7 luglio 2017 at 07:59
    • Reply

    Grazie del tuo interessamento…Uso il Raspberry pi 3 quasi esclusivamente per accesso remoto tramite Teamviewer…Non ho niente di installato…Ho solo fatto il classico aggiornamento ( apt-get) ..se ti servono dati chiedi pure..Grazie
    Candido

    1. Ciao Candido,
      dovrò provarlo appena posso con l’ultima versione di raspbian. Intanto prova a crearti una nuova immagine dal sito Raspberry originale ed installa su quella Webiopi .. dimmi poi se funziona.

    • candido on 9 luglio 2017 at 06:55
    • Reply

    OK..vedo di comprare una nuova SD e caricare l’ ultima versione di Raspbian…Il fatto strano e’ che ho due Raspberry identici ( tengo uno di riserva) e lo stesso problema e’ anche sull’ altro…Io credo sia dovuto al nuovo firmware installato…Fammi sapere se hai novita’ in merito..
    I comandi usati per il solo aggiornamento sono stati:

    sudo apt-get install rpi-update
    sudo rpi-update
    sudo apt-get upgrade
    sudo apt-get update

    Grazie

    1. Giusto Candido.

    • candido on 26 luglio 2017 at 11:47
    • Reply

    Ciao Mauro…Hai delle novita’ in merito al problema? Mi sembra che altri abbiano lo stesso inconveniente…Vorrei capire cosa potrebbe essere prima di fare delle cose inutili..Ripeto..Non sono un esperto ma webiopi mi serve…Ci sono altre interfacce web che posso usare? Grazie Candido

    1. Ciao Candido,
      ancora nessun test eseguito, sono impegnato in altri progetti per il momento e non penso a breve di mettermi a lavorare su Webiopi.
      Tu hai fatto qualche altra indagine?

    • candido on 29 luglio 2017 at 08:49
    • Reply

    Ciao…In rete qualcuno ha lo stesso problema ma non trovo soluzioni…Non so proprio dove indagare..

    1. Ciao Candido,
      inizia dal problema che ti si verifica e dai log del prodotto.

    • Candido on 10 agosto 2017 at 06:39
    • Reply

    Ciao Mauro, ho provato a caricare su una sd di prova la nuova versione di Noobs e sopra la nuova versione di Raspian e tutto funziona correttamente…Vorrei solo sapere quale delle due ha creato il problema…Saluti e buone vacanze…Candido

    1. Ciao Candido,
      potrebbe essere uno qualsiasi dei software installati con la precedente versione che in fase di update hanno impedito a WebIoPi di funzionare o la nuova versione di Webiopi potrebbe essere stata adeguata alla versione Raspbian che tu hai installato sulla nuova SD.
      Se sei curioso puoi verificare i log del prodotto e di sistema sulla SD non funzionante.

    • Candido on 11 agosto 2017 at 19:28
    • Reply

    Grazie della risposta..Mi puoi indicare dove trovo i log del prodotto per fare un minimo di analisi?
    Grazie
    Candido

    1. Ciao Candido,
      non ricordo con precisione, dovresti consultare la documentazione del prodotto on-line sul sito dell’autore, trovi il link nell’articolo

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.