Table des matières

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:

L'idée est donc:

—– 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:

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:

—-

version alpha

Capteurs

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

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.

Système

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

Puis:

echo "deb http://apt.puredata.info/releases/ wheezy main" | sudo tee /etc/apt/sources.list.d/puredata.list 
apt-get update
<!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

streaming

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

Partie expériences node-red

interconnexion pd : netreceive expects messages to be FUDI-formatted. Basically, this means messages are terminated with a semicolon. Until a ';' is received, [netreceive] won't output anything.Read more here: https://en.wikipedia.org/wiki/FUDI

et avec johhny-five

Ce qui nous emmène, un retour sur l'idée de terminal passe partout

Pistes ailleurs