Spedizione gratuita da 74,95 € NL (99,95 € BE/DE)

Consegna veloce con DHL

Ordinato prima delle XNUMX:XNUMX = Spedito oggi

Restituzione entro XNUMX giorni*


Paese

Durante questo progetto che è il seguito di introduzione di come creare un server web† Stai per creare un server web con il quale puoi accendere e spegnere una luce a LED.

Questo è un progetto principiante/intermedio in cui prendi le conoscenze dall'introduzione e le espandi ulteriormente. Lo facciamo inviando un segnale ai pin GPIO tramite un server web per accendere o spegnere una luce. I pin GPIO su Raspberry Pi sono i perni di sterzo. Ci sono 26 pin GPIO, 8 pin di terra, 2 pin da 3,3 V, 2 pin da 5 V e 2 pin ID EEPROM.

Per questo progetto utilizziamo nuovamente il software Raspbian.

  • Livello – Principiante 40% 40%
  • Durata – 20/25 Min 30% 30%
  • Costi – € 70.93 euro completo 50% 50%

Passaggio 1: forniture

1X Raspberry Pi

Cavo HDMI 1X

Monitor 1X

Tastiera 1X

1X mouse

1X raspbian micro SDHC da 16 GB

1X Raspberry Pi adattatore di alimentazione

Cavo jumper 2X M/F

Passaggio 2: costruisci e cabla

Ora che hai raccolto tutto puoi iniziare a cablarlo.

Per prima cosa metti la luce a LED nel paneboard quindi sai ancora qual è il vantaggio e il meno, il pin lungo è il più e il corto il meno. Nel momento in cui lo cambi accidentalmente, ad esempio, la tua lampada a LED può rompersi.

Quindi si passa dal più con una resistenza da 220 ohm al più del paneboard† Il motivo per cui metti un resistore prima o dopo la luce è per limitare la quantità di corrente che lo attraversa. Ciò a sua volta assicura che la tua luce a LED non possa rompersi improvvisamente. Dal plus sul paneboard vai al pin GPIO 2 che si trova nella riga inferiore il secondo da sinistra e per ultimo vai da uno dei pin di terra al meno della tua luce a LED. Il perno di messa a terra che sto usando qui è nella riga superiore ed è il terzo da destra.

Ora devi anche collegare il display, il mouse, la tastiera e l'alimentatore. Si collega lo schermo tramite la connessione HDMI con un cavo HDMI. Collegare il mouse e la tastiera tramite la connessione USB e l'alimentazione tramite la connessione micro USB.

Passaggio 3: programmazione

Ora che hai tutto connesso puoi iniziare a programmare il tuo Raspberry Pi.

Eseguiamo la programmazione nell'IDE tramite Thony Python e nell'Editor di testo. Il primo codice seguente è il codice che dovrebbe entrare nell'IDE di Thonny Python. Questo codice assicura che il tuo server web si accenda e che quando un segnale viene inviato attraverso il server, attivi il pin GPIO.

Il secondo codice è il tuo file HTML, che assicura che possiamo inviare un segnale al Raspberry tramite il server web. Una volta che sai come funziona, puoi persino inserire più pulsanti sul tuo server.

Anche per questo progetto devi rimettere il file py e html nella stessa cartella, altrimenti il ​​server non funzionerà.

Devi inserire il codice qui sotto nell'IDE di Thony Python.

da flask import Flask, send_file

importa RPi.GPIO come GPIO

 

#qui definisci i pin GPIO

GPIO.setmod(GPIO.BCM)

portato = 2

GPIO.setup(led, GPIO.OUT)

 

app = Flask('luce')

 

@app.route('/')

def indice():

       return send_file('light.html')

 

@app.route('/images/

def get_image(nome file):

       return send_file('images/'+filename)

 

#quando il server dà il segnale di accensione, la spia si accende

@app.route('/turnOn')

def attiva():

       GPIO.uscita(led, GPIO.HIGH)

       ritorno 'acceso'

 

#quando il server dà il segnale di spegnimento, la spia si spegne    

@app.route('/turnOff')

def disattiva():

       GPIO.uscita(led, GPIO.BASSO)

       ritorna 'spento'

 

app.run(debug=true, porta=3000, host='0.0.0.0')

Il codice seguente è il codice html che devi scrivere nell'editor di testo e quindi nominarlo light.html e metterlo nella stessa cartella del tuo file py.


      

             luce internet

            

            

             .testa{

                    Larghezza: 50%;

                     margine: 0 auto;

                    text-align: center;

             }

             .contenuto{

                    Larghezza: 50%;

                    margine: 10% auto;

                    text-align: center;

                    font-size: 30px;

             }

             .pulsante{

                    margine: 20px;

                    larghezza: 200px;

                    altezza: 100px;

                    bordo: solido 5px;

                    bordo-raggio: 30px;

                    altezza della linea: 60px;

                    font-size: 25px;

                    text-align: center;

             }

             #produzione{

                    text-align: center;

                    font-size: 20px;

                    colore: #AAA;

             }

            

            

             pulsante var;

             var uscita;

             var su = vero;

             window.onload = funzione(){

                    pulsante = document.getElementById('pulsante');

                    output = document.getElementById('output');

                    button.style.backgroundColor = '#CFD0D0';

                    button.style.borderColor = '#F1F1F1';

                    output.innerHTML = ' ';

             }

             var invia = funzione(){

                    var xhr = nuovo XMLHttpRequest();

                    output.innerHTML = 'Aspetta...';

                    se(su === vero){

                           xhr.open('GET', 'turnOn', true);

                    Else {}

                           xhr.open('GET', 'turnOff', true);

                    }

                    xhr.onreadystatechange = funzione(){

                           console.log(xhr.readystate, xhr.response);

                           se(xhr.readystate === 4){

                                  if(xhr.risposta === ”){

                                        output.innerHTML = 'Nessuna connessione';

                                  Else {}

                                        output.innerHTML = ' ';

                                        se(su === vero){

                                               button.innerHTML = 'Disattiva';

                                               button.style.backgroundColor = '#FF0';

                                               button.style.borderColor = '#CC0';

                                        Else {}

                                               button.innerHTML = 'Accendi';

                                               button.style.backgroundColor = '#CFD0D0';

                                               button.style.borderColor = '#F1F1F1';

                                        }

                                        acceso = ! acceso;

                                  }

                           }

                    }

                    xhr.invia();

             }

            

      

      

            

                    luce

                   

             </div>

            

                    accendere

                    Caricamento in corso…

             </div>

      

L'apprezzamento di www.electronicsvoorjou.nl at Recensioni WebwinkelKeur è 9.3 / 10 basato su 5008 recensioni.