La première version fut exposée au Buis Sonnant à l'occasion de champs d'expression 2017. Les premiers résultats des tests réalisés avec les spécimens Anthurium andreanum et Asplenium scolopendrium furent convaincants ce qui nous a poussé à approfondir les recherches dans cette direction, à varier et à multiplier par 4 le nombre de plantes et de capteurs.
La version 2 est un prototype permettant la sonification et la mise en lumière des régulations du métabolisme de 4 plantes simultanément. Il devient donc possible plusieurs plantes sous forme d’installation sonore et lumineuse, mais aussi en tant qu’instrument à l’occasion de performances sonores.
Chaque module (capteur + plante) communique via radio fréquence avec un ordinateur dont le rôle est de récupérer les différents flux de données, de les analyser pour ensuite les traduire en information sonore. L’absence de contrainte liée au câblage procure d’avantage de liberté mais aussi de réactivité concernant la mise en scène de l'installation.
La deuxième partie consiste justement à construire ce réseau. Pour ce faire, plusieurs solutions sont envisageables (xbee, bluetooth, wifi…) mais la mise en place d’un réseau basé sur la technologie Xbee s’annonce comme la piste la plus simple et la plus modulable.
Lien Github - V1
Capteur GSR (Galvanic Skin Response)
En guise de nouveau point de départ, et afin de tester plusieurs évolutions techniques envisagées pour la suite de cette recherche, nous avons produit une nouvelle version de “De natura rerum”. Ce prototype présente quatre modules identiques, capables de sonifier indépendamment les données captées sur quatre plantes, et de transférer en temps réel ces données via wifi.
Chaque appareil est contenu dans une boîte qui doit seulement être reliée au secteur, ainsi qu'à la plante grâce aux deux pinces-électrodes. La sonification est basée sur une granulation d'un jeu de cinq samples que l'on peut sélectionner parmi ceux qui sont enregistrés dans le système, ouvrant la porte à une exploration large des univers sonores.
raspi-config
enable ssh
changer clavier, timezone, wifi…
Éditer le fichier wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ajouter à la fin:
network={ ssid="nom du wifi" psk="mot de passe" }
Quitter et rebooter
sudo reboot
Fixer l'adresse Ip de son Rpi:
ip r | grep default
Le retour doit normalement donner quelque chose comme ça:
default via 192.168.0.1 dev eth0 proto dhcp src 192.168.0.159 metric 202
L'adresse qui nous intéresse (router) est précédée de “default via”
Elle se trouve dans le fichier /etc/resolv.conf
sudo nano /etc/resolv.conf
Le contenu du fichier doit ressembler à ça:
# Generated by resolvconf nameserver 192.168.0.1
Éditer le fichier /etc/dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Ajouter à la fin du fichier
interface wlan0 static ip_address=192.168.1.***/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
En détail:
Le type d'interface que l'on veut configurer wlan0(WIFI) ou eth0(Ethernet) interface wlan0
L'IP du Raspberry que nous voulons fixer
static ip_address=192.168.1.***/24
L'IP du router que nous avons noté (étape 1)
static routers=192.168.1.1
L'IP “nameserver” que nous avons noté (étape 2)
static domain_name_servers=192.168.1.1
Enregistrer et fermer nano
Redémarrer
sudo reboot
sudo apt update sudo apt-get install puredata pd-pdstring pd-comport pd-zexy
actuellement le cas de De Natura Rerum V3
Créer et ouvrir le fichier vierge puredata.log
sudo nano /var/log/puredata.log
Créer et ouvrir le fichier puredata.service:
sudo nano /etc/systemd/system/puredata.service
Ajouter:
UMask=007 [Service] ExecStart=/usr/bin/sudo /usr/bin/pd -nogui -nrt -audiodev 3 -open /home/pi/de-natura-rerum-V3/0_patch_main.pd Restart=always StandardOutput=/var/log/puredata.log StandardError=/var/log/puredata.log User=pi # Configures the time to wait before service is stopped forcefully. TimeoutStopSec=300 [Install] WantedBy=multi-user.target
Valider le démarage de puredata au boot du pi
sudo systemctl enable puredata.service
Commande utiles:
Lancer puredata
sudo systemctl start puredata
Relancer puredata
sudo systemctl restart puredata
Arrêter puredata
sudo systemctl stop puredata
Observer ce que puredata raconte
journalctl -f --unit puredata
Ouvrir /boot/config.txt et ajouter à la fin du fichier la ligne suivante :
dtoverlay=gpio-shutdown,gpio_pin=3
Redémarrer :
sudo reboot
Connecter le bouton poussoir sur les pins 3 et 7
Tout est dit sur ce tuto: https://www.stderr.nl/Blog/Hardware/RaspberryPi/PowerButton.html
tuto - fr - Bouton marche arrêt et refroidissement automatique - opendomotech.com
forum - en - On/Off with 5 & 6 pin - raspberrypi.org
tuto - en Raspberry pi shutdown restart button - hackster.io
Pour acceder au GPIO du Raspberry depuis Pure Data
Installer wiringPi
sudo apt-get install git sudo apt-get install wiringpi
tester l'installation de WiringPi (doit afficher les entrées/sorties de la RPI)
gpio readall
Installer PdwinringPi
wget https://github.com/garthz/pdwiringPi/archive/master.zip unzip master.zip cd pdwiringPi-master make
Déplacer la librairie pdwiringPi dans le dossier /usr/lib/pd/extra
sudo mv -r /home/pi/pdwiringPi-master/pdwiringPi /usr/lib/pd/extra
Ne pas oublier de lancer Pure Data en mode sudo pour accéder au GPIO
sudo pd -nogui -nrt -audiodevin 3 -open /le/chemin/du/fichier.pd
IP : 192.168.1.101
IP : 192.168.1.102
IP : 192.168.1.103
IP : 192.168.1.104