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:55] – [Machine sonore] 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 158: Ligne 220:
   * -> https://aj-snapshot.sourceforge.io/   * -> https://aj-snapshot.sourceforge.io/
 <code> <code>
-apt install qjackctl jack-tools aj-snapshot zita-njbridge+apt install qjackctl jack-tools aj-snapshot zita-njbridge alsamixergui
 </code> </code>
-==== Puredata vanilla ====+==== 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.1681307731.txt.gz · Dernière modification : 2024/02/08 17:20 (modification externe)