Outils pour utilisateurs

Outils du site


raspberry_pi_openframeworks

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
raspberry_pi_openframeworks [2018/04/12 17:13] – [Téléchargement et installation de la librairie] sergeraspberry_pi_openframeworks [2025/12/15 14:45] (Version actuelle) – Mushussu
Ligne 1: Ligne 1:
-======Raspberry Pi OpenFrameworks====== +====== Raspberry Pi openFrameworks ====== 
-====== OpenFrameworks ======+===== openFrameworks =====
  
-Ce tutoriel présente l'installation d'OpenFrameworks sur une RaspberryPi. Il se base sur celui fourni sur [[http://openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Getting-Started.html|OpenFrameworks]].+Ce tutoriel présente l'installation d'openFrameworks 0.12.0 sur une RaspberryPi 4. Il se base sur celui fourni sur [[http://openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Getting-Started.html|openFrameworks]].
  
-Avant de commencer, il est nécessaire d'installer et de [[Raspberry_Pi_Installation|configurer sa Raspberry Pi]].+Avant de commencer, il est nécessaire d'installer et de [[Raspberry_Pi_Installation|configurer sa Raspberry Pi]] avec la dernière version de Raspberry Pi OS (64-bit) Lite.
  
-===== Configurations supplémentaires ===== +==== Télécharger openFrameworks ====
- +
-Pour la compilation il est nécessaire d'allouer de la mémoire supplémentaire, éditer le fichier de configuration : +
- +
-''%%sudo nano /boot/config.txt%%'' +
- +
-===== Télécharger OpenFrameworks =====+
  
 Ces commandes vont télécharger et décompresser l'archive dans le répertoire /home/pi/openFrameworks Ces commandes vont télécharger et décompresser l'archive dans le répertoire /home/pi/openFrameworks
 +Il faut télécharger la version aarch64 d'openFrameworks pour un système en 64 bits.
 +  cd
 +  wget https://github.com/openframeworks/openFrameworks/releases/download/0.12.1/of_v0.12.1_linuxaarch64_release.tar.gz
 +  mkdir openFrameworks
 +  tar vxfz of_v0.12.1_linuxaarch64_release.tar.gz -C openFrameworks --strip-components 1
  
-''%%cd%%''\\ +==== Compilation d'OpenFrameworks ====
-''%%wget %%''[[http://openframeworks.cc/versions/v0.9.8/of_v0.9.8_linuxarmv6l_release.tar.gz|''%%http://openframeworks.cc/versions/v0.9.8/of_v0.9.8_linuxarmv6l_release.tar.gz%%'']]\\ +
-''%%mkdir openFrameworks%%''\\ +
-''%%tar vxfz of_v0.9.8_linuxarmv6l_release.tar.gz -C openFrameworks --strip-components 1%%''+
  
-===== Compilation d'OpenFrameworks =====+Des librairies supplémentaires sont nécessaires pour pouvoir compiler correctement OpenFrameworks. 
 +  cd /home/pi/openFrameworks/scripts/linux/debian 
 +  sudo ./install_dependencies.sh 
 +Pour une Raspberry 4 il faut installer le système de fenêtrage X11 : 
 +  sudo apt-get install xorg 
 +Enfin compiler openFrameworks avec : 
 +  make Release -C /home/pi/openFrameworks/libs/openFrameworksCompiled/project
  
-Des librairies supplémentaires sont nécessaires pour pouvoir compiler correctement OpenFrameworks. Ces opérations durent à peu près une heure.+==== Compilation d'un exemple ==== 
 +  cd /home/pi/openFrameworks/examples/graphics/polygonExample 
 +  make 
 +Pour une RPI4 cette commande vous permet d'exécuterer l'exemple dans une fenêtre de X11. 
 +  startx ./bin/polygonExample -- -s off
  
-''%%cd /home/pi/openFrameworks/scripts/linux/debian%%''\\ +==== Compilation du premier projet ====
-''%%sudo ./install_dependencies.sh%%''\\ +
-''%%make Release -C /home/pi/openFrameworks/libs/openFrameworksCompiled/project%%'' +
- +
-===== Compilation du premier projet =====+
  
 Pour commencer un projet, il faut copier la structure d'un projet vide dans un nouveau répertoire. Pour commencer un projet, il faut copier la structure d'un projet vide dans un nouveau répertoire.
 +  cp -R /home/pi/openFrameworks/apps/myApps/emptyExample /home/pi/openFrameworks/apps/myApps/premierProjet
 +  cd /home/pi/openFrameworks/apps/myApps/premierProjet
 +  make
 +  startx ./bin/premierProjet -- -s off
  
-''%%cp -R /home/pi/openFrameworks/apps/myApps/emptyExample /home/pi/openFrameworks/apps/myApps/premierProjet%%''\\ +Il faut garder en mémoire que le répertoire de l'application doit être un sous-réperoire d'un sous-répertoire du répertoire openFrameworks.
-''%%cd /home/pi/openFrameworks/apps/myApps/premierProjet%%''\\ +
-''%%make%%''\\ +
-''%%make run%%''+
  
-Il faut garder en mémoire que le répertoire de l'application doit être un sous-réperoire d'un sous-répertoire du répertoire openFramworks. +===== Utilisation des addons =====
- +
-===== Compiler OpenFrameworks en attendant 0.10 ===== +
- +
-La dernière version raspbian change beaucoup de chose pour les compilations. Il faut télécharger la dernière unightly build : +
- +
-''%%cd%%''\\ +
-''%%wget %%''[[http://ci.openframeworks.cc/versions/nightly/of_v20170714_linuxarmv6l_nightly.tar.gz|''%%http://ci.openframeworks.cc/versions/nightly/of_v20170714_linuxarmv6l_nightly.tar.gz%%'']]\\ +
-''%%mkdir openFrameworks%%''\\ +
-''%%tar vxfz of_v20170714_linuxarmv6l_nightly.tar.gz -C openFrameworks --strip-components 1%%'' +
- +
-''%%sudo nano  openFrameworks/libs/openFrameworksCompiled/project/linuxarmv6l/config.linuxarmv6l.default.mk%%'' +
- +
-''%%# raspberry pi specific stetch !!!!!!!!!!%%''\\ +
-''%%PLATFORM_LIBRARIES += GLESv2_static%%''\\ +
-''%%PLATFORM_LIBRARIES += EGL_static%%''\\ +
-''%%PLATFORM_LIBRARIES += mmal%%''\\ +
-''%%PLATFORM_LIBRARIES += mmal_components%%''\\ +
-''%%PLATFORM_LIBRARIES += mmal_core%%''\\ +
-''%%PLATFORM_LIBRARIES += mmal_util%%''\\ +
-''%%PLATFORM_LIBRARIES += mmal_vc_client%%''\\ +
-''%%PLATFORM_LIBRARIES += brcmOpenVG%%''\\ +
-''%%PLATFORM_LIBRARIES += brcmWFC%%''\\ +
-''%%PLATFORM_LIBRARIES += brcmEGL%%''\\ +
-''%%PLATFORM_LIBRARIES += brcmGLESv2%%''\\ +
-''%%#PLATFORM_LIBRARIES += GLESv2%%''\\ +
-''%%PLATFORM_LIBRARIES += GLESv1_CM%%''\\ +
-''%%#PLATFORM_LIBRARIES += EGL%%''\\ +
-''%%PLATFORM_LIBRARIES += openmaxil%%''\\ +
-''%%PLATFORM_LIBRARIES += bcm_host%%''\\ +
-''%%PLATFORM_LIBRARIES += vcos%%''\\ +
-''%%PLATFORM_LIBRARIES += vchiq_arm%%''\\ +
-''%%PLATFORM_LIBRARIES += pcre%%''\\ +
-''%%PLATFORM_LIBRARIES += rt%%''\\ +
-''%%PLATFORM_LIBRARIES += X11%%''\\ +
-''%%PLATFORM_LIBRARIES += dl%%''\\ +
- +
- +
-et +
- +
-''%%# Broadcom hardware interface library%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/IL%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/EGL%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/GLES%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/GLES2%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/VG%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/WF%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/vcinclude%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/interface/mmal%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/interface/vcos/pthreads%%''\\ +
-''%%PLATFORM_HEADER_SEARCH_PATHS += $(RPI_ROOT)/opt/vc/include/interface/vmcs_host/linux%%'' +
- +
-====== Utilisation des addons ======+
  
 Si vous utilisez des addons, il faut indiquer au compilateur lesquels. Pour cela il faut modifier le fichier addons.make. S'il n'existe pas il sera créé. Il faut le placer dans le répertoire de votre projet au même niveau que config.make : Si vous utilisez des addons, il faut indiquer au compilateur lesquels. Pour cela il faut modifier le fichier addons.make. S'il n'existe pas il sera créé. Il faut le placer dans le répertoire de votre projet au même niveau que config.make :
  
-''%%cd /home/pi/openFrameworks/apps/myApps/premierProjet%%''\\ +  cd /home/pi/openFrameworks/apps/myApps/premierProjet 
-''%%sudo nano addons.make%%''+  sudo nano addons.make
  
 Ajoutez le nom des addons que vous souhaitez utiliser par exemple : Ajoutez le nom des addons que vous souhaitez utiliser par exemple :
  
-''%%ofxXmlSettings%%''\\ +  ofxXmlSettings 
-''%%ofxOsc%%''+  ofxOsc
  
 Puis ctrl-O pour sauvegarder en validant, puis ctrl-x pour quitter. Puis ctrl-O pour sauvegarder en validant, puis ctrl-x pour quitter.
  
-====== Gestion du GPIO ======+===== Gestion du GPIO =====
  
 La bibliothèque wiringPi est idéale pour gérer le GPIO avec OpenFrameworks. La bibliothèque wiringPi est idéale pour gérer le GPIO avec OpenFrameworks.
  
-===== Téléchargement et installation de la librairie =====+==== Téléchargement et installation de la librairie ====
  
 Afin d'obtenir la librairie, taper : Afin d'obtenir la librairie, taper :
-<code> +  cd 
-cd +  wget https://github.com/WiringPi/WiringPi/releases/download/3.10/wiringpi_3.10_arm64.deb 
-git clone git://git.drogon.net/wiringPi +Ensuite installer la librairie : 
-</code> +  sudo apt install ./wiringpi_3.10_arm64.deb
- +
-Ensuite un script s'occupe d'installer et de compiler la librairie : +
- +
-''%%cd wiringPi%%''\\ +
-''%%./build%%'' +
- +
-Vous pouvez mettre à jour la librairie avec : +
- +
-''%%cd ~/wiringPi%%''\\ +
-''%%git pull origin%%''\\ +
-''%%./build%%'' +
 Pour tester que tout fonctionne bien : Pour tester que tout fonctionne bien :
  
-''%%gpio -v%%''\\ +  gpio -v 
-''%%gpio readall%%''+  gpio readall
  
 La liste des fonctionnalités est disponible sur le [[http://wiringpi.com|site]] du dévellopeur. La liste des fonctionnalités est disponible sur le [[http://wiringpi.com|site]] du dévellopeur.
  
-===== Compilation =====+==== Compilation ====
  
 Il est nécessaire d'indiquer au compilateur la présence de la librairie wiringPi. Pour cela, il faut éditer le fichier config.make de l'application en cours de développement : Il est nécessaire d'indiquer au compilateur la présence de la librairie wiringPi. Pour cela, il faut éditer le fichier config.make de l'application en cours de développement :
  
-''%%sudo nano config.make%%''+  sudo nano config.make
  
-et modifier les lignes suivantes en gras :+et ajouter la dernière ligne dans les PROJECT LINKER FLAGS :
  
-''%%################################################################################%%''\\ +  ################################################################################ 
-''%%# PROJECT LINKER FLAGS%%''\\ +  # PROJECT LINKER FLAGS 
-''%%#       These flags will be sent to the linker when compiling the executable.%%''\\ +  #       These flags will be sent to the linker when compiling the executable. 
-''%%#%%''\\ +  # 
-''%%#               (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs%%''\\ +  #               (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs 
-''%%#%%''\\ +  # 
-''%%#   Note: Leave a leading space when adding list items with the += operator%%''\\ +  #   Note: Leave a leading space when adding list items with the += operator 
-''%%#%%''\\ +  # 
-''%%# Currently, shared libraries that are needed are copied to the%%''\\ +  # Currently, shared libraries that are needed are copied to the 
-''%%# $(PROJECT_ROOT)/bin/libs directory.  The following LDFLAGS tell the linker to%%''\\ +  # $(PROJECT_ROOT)/bin/libs directory.  The following LDFLAGS tell the linker to 
-''%%# add a runtime path to search for those shared libraries, since they aren't%%''\\ +  # add a runtime path to search for those shared libraries, since they aren't 
-''%%# incorporated directly into the final executable application binary.%%''\\ +  # incorporated directly into the final executable application binary. 
-''%%################################################################################%%''\\ +  ################################################################################ 
-''%%'''PROJECT_LDFLAGS=-Wl,-rpath=./libs%%''\\ +  #PROJECT_LDFLAGS=-Wl,-rpath=./libs 
-''%%'''PROJECT_LDFLAGS += -lwiringPi%%''+  PROJECT_LDFLAGS += -lwiringPi
  
 Ctrl-o pour sauvegarder et Ctrl-x pour quitter Ctrl-o pour sauvegarder et Ctrl-x pour quitter
  
-===== Configuration de la Raspberry =====+==== Configuration de la Raspberry ====
  
-Pour utiliser le port série du GPIO il est nécessaire de désactiver la console série. Un petit script fait cela pour nous :+Pour utiliser le port série du GPIO il est nécessaire de désactiver la console série. 
  
-''%%sudo wget %%''[[https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console|''%%https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console%%'']]''%% -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console%%'' +==== Démarrer un programme au démarrage pour une Raspberry Pi 4 ==== 
- +Ouvrir le fichier bashrc 
-Pour désactiver la console série : +  sudo nano /home/pi/.bashrc 
- +Se positionner tout à la fin et copier les lignes suivantes : 
-''%%sudo rpi-serial-console disable%%'' +  #  startx if it isn't already running 
- +  XPID=`/usr/bin/pgrep Xorg` 
-Pour la réactiver si nécessaire : +  if  [[ -z $XPID ]] 
- +  then 
-''%%sudo rpi-serial-console enable%%''+    cd openFrameworks/apps/myApps/Dialogues 
 +    startx ./bin/Dialogues -- -s off 
 +  fi 
 +Puis ctrl-O pour sauvegarder en validant, puis ctrl-x pour quitter.
  
-https://github.com/lurch/rpi-serial-console+Le programme lancé se nomme Dialogues
  
-{{tag>sylvain micro_ordinateur}}+{{tag>sylvain openFrameworks raspberry_pi}}
raspberry_pi_openframeworks.1523553219.txt.gz · Dernière modification : de serge