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
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
 
cd luma.examples/
 
 
 
 
  cd ..
 
  cd ..
 
  mkdir oled-screen
 
  mkdir oled-screen
Línia 20: Línia 18:
 
  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 =

Revisió del 12:07, 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

  • 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:
cd ..
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

Arxiu oled_head.service

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

  • 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