Diferència entre revisions de la pàgina «Pantalla OLED al cap de l'IoT-Vertebrae»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 6 revisions intermèdies del mateix usuari que no es mostren)
Línia 3: Línia 3:
 
[[Image:IoTVertebraeV1.1a.jpg|center|thumb|Conjunt IoT-Vertebrae amb el cap v1.1]]
 
[[Image:IoTVertebraeV1.1a.jpg|center|thumb|Conjunt IoT-Vertebrae amb el cap v1.1]]
 
= Preparació del programari necessari =
 
= Preparació del programari necessari =
 +
* Actualització de paquets
 
  sudo apt install python3-dev python3-pip python3-numpy libfreetype6-dev libjpeg-dev build-essential
 
  sudo apt install python3-dev python3-pip python3-numpy libfreetype6-dev libjpeg-dev build-essential
 
  sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev
 
  sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev
Línia 10: Línia 11:
 
  sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5 -y
 
  sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5 -y
 
  sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff6 -y
 
  sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff6 -y
 
+
* Creació d'un entorn virtual de Python independent del principal:
git clone https://github.com/rm-hull/luma.examples.git
+
  mkdir codis
  cd luma.examples/
+
  cd codis
 
 
  cd ..
 
 
  mkdir oled-screen
 
  mkdir oled-screen
 
  cd oled-screen/
 
  cd oled-screen/
Línia 20: Línia 19:
 
  source venv/bin/activate
 
  source venv/bin/activate
 
  pip3 install --upgrade pip
 
  pip3 install --upgrade pip
 +
python -m pip install --upgrade pip
 
  pip install PEP668
 
  pip install PEP668
 +
pip install --upgrade pip setuptools wheel
 +
sudo -H pip install psutil
 +
python -m pip install psutil
 +
 +
* Descàrrega dels exemples de ''rm-hull'' a GitHub:
 +
git clone https://github.com/rm-hull/luma.examples.git
 +
cd luma.examples/
 
  sudo -H pip install -e .
 
  sudo -H pip install -e .
pip install --upgrade pip setuptools wheel
 
 
  python -m pip install --upgrade luma.oled
 
  python -m pip install --upgrade luma.oled
 
+
* Prova d'alguns exemples
cd ../luma.examples/
 
 
  cd examples/
 
  cd examples/
 
  python 3d_box.py  
 
  python 3d_box.py  
 
  python crawl.py
 
  python crawl.py
  python -m pip install --upgrade pip
+
  python '''sys_info_extended.py'''
sudo -H pip install psutil
 
python -m pip install psutil
 
python sys_info_extended.py
 
python sys_info.py
 
python sys_info_extended.py
 
  
 
= Pantalla OLED com a servei =
 
= Pantalla OLED com a servei =
Línia 51: Línia 51:
 
  [Install]
 
  [Install]
 
  WantedBy=multi-user.target
 
  WantedBy=multi-user.target
 +
 +
La ruta de l'intèrpret d'entorn '''/home/pi/codis/oled-screen/venv/bin/python''' ha de coincidir amb la vostra.
 +
 +
La ruta de '''/home/pi/codis/luma.examples/examples/'''sys_info_extended.py ha de coincidir amb la vostra.
 +
 
== Activació del servei ==
 
== Activació del servei ==
 
* Copieu l'arxiu '''oled_head.service''' a /etc/systemd/system/
 
* Copieu l'arxiu '''oled_head.service''' a /etc/systemd/system/
  sudo cp oled_head.service/etc/systemd/system/  
+
  sudo cp '''oled_head.service''' /etc/systemd/system/  
 
La ruta absoluta serà: /etc/systemd/system/oled_head.service
 
La ruta absoluta serà: /etc/systemd/system/oled_head.service
  
 
* Recarregueu els serveis:
 
* Recarregueu els serveis:
  sudo systemctl daemon-reload
+
  '''sudo systemctl daemon-reload'''
  
 
* Feu que el servei s'executi quan la Raspberry Pi es posi en marxa. Degut a l'opció Wants d'aquest arxiu, es farà l'execució (de l'opció ExecStart) un cop s'hagi aconseguit una IP:
 
* Feu que el servei s'executi quan la Raspberry Pi es posi en marxa. Degut a l'opció Wants d'aquest arxiu, es farà l'execució (de l'opció ExecStart) un cop s'hagi aconseguit una IP:
  sudo systemctl enable oled_head.service
+
  sudo systemctl '''enable''' oled_head.service
  
 
* Per a posar en marxa el servei, sense haver de reiniciar la Raspberry:
 
* Per a posar en marxa el servei, sense haver de reiniciar la Raspberry:
  sudo systemctl start oled_head.service
+
  sudo systemctl '''start''' oled_head.service
  
 
* Per a aturar el servei:
 
* Per a aturar el servei:
  sudo systemctl stop oled_head.service
+
  sudo systemctl '''stop''' oled_head.service
  
 
* Per a que el servei no s'engegui al reiniciar la Raspberry (per si voleu desfer l'activació quan arrenca la Raspberry Pi):
 
* Per a que el servei no s'engegui al reiniciar la Raspberry (per si voleu desfer l'activació quan arrenca la Raspberry Pi):
  sudo systemctl disable oled_head.service
+
  sudo systemctl '''disable''' oled_head.service
 +
= Font =
 +
[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]

Revisió de 12:11, 10 maig 2024

A partir de la versió 1.1 del cap de l'IoT-Vertebrae s'ha afegit un connector per a posar una pantalla OLED emprant el bis I2C

Conjunt IoT-Vertebrae amb el cap v1.1

Preparació del programari necessari[modifica]

  • Actualització de paquets
sudo apt install python3-dev python3-pip python3-numpy libfreetype6-dev libjpeg-dev build-essential
sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev
sudo apt install python3-smbus i2c-tools python3-pil python3-setuptools python3-rpi.gpio python3-venv
sudo apt install libxml2-dev libxmlsec1-dev
sudo apt install -y python3-pil libjpeg-dev zlib1g-dev python3-av
sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5 -y
sudo apt install -y libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff6 -y
  • Creació d'un entorn virtual de Python independent del principal:
mkdir codis
cd codis
mkdir oled-screen
cd oled-screen/
python3 -m venv venv
source venv/bin/activate
pip3 install --upgrade pip
python -m pip install --upgrade pip
pip install PEP668
pip install --upgrade pip setuptools wheel
sudo -H pip install psutil
python -m pip install psutil
  • Descàrrega dels exemples de rm-hull a GitHub:
git clone https://github.com/rm-hull/luma.examples.git
cd luma.examples/
sudo -H pip install -e .
python -m pip install --upgrade luma.oled
  • Prova d'alguns exemples
cd examples/
python 3d_box.py 
python crawl.py
python sys_info_extended.py

Pantalla OLED com a servei[modifica]

Arxiu oled_head.service[modifica]

Feu un arxiu anomenat oled_head.service amb aquest contingut

[Unit]
Description=Oled IoT-Vertebrae Head Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
# Restart=always
ExecStart=/home/pi/codis/oled-screen/venv/bin/python /home/pi/codis/luma.examples/examples/sys_info_extended.py

[Install]
WantedBy=multi-user.target

La ruta de l'intèrpret d'entorn /home/pi/codis/oled-screen/venv/bin/python ha de coincidir amb la vostra.

La ruta de /home/pi/codis/luma.examples/examples/sys_info_extended.py ha de coincidir amb la vostra.

Activació del servei[modifica]

  • Copieu l'arxiu oled_head.service a /etc/systemd/system/
sudo cp oled_head.service /etc/systemd/system/ 

La ruta absoluta serà: /etc/systemd/system/oled_head.service

  • Recarregueu els serveis:
sudo systemctl daemon-reload
  • Feu que el servei s'executi quan la Raspberry Pi es posi en marxa. Degut a l'opció Wants d'aquest arxiu, es farà l'execució (de l'opció ExecStart) un cop s'hagi aconseguit una IP:
sudo systemctl enable oled_head.service
  • Per a posar en marxa el servei, sense haver de reiniciar la Raspberry:
sudo systemctl start oled_head.service
  • Per a aturar el servei:
sudo systemctl stop oled_head.service
  • Per a que el servei no s'engegui al reiniciar la Raspberry (per si voleu desfer l'activació quan arrenca la Raspberry Pi):
sudo systemctl disable oled_head.service

Font[modifica]

Using an I2C OLED Display Module with the Raspberry Pi