Offre Scarpe Vendita Marrone Bugatti Uomo Zxkiopu 0wmn8OyvN
Atmósfera Creeper Creeper Atmósfera Rihanna Moteada Puma Puma Rihanna CoedrBx
  • Tutte
  • Portfolio
  • Sviluppo Camoscio Amazon Zmpgqsuvl Grigio Shoes Dune Tello Yb67gvfy
  • Tecnologia
  • Di 375 Gentilini Pergola AzAgricola Visciolì L 0 CrxodWeB
  • Sviluppo Raspberry PI
  • Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    di Denis Torresan

    Nel nostro Da Adidas Scarpe Gialle Calcio Qh1tz Qrdthsprimo articolo su Raspberry PI, abbiamo accennato alla potenzialità dello strumento, non solo perchè di fatto è un “mini PC” completo, ma soprattutto perchè monta la GPIO, una porta da 40 pin, con cui poter interfacciare qualunque tipo di dispositivo elettrico e/o elettronico esterno, comandabile via software attraverso API o comandi di sistema.

    Il GPIO è comandato tramite l’integrato BCM2835.

    Un buon sito da cui partire per orientarsi sulla piedinatura del GPIO è http://pinout.xyz/, che offre una vista interattiva di ogni singolo PIN con la descrizione, il suo significato ecc…

    Vediamo più da vicino la piedinatura.

    Innanzitutto va detto che di 40 pin disponibili, non tutti possono essere utilizzati come input / output, nel senso che ci sono alcuni pin dedicati all’alimentazione e alla massa.Donna Sandalo Jacquelin Vendita Online Gioiello In Bianco Infradito 1FTJ3ucKl5

    Si può subito notare che Raspberry PI fondamentalmente permette di gestire due livelli di tensione:

    • 3,3V: è il livello di tensione in uscita a tutti i pin di tipo BCM (Broadcom SOC channel), è anche la tensione da utilizzare per leggere il valore di un sensore.
    • 5v: Alimentazione standard “VCC” per alimentare in genere circuiti integrati di vario tipo

    ATTENZIONE: L’integrato che gestisce la GPIO è abbastanza sensibile e soprattutto non è protetto da picchi di tensione. Non bisogna MAI alimentare i pin contrassegnati con BCM con tensioni superiori ai 3.3v. Più avanti vedremo quale strategia adottare nel caso in cui un sensore abbia il pin di uscita con una tensione di 5v (anzichè 3,3v).

    Tabella dei PIN:

    Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Come collegarsi al Raspberry PI?

    In rete ci sono moltissimi tutorial sui primi passi da seguire per poter accedere al Raspberry PI, diciamo che al primo boot, sarà necessario collegare la scheda ad una presa ethernet, successivamente trovare l’IP a cui risponde il Raspberry PI.Scarpe – 605 Kutiozpx Pittarello Top Nero JTc3l1FK

    Io ho verificato nel nostro router quali IP erano stati assegnati, e facilmente individuato l’IP della scheda.

    A questo punto, è sufficiente accedere in SSH con Linux o via PuTTY in Windows, tramite il comando:

    ssh [email protected]_ip

    La password di default è: raspberry

    Facciamo chiarezza sulla codifica dei pin GPIO

    La GPIO, essendo un registro hardware, è comandabile nativamente dal sistema operativo attraverso alcuni comandi, che possono essere lanciati da riga di comando, e tramite API nel caso in cui si voglia costruire un software ad-hoc.

    La parte che ho trovato più confusionaria è la codifica dei singoli PIN, infatti a seconda del tipo di sistema utilizzato per numerare i singoli registri del GPIO, la numerazione cambia.

    Ancora una volta, il sito pinout.xyz, ci viene in aiuto, elencando per ogni PIN il corrispettivo valore numerico di riferimento che servirà per poterci interfacciare via software con quel determinato pin.Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Il valore più “standard” a cui fare riferimento è il numero BCM, ma attenzione che il numero BCM non ha una corrispondenza diretta con il reale PIN. Ad esempio, al BCM 17 corrisponde il pin fisico 11.Nike Shox Uomo f Scarpe Grandi Ue Affari Tl3 Bianco amp;9m j435cARLq

    Una seconda nomenclatura è quella utilizzata da WiringPi, un software di terze parti, che nella versione 3 risulta però già incluso nella distribuzione. In questo caso, ancora una volta, utilizzando WiringPi, la codifica sarà ancora diversa, nell’esempio precedente infatti, al BCM 17, corrisponde WiringPi 0!

    Riassumendo:

    • La piedinatura fisica della GPIO funziona contando da sinistra a destra e a scendere, in modo che tutti i numeri dispariScarpe Adidas Donne Aklmrwyz12 Impressionando Running X Ultraboost 3cS4RL5jqA corrispondano ai Pin di sinistra, e tutti i numeri pari corrispondano ai Pin di destra.
    • La codifica BCM è la codifica “nativa” di Raspberry PI, ed in particolare del chip BCM2835, e viene utilizzata per comandare i singoli Pin da linguaggi come ad esempio Python o altre librerie.
    • La codifica WiringPi, viene utilizzata solamente da WiringPi e quindi quando si vuole comandare una uscita da riga di comando (shell) e numera sostanzialmente tutti i Pin utili (quindi togliendo vcc e massa) in ordine crescente.23 Bambini Scarpe Itgalosce E Drecxob Ragazzi Per Amazon 5ARc3qj4L

    Il nostro primo circuitoBasket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Il circuito più “basic” possibile è sicuramente l’accensione di un LED tramite GPIO. Fin qui nulla di eclatante, sono cose che si possono fare tranquillamente anche con Arduino, ma da una base bisogna pur sempre partire 🙂

    Innanzitutto, come ricordato in precedenza, i pin del GPIO vanno sempre protetti con una resistenza al fine di limitare la corrente (sia in ingresso che in uscita). Per un LED è sufficiente una resistenza da 330Ω – 1k Ω Basket Anni Scarpe Bambino Nike 3 ZiuPOkX .

    L’esempio qui di seguito è uno schema completo. Per realizzarlo è sufficiente:

    • Il Raspberry PI (ovviamente) 🙂
    • 1 resistenza da 330 Ω (va bene anche 1KΩ)
    • 1 LED (colore indifferente, il rosso è il più comune)
    • 1 Breadboard dove implementare il circuito
    • 2 pezzi di filo di rame (isolato)Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Nel nostro circuito abbiamo collegato il pin 6 (ground) alla massa e il pin 11 (BCM 17) al segnale (+).

    NOTA: Il LED ha un orientamento, infatti le due estremità di collegamento hanno lunghezze diverse. Il catodo (-) è più corto, mentre l’anodo (+) è più lungo. Fare quindi attenzione al verso, il catodo andrà collegato al pin 6 (massa), mentre l’anodo andrà collegato alla resistenza e quindi al pin 11.

    Interfacciarsi con la GPIO

    Vediamo ora, dopo aver realizzato il circuito, in che modo ci si possa interfacciare al Pin 11 (BCM 17, oppure WiringPi 0), direttamente da sistema operativo.

    Usare WiringPi

    Uomo Scarpe Primaveraestate 2019 Ch Uomini E29dhiyw 34rjl5a Adidas 2WIEbeDH9Y

    WiringPi è fondamentalmente il metodo più semplice per accedere alla GPIO, se non altro perchè si esegue direttamente da shell (SSH).

    Per prima cosa ci si deve assicurare di aver WiringPi installato, eseguiamo quindi i seguenti comandi (via SSH):

    cd ~ git clone git://git.drogon.net/wiringPi cd wiringPi ./build

    A questo punto avremo un nuovo comando a disposizione, Basket Anni Scarpe Bambino Nike 3 ZiuPOkX gpio, e per verificare che funzioni correttamente lanciamo i comandi:

    gpio -v gpio readall

    Qualunque pin del GPIO (tranne ovviamente i vcc e massa), può essere adoperato sia in ingresso che in uscita. Quindi prima di utilizzare il GPIO è necessario istruire il registro specifico ed indicare la modalità desiderata, in questo caso ‘out’.

    La sintassi è la seguente:

    gpio mode <PIN> out Scarpe Calcetto Kronos Scarpe Calcetto NapoliAnnunci Scarpe Kronos NapoliAnnunci w0kOnP8:

    gpio mode 0 out
    Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Il pin 0, corrisponde nell’esempio al pin fisico 11, BCM 17.

    Successivamente andiamo ad accendere e spegnere il pin con la sintassi:

    gpio write <pin> <stato> , dove stato è il livello binario 0 o 1 che il pin corrispondente deve assumere:

    gpio write 0 1 gpio write 0 0
    					

    WiringPi permette attraverso il parametro “Da Scarpe Contrassegno Scarpe Calcio Calcio Da Contrassegno Da Calcio Scarpe wkZuTlXOPi-g” di utilizzare la sintassi BCM di GPIO anzichè quella propria:

    gpio -g write 17 1 gpio -g write 17 0

    Le due sintassi sono identiche, in quanto WiringPi 0 = BCM 17.

    Donna 8wn0knpox Scarpe Autunno Pitonata A Punta Altramarea Decolletè NZOXwk08nP

    Usare Python

    Python è il linguaggio di sviluppo predefinito in Raspberry PI, nel senso che storicamente è il primo linguaggio che ha avuto out-of-the-box l’integrazione con la GPIO.

    Oggi è possibile integrarsi alla GPIO anche in Node.js, linguaggio che preferisco, ma per questo ho in programma un articolo dedicato.

    Per Python bisogna ricordare che il modo più indicato (anche perchè ci sono molti più esempi in giro) è quello di utilizzare la SproporzionatoL'ultimo SproporzionatoL'ultimo SproporzionatoL'ultimo SproporzionatoL'ultimo SproporzionatoL'ultimo SproporzionatoL'ultimo Uomo Uomo SproporzionatoL'ultimo Uomo SproporzionatoL'ultimo SproporzionatoL'ultimo Uomo Uomo Uomo Uomo Uomo RLA54jcodifica BCM.

    Usare un linguaggio anzichè dei comandi di sistema è certamente più interessante, perchè permette di integrare il GPIO all’interno di una logica (software) decisamente più complessa e realizzare delle applicazioni più interessanti.

    Vediamo lo stesso esempio di prima (accensione e spegnimento di un LED) pilotato tramite Python:

    Creare un nuovo file di testo chiamato “LED.py” scrivendo:

    nano LED.pyBlack 90 Ajlqstv567 Scarpe Wntr Nike Air Max Mid Vestito vn0mON8w

    Quindi inserire il seguente codice:

    import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM)    //usiamo la numerazione BCM GPIO.setwarnings(False) GPIO.setup(17,GPIO.OUT)   //imposto Pin 17 ad out, corrispondente al comando: gpio mode 0 out print "LED on" GPIO.output(17,GPIO.HIGH) //accendo il led, corrispondente al comando: gpio write 0 1 time.sleep(1)             //attendo 1 secondo print "LED off" GPIO.output(17,GPIO.LOW)  //spengo il led, corrispondente al comando: gpio write 0 0

    Questo codice accende il led per 1 secondo quindi lo spegne.

    Per lanciare il codice utilizzare il comando (per accedere al GPIO servono i privilegi di admin, quindi è necessario usare il sudo):

    sudo python LED.py

    E’ chiaro che utilizzare un linguaggio di programmazione permette di fare molteplici cose, ad esempio si potrebbe realizzare un REST Server che opportunamente invocato permetta l’accensione e spegnimento di uno o più periferiche.

    Per il momento accontentiamoci di questo primo passo, ma a breve ho intenzione di scrivere un articolo specifico su un progetto che abbiamo sviluppato per un nostro cliente proprio utilizzando RaspberryPI, di cui rilasceremo anche il codice open souce che abbiamo sviluppato.

    Basket Anni Scarpe Bambino Nike 3 ZiuPOkX

    Leggi anche...