Diferència entre revisions de la pàgina «Com connectar-hi pantalles OLED SSD1306 (128x64)»
(Es crea la pàgina amb « Activeu l'I2C i la comunicació SSH fent servir ''raspi-config'': pi@raspberrypi:~ $ sudo raspi-config Opció ''Interfacing Options'': ''5'' Interfacing Options '...».) |
(→Execució des de l'arrencada) |
||
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | == Preparació prèvia a la instal·lació == | ||
Activeu l'I2C i la comunicació SSH fent servir ''raspi-config'': | Activeu l'I2C i la comunicació SSH fent servir ''raspi-config'': | ||
Línia 42: | Línia 43: | ||
Per a que corri amb sudo cal: | Per a que corri amb sudo cal: | ||
− | $ sudo pip3 install pillow | + | $ sudo pip3 install pillow |
− | $ sudo pip3 install RPi.GPIO | + | $ sudo pip3 install RPi.GPIO |
Línia 50: | Línia 51: | ||
+ | == Instal·lació == | ||
− | Explicació basada en aquesta pàgina: [https://www.raspberrypi-spy.co.uk/2018/04/i2c-oled-display-module-with-raspberry-pi/ Using an I2C OLED Display Module with the Raspberry Pi] | + | Feu dos directoris: |
+ | $ cd ~ | ||
+ | $ mkdir code | ||
+ | $ mkdir logs | ||
+ | |||
+ | Cloneu i instal·leu la biblioteca de Python d'Adafruit per a la pantalla OLED SSD1306: | ||
+ | $ cd code | ||
+ | $ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git | ||
+ | $ cd Adafruit_Python_SSD1306 | ||
+ | $ sudo python3 setup.py install | ||
+ | |||
+ | Editeu l'exemple per a seleccionar la pantalla 128x64 en comptes de la 128x32: | ||
+ | $ nano /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py | ||
+ | |||
+ | # 128x32 display with hardware I2C: | ||
+ | # disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST) | ||
+ | # 128x64 display with hardware I2C: | ||
+ | disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST) | ||
+ | |||
+ | Proveu el funcionament: | ||
+ | $ python3 /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py | ||
+ | |||
+ | |||
+ | == Execució des de l'arrencada == | ||
+ | Cal que feu un arxiu de guió (''script'') que faci de llançadora del programa que volem executar quan s'iniciï la Raspberry Pi | ||
+ | $ cd ~ | ||
+ | $ cd code | ||
+ | $ mkdir bbt | ||
+ | $ cd bbt | ||
+ | $ nano launcher.sh | ||
+ | |||
+ | Una proposta de codi de l'arxiu de guió per la llançadora: | ||
+ | #!/bin/sh | ||
+ | # launcher.sh | ||
+ | cd / | ||
+ | python3 /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py & | ||
+ | cd / | ||
+ | |||
+ | El símbol et (''&'') assegura l'execució en segon pla. Altrament l'arrencada es quedaria clavada fins que no finalitzés l'execució del programa. | ||
+ | |||
+ | Doneu permisos d'execució al guió que fa de llançadora: | ||
+ | $ chmod +x launcher.sh | ||
+ | |||
+ | Editeu amb el nano el ''crontab'' de l'usuari primari (''root''): | ||
+ | $ sudo EDITOR=nano crontab -e | ||
+ | |||
+ | I afegiu la llançadora a l'inici: | ||
+ | @reboot sh /home/pi/code/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1 | ||
+ | |||
+ | |||
+ | Quan reinicieu la Raspberry, i després de tot el procés d'arrencada, us sortirà la informació per la pantalla OLED: | ||
+ | |||
+ | [[File:OledRPi.jpg|center|1024px|caption]] | ||
+ | |||
+ | == Bibliografia i fonts == | ||
+ | |||
+ | Explicació parcialment basada en aquesta pàgina: [https://www.raspberrypi-spy.co.uk/2018/04/i2c-oled-display-module-with-raspberry-pi/ Using an I2C OLED Display Module with the Raspberry Pi] | ||
Alternativa d'explicació: [https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black/overview SSD1306 OLED Displays with Raspberry Pi and BeagleBone Black] | Alternativa d'explicació: [https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black/overview SSD1306 OLED Displays with Raspberry Pi and BeagleBone Black] |
Revisió de 17:42, 11 maig 2018
Contingut
Preparació prèvia a la instal·lació
Activeu l'I2C i la comunicació SSH fent servir raspi-config:
pi@raspberrypi:~ $ sudo raspi-config
Opció Interfacing Options:
5 Interfacing Options Configure connections to peripherals P2 SSH Enable/Disable remote command line access to your Pi using SSH P5 I2C Enable/Disable automatic loading of I2C kernel module
Instal·leu els paquets python-smbus i i2c-tools:
pi@raspberrypi:~ $ sudo apt-get install -y python-smbus i2c-tools
Reinicieu la Raspberry Pi. Un cop reiniciada, feu servir l'eina i2cdetect per a detectar els dispositius connectats al bus I2C (1) de la Raspberry Pi:
pi@raspberrypi:~ $ sudo i2cdetect -y 1 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: -- -- -- -- -- -- -- --
Instal·leu els paquets python3, python3-pip i python-libtiff:
pi@raspberrypi:~ $ sudo apt install python3 python3-pip python-libtiff
Instal·leu les dependències libopenjp2-7-dev i libtiff5
pi@raspberrypi:~ $ sudo apt install libopenjp2-7-dev libtiff5
Instal·leu les biblioteques de Python3 pillow i RPi.GPIO
pi@raspberrypi:~ $ pip3 install pillow pi@raspberrypi:~ $ pip3 install RPi.GPIO
Per a que ho pugui executar l'usuari primari (root):
pi@raspberrypi:~ $ sudo pip3 install pillow pi@raspberrypi:~ $ sudo pip3 install RPi.GPIO
Instal·leu el paquet git:
pi@raspberrypi:~ $ sudo apt install git
Per a que corri amb sudo cal:
$ sudo pip3 install pillow $ sudo pip3 install RPi.GPIO
És convenient fer la instal·lació del paquet screen:
pi@raspberrypi:~ $ sudo apt install screen
Instal·lació
Feu dos directoris:
$ cd ~ $ mkdir code $ mkdir logs
Cloneu i instal·leu la biblioteca de Python d'Adafruit per a la pantalla OLED SSD1306:
$ cd code $ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git $ cd Adafruit_Python_SSD1306 $ sudo python3 setup.py install
Editeu l'exemple per a seleccionar la pantalla 128x64 en comptes de la 128x32:
$ nano /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py
# 128x32 display with hardware I2C: # disp = Adafruit_SSD1306.SSD1306_128_32(rst=RST) # 128x64 display with hardware I2C: disp = Adafruit_SSD1306.SSD1306_128_64(rst=RST)
Proveu el funcionament:
$ python3 /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py
Execució des de l'arrencada
Cal que feu un arxiu de guió (script) que faci de llançadora del programa que volem executar quan s'iniciï la Raspberry Pi
$ cd ~ $ cd code $ mkdir bbt $ cd bbt $ nano launcher.sh
Una proposta de codi de l'arxiu de guió per la llançadora:
#!/bin/sh # launcher.sh cd / python3 /home/pi/code/Adafruit_Python_SSD1306/examples/stats.py & cd /
El símbol et (&) assegura l'execució en segon pla. Altrament l'arrencada es quedaria clavada fins que no finalitzés l'execució del programa.
Doneu permisos d'execució al guió que fa de llançadora:
$ chmod +x launcher.sh
Editeu amb el nano el crontab de l'usuari primari (root):
$ sudo EDITOR=nano crontab -e
I afegiu la llançadora a l'inici:
@reboot sh /home/pi/code/bbt/launcher.sh >/home/pi/logs/cronlog 2>&1
Quan reinicieu la Raspberry, i després de tot el procés d'arrencada, us sortirà la informació per la pantalla OLED:
Bibliografia i fonts
Explicació parcialment basada en aquesta pàgina: Using an I2C OLED Display Module with the Raspberry Pi
Alternativa d'explicació: SSD1306 OLED Displays with Raspberry Pi and BeagleBone Black