«

»

Mag 29

Stampa Articolo

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 !!!

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/webiopi-raspberry-controllo-remoto-gpio.html

119 comments

Vai al modulo dei commenti

  1. gianluca

    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. Mauro Alfieri

      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

  2. Agostino

    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. Mauro Alfieri

      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

  3. Simone

    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. Mauro Alfieri

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

      Mauro

  4. Luca

    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. Mauro Alfieri

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

      Mauro

  5. Luca

    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. Mauro Alfieri

      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

  6. Gianfranco

    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. Mauro Alfieri

      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

      1. Gianfranco

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

        Ancora grazie.
        Gianfranco

        1. Mauro Alfieri

          Ottimo Gianfranco sono contento.

          Mauro

  7. Gianfranco

    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. Mauro Alfieri

      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

  8. Fabrizio

    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. Mauro Alfieri

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

      Mauro

  9. Fabrizio

    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. Mauro Alfieri

      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

  10. Alessandro

    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. Mauro Alfieri

      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

  11. winsum

    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. Mauro Alfieri

      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

  12. Michele

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

    1. Mauro Alfieri

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

      Mauro

  13. emanuele

    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. Mauro Alfieri

      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

  14. emanuele

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

    1. Mauro Alfieri

      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

  15. daniela

    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. Mauro Alfieri

      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.

  16. daniela

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

    grazie

    1. Mauro Alfieri

      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.

  17. Fabrizio

    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. Mauro Alfieri

      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è.

  18. Fabrizio

    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. Mauro Alfieri

      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.

  19. fabrizio

    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. Mauro Alfieri

      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.

  20. Fabrizio

    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. Mauro Alfieri

      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.

  21. Daniele

    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. Mauro Alfieri

      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.

  22. massimo

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

    1. Mauro Alfieri

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

  23. Mirko

    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. Mauro Alfieri

      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.

      1. Mirko

        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. Mauro Alfieri

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

  24. Giovanni Marchese

    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. Mauro Alfieri

      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+

  25. Michele

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

    1. Mauro Alfieri

      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.

  26. Michele

    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. Mauro Alfieri

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

  27. Luigi

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

    Questo Webiopi non tiene conto degli altri GPIO?

    1. Mauro Alfieri

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

  28. Vincenzo

    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. Mauro Alfieri

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

  29. Gianmarco

    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. Mauro Alfieri

      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.

      1. Gianmarco

        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. Mauro Alfieri

          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

          1. Gianmarco

            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 🙂

          2. Mauro Alfieri

            Ottimo Gianmarco.

  30. Emanuele

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

    1. Mauro Alfieri

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

      Mauro

      1. Emanuele

        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. Mauro Alfieri

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

          1. Emanuele

            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ù.

          2. Mauro Alfieri

            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 ?

          3. Emanuele

            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.

          4. Mauro Alfieri

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

  31. enrico

    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. Mauro Alfieri

      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.

  32. massimo

    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. Mauro Alfieri

      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. Mauro Alfieri

      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.

  33. Nico

    Ciao Mauro, volevo chiederti come hai collegato i Led

    1. Mauro Alfieri

      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. Mauro Alfieri

      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

  34. Nico

    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. Mauro Alfieri

      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.

  35. Willy

    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. Mauro Alfieri

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

  36. Willy

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

    1. Mauro Alfieri

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

  37. Antonio

    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. Mauro Alfieri

      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.

  38. michele

    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. Mauro Alfieri

      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

  39. michele

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

    1. michele

      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

  40. michele

    non mi entra neanche nel file di configurazione

  41. Alessio

    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. Mauro Alfieri

      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.

  42. daniel

    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. Mauro Alfieri

      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.

  43. Claudio

    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. Mauro Alfieri

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

  44. Mauro

    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. Mauro Alfieri

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

  45. Candido

    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. Mauro Alfieri

      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.

  46. Candido

    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. Mauro Alfieri

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

  47. candido

    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. Mauro Alfieri

      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.

  48. candido

    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. Mauro Alfieri

      Giusto Candido.

  49. candido

    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. Mauro Alfieri

      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?

  50. candido

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

    1. Mauro Alfieri

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

  51. Candido

    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. Mauro Alfieri

      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.

  52. Candido

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

    1. Mauro Alfieri

      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

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>