Kerminy HackSpace

Outils du site


ressources:odroid_n2

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
ressources:odroid_n2 [2023/04/12 15:19] – [Premier capteur weather board] jeffressources:odroid_n2 [2024/02/08 17:20] (Version actuelle) – modification externe 127.0.0.1
Ligne 71: Ligne 71:
 apt install xserver-xorg-core xserver-xorg-input-libinput xinit dbus-x11 xfonts-base x11-xserver-utils x11-utils libgl1-mesa-dri mesa-utils mesa-utils-extra apt install xserver-xorg-core xserver-xorg-input-libinput xinit dbus-x11 xfonts-base x11-xserver-utils x11-utils libgl1-mesa-dri mesa-utils mesa-utils-extra
 apt install vim fluxbox xterm  xfonts-base x11-xserver-utils apt install vim fluxbox xterm  xfonts-base x11-xserver-utils
-apt install pcmanfm xpad avahi-daemon # options+apt install pcmanfm xpad avahi-daemon rox-filer # options 
 mkdir -p /root/.fluxbox mkdir -p /root/.fluxbox
 echo "startfluxbox" > /root/.xsession echo "startfluxbox" > /root/.xsession
 </code> </code>
 <code> <code>
 +**startfluxbox**
 echo " echo "
 # fluxbox startup-script: # fluxbox startup-script:
Ligne 85: Ligne 87:
  
 xterm -T 'Top' -e /usr/bin/top & xterm -T 'Top' -e /usr/bin/top &
 +##lancement installation sonore 
 +/root/.fluxbox/rapidestart.sh &
 +#
 +wmnd  &
 +wmmisc &
 +#
 +
 /root/.fluxbox/x11vnc.sh 2>&1 > /tmp/x11vnc.log & /root/.fluxbox/x11vnc.sh 2>&1 > /tmp/x11vnc.log &
 exec fluxbox -log ~/.fluxbox/fluxbox.log exec fluxbox -log ~/.fluxbox/fluxbox.log
Ligne 90: Ligne 99:
 chmod 755 /root/.fluxbox/startup chmod 755 /root/.fluxbox/startup
 </code> </code>
-menu fluxbox ./fluxbox/menu+**menu fluxbox** ./fluxbox/menu
 <code> <code>
 [begin] (Fluxbox) [begin] (Fluxbox)
   [exec] (Bash) { /usr/bin/xterm -T "Bash" -e /bin/bash --login} <>   [exec] (Bash) { /usr/bin/xterm -T "Bash" -e /bin/bash --login} <>
 +  [exec] (alsamixergui) {alsamixergui -c1} <>
 +  [exec] (start.sh) {~/start.sh} <>
 +  [exec] (stop.sh) {~/stop.sh} <>
 +  [exec] (enregistre volumes) {alsactl store 1 -f ~/volumes_param.txt} <>
 +  [exec] (restore volumes) {alsactl restore 1 -f ~/volumes_param.txt} <>
  
   [exec] (ROX) {rox-filer} <>   [exec] (ROX) {rox-filer} <>
Ligne 137: Ligne 151:
 de https://wiki.odroid.com/odroid-n2/application_note/software/weather_board avec pour nous une sortie OSC\\ de https://wiki.odroid.com/odroid-n2/application_note/software/weather_board avec pour nous une sortie OSC\\
 Connexion sur 1-3V  2->SDA 3->SDC 9->GND Connexion sur 1-3V  2->SDA 3->SDC 9->GND
 +
 +– Sensors : BME280, Si1132
  
 <code> <code>
Ligne 147: Ligne 163:
 </code> </code>
 {{ :ressources:weather_board_osc.py.tgz |}} {{ :ressources:weather_board_osc.py.tgz |}}
 +
 +ajout d'un code python pour la transmission MQTT des données, en utilisant juste un popen 
 +<code python>
 +import os
 +cputemp = float(os.popen('cat /sys/class/thermal/thermal_zone3/temp').read()) / 
 +1000
 +broker_address = "192.168.1.13"
 +broker_port = 1883
 +topicbase = "bubulle"
 +client_id = "bubulle"
 +username = 'blabla'
 +password = 'blabla'
 +
 +client = mqtt.Client(client_id)
 +client.username_pw_set(username, password)
 +client.connect(broker_address, broker_port,60)
 +
 +topic = topicbase + "/cputemp"
 +client.publish(topic, (float)(bme280.read_temperature()))
 +time.sleep(1)
 +
 +</code>
 +<code c>
 +
 +</code>#!/usr/bin/python3
 +import os  
 +import time
 +from paho.mqtt import client as mqtt_client
 +
 +cputemp = float(os.popen('cat /sys/class/thermal/thermal_zone0/temp').read()) / 
 +1000
 +broker_address = "192.168.1.13"
 +broker_port = 1883
 +topicbase = "prox"
 +client_id = "prox"
 +username = 'blabla'
 +password = 'blabla'
 + 
 +client = mqtt_client.Client(client_id)
 +client.username_pw_set(username, password)
 +client.connect(broker_address, broker_port,60)
 + 
 +topic = topicbase + "/cputemp"
 +client.publish(topic, (float)(cputemp))
 +time.sleep(1)
 +
 ===== Machine sonore ===== ===== Machine sonore =====
 Serveur son : Jack2 \\ Serveur son : Jack2 \\
Ligne 152: Ligne 214:
 Outils de programmation :  Puredata  Outils de programmation :  Puredata 
 Script de lancement start.sh présent dans le répertoire et lancé par le startup de fluxbox Script de lancement start.sh présent dans le répertoire et lancé par le startup de fluxbox
-==== Puredata vanilla ====+ 
 +regarder du coté des applications jack ... 
 +  * https://jackaudio.org/applications/ 
 +  * https://linuxmao.org 
 +  * -> https://aj-snapshot.sourceforge.io/ 
 +<code> 
 +apt install qjackctl jack-tools aj-snapshot zita-njbridge alsamixergui 
 +</code> 
 +==== installation Puredata vanilla ====
  
 pour optimiser au maximum, nous laisserons les patch en no-gui donc la partie graph ne sera utile que pour la mise au point\\ pour optimiser au maximum, nous laisserons les patch en no-gui donc la partie graph ne sera utile que pour la mise au point\\
-Liste des paquets Puredata utilisables+Liste des paquets Puredata utilisables portés sur cette base Ubuntu arm64
 <code> <code>
-puredata puredata-core puredata-dev puredata-doc puredata-extra puredata-gui puredata-gui-l10n puredata-import puredata-utils multimedia-puredata pd-ableton-link pd-ambix pd-arraysize pd-autopreset pd-bassemu pd-beatpipe pd-boids pd-bsaylor pd-chaos pd-cmos pd-comport pd-creb pd-csound pd-cxc pd-cyclone pd-deken pd-deken-apt pd-earplug pd-ekext pd-ext13 pd-extendedview pd-fftease pd-flext-dev pd-flext-doc pd-flite pd-freeverb pd-ggee pd-gil pd-hcs pd-hexloader pd-hid pd-iem pd-iemambi pd-iemguts pd-iemlib pd-iemmatrix pd-iemnet pd-iemutils pd-jmmmp pd-jsusfx pd-kollabs pd-lib-builder pd-libdir pd-list-abs pd-log pd-lyonpotpourri pd-mapping pd-markex pd-maxlib pd-mediasettings pd-mjlib pd-moonlib pd-motex pd-mrpeach pd-mrpeach-net pd-nusmuk pd-osc pd-pan pd-pddp pd-pdogg pd-pdp pd-pdstring pd-pduino pd-plugin pd-pmpd pd-pool pd-puremapping pd-purepd pd-purest-json pd-readanysf pd-rtclib pd-sigpack pd-slip pd-smlib pd-syslog pd-tclpd pd-testtools pd-unauthorized pd-upp pd-vbap pd-wiimote pd-windowing pd-xbee pd-xsample pd-zexy pdal+puredata puredata-core puredata-dev puredata-doc puredata-extra 
 +puredata-gui puredata-gui-l10n puredata-import puredata-utils multimedia-puredata 
 +pd-ableton-link pd-ambix pd-arraysize pd-autopreset pd-bassemu pd-beatpipe pd-boids 
 +pd-bsaylor pd-chaos pd-cmos pd-comport pd-creb pd-csound pd-cxc pd-cyclone 
 +pd-deken pd-deken-apt pd-earplug pd-ekext pd-ext13 pd-extendedview pd-fftease 
 +pd-flext-dev pd-flext-doc pd-flite pd-freeverb pd-ggee pd-gil pd-hcs pd-hexloader 
 +pd-hid pd-iem pd-iemambi pd-iemguts pd-iemlib pd-iemmatrix pd-iemnet pd-iemutils 
 +pd-jmmmp pd-jsusfx pd-kollabs pd-lib-builder pd-libdir pd-list-abs pd-log 
 +pd-lyonpotpourri pd-mapping pd-markex pd-maxlib pd-mediasettings pd-mjlib 
 +pd-moonlib pd-motex pd-mrpeach pd-mrpeach-net pd-nusmuk pd-osc pd-pan 
 +pd-pddp pd-pdogg pd-pdp pd-pdstring pd-pduino pd-plugin pd-pmpd pd-pool 
 +pd-puremapping pd-purepd pd-purest-json pd-readanysf pd-rtclib pd-sigpack 
 +pd-slip pd-smlib pd-syslog pd-tclpd pd-testtools pd-unauthorized pd-upp 
 +pd-vbap pd-wiimote pd-windowing pd-xbee pd-xsample pd-zexy pdal 
 +</code> 
 +==== Installation de pdnext ==== 
 +pd-vanilla a un gros défaut, c'est de ne pas être multi-thread ! du coup ne cherchant un peu j'ai trouvé https://github.com/sebshader/pdnext :-)\\ 
 +Cela résout le problème et permet de ne pas utiliser pd-l2ork avec nw et ses besoins en ressource plus importante voir son inexistence en ARMv8 ... 
 + 
 +du coup 
 +<code c> 
 +cd /usr/src 
 +git clone https://github.com/sebshader/pdnext.git 
 +cd pdnext 
 +./autogen.sh 
 +./configure --disable-jack-framework --enable-jack --disable-portaudio --prefix=/usr 
 +make -j4 
 +make install 
 +</code> 
 +Ensuite il faut peut etre recompiler certain paquet pd genre zexy 
 +<code c> 
 +apt source pd-zexy 
 +cd pd-zexy_labonne_version 
 +./configure --prefix=/usr 
 +make 
 +make install 
 +</code> 
 +==== Scripts sonores ==== 
 +**Arret** 
 +<code> 
 +#!/bin/bash 
 +# stop.sh , kill jack et pd 
 +# limite les doubles cliques 
 +if [ -f /tmp/stop.run ]; then exit 0 ; fi 
 +#  
 +for i in `ps -e|grep pd|awk '{print $1}'`; do kill -9 $i; done 
 +for i in `ps -e|grep jack|awk '{print $1}'`; do kill -9 $i; done 
 +for i in `ps -e|grep qjackctl|awk '{print $1}'`; do kill -9 $i; done 
 +
 +date > /tmp/stop.run 
 +
 +# limite les doubles cliques 
 +sleep 5  
 +rm /tmp/stop.run 
 +exit 0 
 +</code> 
 +**Lancement** 
 + 
 +**.fluxbox/rapidestart.sh** 
 +<code> 
 +#!/bin/bash 
 +# rapidestart.sh lancement qjackctl puredata 
 +
 +# lancement capteur OSC 
 +python3 /usr/local/bin/weather_board_OSC.py /dev/i2c-0 2>&1 > /dev/null & 
 +# jackd 
 +alsactl restore 1 -f ~/volumes_param.txt 
 +qjackctl & 
 +date > /tmp/start 
 +cd /root/Pd 
 +pd -jack /root/Pd/serre-labo.pd & 
 + 
 +exit 0 
 +</code> 
 +**start.sh** 
 +<code> 
 +#!/bin/bash 
 +# start.sh lancement qjackctl puredata 
 +# limite les doubles cliques 
 +if [ -f /tmp/start.run ]; then exit 0 ; fi 
 +#  
 +for i in `ps -e|grep pd|awk '{print $1}'`; do kill -9 $i; done 
 +for i in `ps -e|grep jack|awk '{print $1}'`; do kill -9 $i; done 
 +for i in `ps -e|grep qjackctl|awk '{print $1}'`; do kill -9 $i; done 
 +#restore volume enregistré par alsactl store 1 
 +alsactl restore 1 -f ~/volumes_param.txt 
 +qjackctl & 
 +date > /tmp/start.run 
 +sleep 4 
 +pd -jack & 
 +
 +# limite les doubles cliques 
 +sleep 10 
 +rm /tmp/start.run 
 + 
 +exit 0
 </code> </code>
ressources/odroid_n2.1681305574.txt.gz · Dernière modification : 2024/02/08 17:20 (modification externe)