Outils pour utilisateurs

Outils du site


projets:la_quete_du_saint_tube

La Quête du Saint Tube

Une description de la chose

TUBE - tank métonymie as a magic ingenious and absurd machine, installed in the Czech countryside is transmuted by the artists Van Bela, Leroy and Rolez into a poetic resonator data it can analyze and send back. The TUBE resonates the flow of Giron's waves or Quebec Bridge activities into sounds, texts, images, or performances…which sow doubt about the uses of algorithmic systems practiced. Marina Pirot/ 13-08-2015

Techniques utilisées

à Chaque entrée de la machine à raisonner nous placerons une micro-machine ARM, micro, capteurs, logiciels de traitement sonore et de streaming.

Depuis: été 2018, d'autres expériences nous portent à explorer de nouvelles pistes:

  • mettre en modules la partie capture sonore, horloge, capteurs divers et séparer machines de captures / machine(s) de traitements.
  • gérer des flux sonores par le réseaux entre toutes les machines, pour minimiser la partie analogique
  • gérer l'ensemble en OSC, capteurs, info (penser Rednod?)
  • autonomiser les modules par des alimentations séparées
    • expérimenter solaire/super-capa/accu NiMh ou juste solaire/super-capa pour produire 100mA sur 12h

L'idée est donc:

  • des ESP32 en WiFi avec des puces ADC (codec,I2S) autonomes, comme ESP32-LyraT
    • stream vers la machine de traitement
    • peuvent etre d'un grand nombre
    • se gèrent par le réseau en OSC
  • autant de capteurs , météo, lumière etc que l'on veut sur base ESP8266 gérés en OSC
  • une base horloge WiFi par une ESP8266/DS1307
  • une ou plusieurs ARM, relativement plus costaud qu'un H3 ,genre Odroid C2
    • purr
    • éventuellement jackd

—– 2017

Machine ARM

de fait un peu n'importe laquelle ferait l'affaire , de 10€ à 40€, compatible RaspberryPi, nous partons sur une NanoPi tout en esperant bien faire aussi sur une orangePi Zero

Alimentation , après recherche, soit:

  • récupération d'un block d'alimentation ATX d'un PC dont on utilise que la partie 5V, gratuit
  • MW Mean Well LPV-20-5 LED Driver 15W 5V IP67 Power Supply Waterproof , il y a des versions 35W 30$, block noyé dans la résine waterproof.

Arduino en plus

L'idée est d'embarquer un arduino (firmata) comme centrale de communication avec les capteurs (connexion grove). Cela dans le but de faciliter la fabrication en minimisant les soudures

version gamma

on re repense la plateforme de façon plus directe ! En utilisant les possibilités de noVNC (websocket)

Nous pouvons utiliser directement un bureau X11 comme xfce,fluxbox,openbox etc sur la machine ARM grace a un application autour de html5 et un proxy avec noVNC Afin de contrôler à distance la session graphique :0 du serveur et d'avoir ainsi accès à l'interface, nous passons par x11vnc

sudo apt-get install x11vnc
x11vnc -storepasswd

Et on ajoute dans les “Applications au démarrage” :

x11vnc -rfbauth .vnc/passwd -forever -display :0

Pour info, quand le serveur est lancé sans écran, la session par défaut est en 1024×768. L'interface a donc été adaptée en conséquence plutôt que de modifier le Xorg. code de /etc/rc.local

sleep 10
# su nanopim -c "vncserver" & # si pas de lancement par le bureau par
   ##x11vnc -rfbauth .vnc/passwd -forever -display :0
   
sleep 5
su nanopim -c "cd /usr/local/bin/noVNC ; ./utils/launch.sh --vnc localhost:5901 " &

acces par http://IP_de_ARM:6080/vnc.html?host=IP_de_ARM&port=6080 Cela n'empeche pas l'usage de node-red.

De plus je cherche le moyen de passer plus directement par le noyau GNU/Linux pour l'usage des capteurs. Il me faut en faire la liste.. lm_sensors et lm-detect …

Nous pourrons en avoir un acces par PD sans doute plus directe ?

version beta

L'idée est de repenser le projet autour de node-red, celui-ci s'occupera de gerer les capteur et la mise en forme des données à destination de PD.

peut etre une orange Pi Zero pour expérimenter aussi les flusx jackd sur le reseau et avoir une des installation homogenes cf chaine

capteurs dont on a un driver node-red

Logiciels

Enlever ou modifier certain trucs de armbian:

  • prend trop de cpu au lancement et nous faisons déjà des vérifs
    update-rc.d -f unattended-upgrades  remove 
  • npm install node-gyp
  • npm install node-red-contrib-opi-gpio
  • penser a la forme sudo npm install -g –unsafe-perm node-red node-red-admin, le -g –unsafe-perm resoud qlq problèmes…

—-

version alpha

Capteurs

  • Shield RaspiO'Mix pour pouvoir connecter des grove
  • restera a faire une carte grove⇔UEXT pour les interfaces Olimex

temps /horloge

une puce DS1307 sur le bus I2C de la RaspiO'Mix gère le temps, elle est vue la première fois

modprobe rtc-ds1307
echo ds1307 0x68 | sudo tee /sys/class/i2c-adapter/i2c-0/new_device

placer rtc-ds1307 dans /etc/modules

lire : sudo hwclock -r / écrire sudo hwclock -w

son

Micro electret , ou carte http://www.delock.com/produkte/G_61961/merkmale.html on trouve en cherchant sur ebay : DELOCK 61961 carte audio

lumière

le pg /usr/local/bin/GY… est lancé par /usr/local/bin/capteur-start.sh

pd récupère les données OSC port 9081 /LUX

pression/température

le pg /usr/local/bin/GY… est lancé par /usr/local/bin/capteur-start.sh

pd récupère les données OSC port 9081 /TEMP

humidité

E/S analogiques

  • 0x6A Convertisseur analogique / numérique 1 (MCP3424)
  • 0x6E Convertisseur analogique / numérique 0 (MCP3424)

récupérer raspiomix.py et suivre la doc de la carte http://raspiomix.org/le-logiciel.html

A faire : une entrée pd

Communication

Wifi

Alimentation/ Gestion de l'énergie

L'ensemble devant être autonome, il y a un panneau solaire.

  • panneau solaire
  • régulateur de maintient de la charge
  • batterie
  • gestion du temps

Système

Installation d'une Debian par http://www.armbian.com/nanopi-m1/

Puis:

  • ennlever pulsaudio apt-get remove pulsaudio ( on utilise jack)
  • une maj par un apt-get update
  • sudo apt-get install tightvncserver xfonts-75dpi xfonts-base fluxbox xterm
    • su nanopi -c vncpasswd
  • install pdextended :
echo "deb http://apt.puredata.info/releases/ wheezy main" | sudo tee /etc/apt/sources.list.d/puredata.list 
apt-get update
  • sudo aptitude install pd-extended # c'est une 0.43.4~extended1-1~raspbian
  • sudo aptitude install de qjackctl libcups2
  • sudo aptitude install ttf-dejavu-core libfftw3-3 libftgl2 libgsl0ldbl liblua5.1-0 libquicktime2
  • modif de /etc/dbus-1/system.d/audiojack.conf pour une carte en plus sur le bon utilisateur
<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <policy user="root">
       <allow own="org.freedesktop.ReserveDevice1.Audio0"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio2"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio3"/>
  </policy>
  <policy user="banana"> # nom de l utilisateur cree
       <allow own="org.freedesktop.ReserveDevice1.Audio0"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio2"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio3"/>
  </policy>
    <policy user="nanopi"> # nom de l utilisateur cree
       <allow own="org.freedesktop.ReserveDevice1.Audio0"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio1"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio2"/>
       <allow own="org.freedesktop.ReserveDevice1.Audio3"/>
  </policy>
</busconfig>

et mettre ala fin de /etc/bash.bashrc

export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
cd $HOME
  • relancer : sudo service dbus restart
  • fermeture éventuelle du X sur le moniteur
    • mettre dans /etc/default/nodm : NODM_ENABLED=false

streaming

  • darkice en tant qu'entrée jack vers un icecast2, les parametrages de darkices sont fait avec darksnow
  • darksnow fabrique un ~/.darksnow/darkice.cfg qui peu être récupéré une fois lancé
  • nous avons un serveur de streaming pour accueillir les flux

Cheminements

Au lancement ?? a verifier

  1. la machine à une horloge interne
  2. la machine à une clée WIFI et tente d'accéder au SSID /pass défini dans /etc/network/interfaces
  3. le réseau est paramétré par un dhclient donc une addresse ip sur un réseau locale
  4. /etc/rc.local fait:
    1. ifconfig eth0:1 192.168.1.50 (vérifier l'ad)
    2. nanopi /usr/local/bin/lance_capteur.sh ??
      1. /usr/local/bin/GY-tructruc capteur lumiere ⇒OSC 9081 /LUX
      2. /usr/local/bin/GY-tructruc2 capteur température ⇒OSC 9081 /TEMP
    3. nanopi /usr/home/nanopi/jack-start.sh ??
    4. nanopi vncserver
      1. fluxbox
      2. xterm alsamixer
      3. xterm /usr/local/bin/streaming.sh
        1. darkice -c ~/darksnow/darkice.cfg
      4. qjackctl
      5. xterm /home/nanopi/pd-start.sh ??

Accès

ssh root@192.168.1.50

vncserver 192.168.1.50:1

Suitess Node-Red

Pistes ailleurs

projets/la_quete_du_saint_tube.txt · Dernière modification: 2018/07/26 14:07 par gepeto