Display OLED i2c su Raspberry Pi 3 con Fedora 27: differenze tra le versioni
(Creata pagina con "Provato con<br/> Display chipset: ssd1306<br/> Interfaccia: i2c<br/> Dimensioni: 128 x 64 Creiamo un gruppo che possa avere il diritto di accedere ai device i2c senza avere b...") |
Nessun oggetto della modifica |
||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 9: | Riga 9: | ||
$ sudo usermod $USER -G i2cuser -a | $ sudo usermod $USER -G i2cuser -a | ||
Creiamo una regola UDEV, così che i device i2c sotto | Creiamo una regola UDEV, così che i device i2c sotto <code>/dev</code> vengano creati con il gruppo e i permessi giusti | ||
$ echo "SUBSYSTEM==\"i2c-dev\", GROUP=\"i2cuser\", MODE=\"0660\"" | sudo tee /etc/udev/rules.d/50-i2c.rules | $ echo "SUBSYSTEM==\"i2c-dev\", GROUP=\"i2cuser\", MODE=\"0660\"" | sudo tee /etc/udev/rules.d/50-i2c.rules | ||
Usciamo dalla sessione corrente e rientra.<br/> | Usciamo dalla sessione corrente e rientra.<br/> | ||
Installiamo il pacchetto | Installiamo il pacchetto <code>i2c-tools</code> | ||
$ sudo dnf install i2c-tools | $ sudo dnf install i2c-tools | ||
Riga 30: | Riga 30: | ||
Colleghiamo il display OLED al Raspberry: | Colleghiamo il display OLED al Raspberry: | ||
GND -> pin 39 | GND -> pin 39<br/> | ||
VCC -> pin 1 | VCC -> pin 1<br/> | ||
SCL -> pin 5 | SCL -> pin 5<br/> | ||
SDA -> pin 3 | SDA -> pin 3 | ||
Riga 65: | Riga 65: | ||
$ git clone https://github.com/rm-hull/luma.examples.git | $ git clone https://github.com/rm-hull/luma.examples.git | ||
E | E verifichiamo se tutto funziona | ||
$ cd luma.examples/examples | $ cd luma.examples/examples | ||
$ python3 ./welcome.py | $ python3 ./welcome.py | ||
[[Category:Fedora]] | |||
[[Category:Raspberry]] |
Versione attuale delle 01:11, 9 nov 2017
Provato con
Display chipset: ssd1306
Interfaccia: i2c
Dimensioni: 128 x 64
Creiamo un gruppo che possa avere il diritto di accedere ai device i2c senza avere bisogno dei permessi di root, e aggiungiamo il tuo utente a questo gruppo
$ sudo groupadd i2cuser $ sudo usermod $USER -G i2cuser -a
Creiamo una regola UDEV, così che i device i2c sotto /dev
vengano creati con il gruppo e i permessi giusti
$ echo "SUBSYSTEM==\"i2c-dev\", GROUP=\"i2cuser\", MODE=\"0660\"" | sudo tee /etc/udev/rules.d/50-i2c.rules
Usciamo dalla sessione corrente e rientra.
Installiamo il pacchetto i2c-tools
$ sudo dnf install i2c-tools
Verifichiamo che l'adattatore i2c sia visibile dal sistema
$ i2cdetect -l -a
L'output dovrebbe essere qualcosa del genere:
i2c-1 i2c bcm2835 I2C adapter I2C adapter i2c-2 i2c bcm2835 I2C adapter I2C adapter i2c-0 i2c bcm2835 I2C adapter I2C adapter
Colleghiamo il display OLED al Raspberry:
GND -> pin 39
VCC -> pin 1
SCL -> pin 5
SDA -> pin 3
Verifichiamo che il device sia visibile
$ i2cdetect -y 1
L'output dovrebbe essere così:
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Installiamo qualche altro pacchetto, in modo da usare qualche libreria Python
$ sudo dnf install git gcc python3-pillow redhat-rpm-config python3-devel
In questo caso utilizzeremo il modulo luma: https://luma-oled.readthedocs.io/en/latest/intro.html, che sembra abbastanza semplice da usare, o per lo meno funziona
$ pip3 install --upgrade luma.oled --user
Cloniamo gli esempi dal repository github
$ git clone https://github.com/rm-hull/luma.examples.git
E verifichiamo se tutto funziona
$ cd luma.examples/examples $ python3 ./welcome.py