Corinne Dadat
Présentation
Documentation technique du projet “Moi, Corinne Dadat”, pièce de la Cie Zirlib http://zirlib.fr/corinne-dadat.php
Il s'agit ici de piloter une machine autolaveuse avec un ingénieux dispositif concocté par la société Digital Airways qui réalise par ailleurs de sympathiques projets comme :
Bobynet n°1
Architecture
Joystick ou TouchOSC > Pure Data > UDP > Wifi > Raspberry Pi > USB Carte controleur moteur pas à pas Phidget et *USB Arduino et relais
Mode d'emploi
Allumer Bobynet
Pour cela basculer le réservoir à sucions après l'avoir éventuellement préalablement vidangé
Connecter les cosses rouges situées au bout de fils marrons reliés à la batterie, elles se cachent potentiellement entre la paroi abdominale de Bobynet et sa réserve d'énergie électrique (voir photo ci-dessus, il s'agit des 2 fils marron sur la gauche de l'image qui s'en vont sur la gauche de la batterie)
Le petit ordinateur situé dans un boitier en plexiglas dans le carton livebox doit s'allumer (petites leds près du port réseau)
Au bout de 3mn12s, la carte usb-wifi TP-Link blanche reliée au petit ordinateur via le hub usb présente un petit point vers qui clignote (ou pas)
Tourner la clef et la bobynet cherra, le témoin de batterie doit clignoter puis s'allumer et indiquer fixement le niveau de batterie restant
Se connecter avec Bobynet
Allumer un ordinateur, préférablement sous linux
Se connecter au réseau sans fils “Bobynet” (il faut bien avoir attendu les 3mn12s), attendre la connection complète
Brancher le joystick
Lancer le patch Pure Data “CorinneUDP-01.pd”
Vérifier que le patch s'est bien connecté à Bobynet : les 2 petis interrupteurs verts en bas du patch doivent être cochés par une croix rouge
Vérifier que tout marche en faisant avancer Bobynet en cochant la case rouge “Avance” > Décocher pour arrêter
Pilotage au Patch
Télécharger le patch : CorinneUDP-01.zip
AVANCE et RECULE sont des cases à cocher : cocher pour avancer ou reculer, décocher pour arrêter
< et > sont des boutons poussoirs : chaque pression incrémente ou décrémente l'angle de la roue directrice d'un nombre fini de degrés (par défaut °)
Le bouton “RESET 0°” remet la roue directrice dans l'axe de la bobynet (en théorie)
Un potentiomètre et une case nombre donne à voir l'angle actuel de la roue directrice, ils ne servent pas au pilotage
Une case “valeur de rotation” définit l'angle de rotation provoqué par un appui sur la touche gauche ou droite du joystick
Pilotage au joystick
PAD
Boutons
JOYSTICK (Z+ Z-)
Pilotage avec TouchOSC
Connecter le téléphone au point d'accès wifi “Bobynet”
Indiquer dans TouchOSC l'adresse IP du réseau wifi de votre ordinateur (voir préférences système > réseau ou dans un terminal sudo ifconfig), cette adresse doit être du type 192.168.77.**
Lancer la page TouchOSC appelée “TouschOSCBobynet”
On retrouve les mêmes controles que sur la Patch
/!\ ETEINDRE IMPERATIVEMENT LA RASPBERRY PI A LA FIN DE LA REPRESENTATION EN DÉTACHANT LES 2 COSSES ROUGES /!\
Recharger Bobynet
Entre ouvrir le réservoir à sucions, sortir le cable 220v du capot
brancher le câble à une prise électrique et vérifier que le témoin de charge fait bien 2 clignotements rouge au démarrage de la charge (cela indique qu'il est bien en train de charger le bon type de batterie)
Laisser le capot entre ouvert avec la cale en plastique
Problèmes
Aucun problème n'est techniquement possible sur ce dispositf
Le dossier complet : Corinne UDP.zip
Matériel
Technologie
Contrôle de l'autolaveuse en UDP
Pure Data envoie à la Raspberry Pi située sur la Bobynet des messages en OSC
Sur la Raspberry, 2 scripts Python écoutent des ports distincts et interprètent les messages OSC pour piloter l'arduino via le Firmata et la carte contrôleur moteur pas à pas via une librairie spécifique donnée par le fabricant de la carte
Congtrôle des moteurs de l'autolaveuse en Python
Les deux scripts python a lancer au démarrage sont disponibles ici
Ces scripts sont à placer sur la Raspberry Pi et font le lien entre l'écoute de ports réseau et du protocole OSC et des cartes arduino et controleur Phidget pour piloter l'avance et la rotation de la machine
Bobynet n°0
Architecture
TouchOSC > Pure Data > Scripts bash Mosquitto > ThingBox > Shield Ethernet > Arduino > Shield Bluetooth > Wifi > Shield Bluetooth > Arduino relais et pilotage carte controleur moteur pas à pas
Matériel
Technologie
MQTT
Pour ce faire le protocole MQTT est utilisé
Installer :
sudo apt-get install mosquitto-clients mosquitto python-mosquitto
Utiliser
Le client envoie au broker qui écoute en clair sur le port 1883 par défaut, possibilité de chiffrement et de réglage de QOS pour s'assurer +/- de la bonne réception des paquets
A la maniere de l'osc, MQTT implemente un système de “topics” qui permettent d'envoyer une message dans une arborescence, celle-ci pouvant ainsi être triée facilement
Ecouter
mosquitto_sub -h test.mosquitto.org -t "#" -v
écouter Corrine :
mosquitto_sub -h 192.168.0.42 -t "#" -v
Envoyer un message
mosquitto_pub -h test.mosquitto.org -p 1883 -t bobynet/1 -m "{cmd:w,p:4,v:1}"
Références supplémentaires
Thingbox
Un image de Raspberry Pi développée pour faire serveur web MQTT programmable via une interface NODE-Red
dpkg-reconfigure locales
echo 'Europe/Paris'>/etc/timezone && dpkg-reconfigure -f noninteractice tzdata
dpkg-reconfigure console-data
rpi-update
aptitude update
aptitude upgrade -y
aptitude install sudo
Follow the code in the first post here: http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=64843 for a recent copy of fsck.vfat to fix the errors on the boot partition.
I prefer to work as a normal user so I’ll create one
adduser pi
Answering various questions about the new user pi got me a home directory, then on to joining a few extra groups (not sure if all are needed, tbh!):
usermod -a -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev pi
Finally change the hostname to ‘whateveryoucallyoursystem’ by changing the hostname and /etc/hosts files:
echo '127.0.1.1 whateveryoucallyoursystem'>>/etc/hosts
echo 'whateveryoucallyoursystem'>/etc/hostname
and reboot.