Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
projets:gmem-cirva:accueil [2019/11/20 16:59] laurent [Modules GMEM - CIRVA] |
projets:gmem-cirva:accueil [2020/02/28 16:52] (Version actuelle) laurent [Liste des commandes OSC] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Licence : libre ! | * Licence : libre ! | ||
* Contexte : phase 1 | * Contexte : phase 1 | ||
- | * Fichiers | + | * [[https:// |
- | * Lien : [[http:// | + | * [[http:// |
+ | * [[http:// | ||
Ligne 54: | Ligne 55: | ||
Le code implémentant ce cahier des charges est [[https:// | Le code implémentant ce cahier des charges est [[https:// | ||
- | ==== Modules ==== | + | ==== Modules |
+ | Chaque instrument de verre est associé à un raspberry pi contenant le code //client// qui est automatiquement lançé au démarrage. | ||
=== solénoïde === | === solénoïde === | ||
- | Le solénoïde est contrôlé par le module // | + | Le solénoïde est contrôlé par le module // |
=== entrée CV === | === entrée CV === | ||
- | L' | + | L' |
=== routing audio === | === routing audio === | ||
- | Contrairement | + | Contrairement |
+ | |||
+ | ===serveur OSC=== | ||
+ | Un serveur OSC écoute en UDP sur le port 9000 pour recevoir les ordres transmis par le serveur comme les messages directement envoyés depuis puredata/ | ||
+ | |||
+ | ====Côté serveur==== | ||
+ | Le serveur contient son propre code, stocké dans le repertoire //server// à la racine du git. Le raspbian utilisé est une version complète, avec interface graphique pour pouvoir accéder à son interface web directement à l'aide d'un écran et d'un clavier. | ||
+ | |||
+ | ===gestion des clients=== | ||
+ | Le module // | ||
+ | |||
+ | ===serveur OSC=== | ||
+ | Le serveur écoute l'OSC par UDP sur le port 8000, il peut ainsi recevoir des commandes des clients comme de l' | ||
+ | |||
+ | === interface web=== | ||
+ | L' | ||
+ | |||
+ | ====Liste des commandes OSC==== | ||
+ | Pour pouvoir communiquer en OSC avec les modules, il est impératif : | ||
+ | - d' | ||
+ | - de se connecter au réseau wifi qu'il crée :<WRAP center round info 20%> | ||
+ | SSID : **masterPi** | ||
+ | |||
+ | PSK : **bbqCvsN8** | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===commandes du serveur=== | ||
+ | Le serveur est joignable à l'IP **10.0.0.1** au sein du réseau wifi ou par son nom d' | ||
+ | * **/ | ||
+ | * **/ | ||
+ | * **/ | ||
+ | * **/ | ||
+ | * //str// nomDuFichier : nom du fichier midi stocké sur le serveur (sensible à la casse) | ||
+ | * **/ | ||
+ | * **/delete** : supprime un fichier midi du serveur | ||
+ | * //str// nomDuFichier : nom du fichier midi stocké sur le serveur (sensible à la casse) | ||
+ | * // | ||
+ | * ex : ///delete fichier1.mid fichier2.mid fichier3.mid// | ||
+ | |||
+ | ===commandes des clients (modules)=== | ||
+ | Les clients peut-être directement contacté par son nom d' | ||
+ | Par exemple, pour un client nommé //bidule//, les messages OSC peuvent être envoyés à // | ||
+ | Chaque client écoute en UDP sur le port **9000**. | ||
+ | |||
+ | * **/solenoid ** : pulse le solénoide une fois | ||
+ | * // | ||
+ | * ex : ///solenoid 50// | ||
+ | * **/play** : lit un fichier audio stocké dans le client | ||
+ | * //str// nomDuFichier : nom du fichier sans le chemin complet, ex: // | ||
+ | * // | ||
+ | * // | ||
+ | * ex : ///play groovyTune.wav analogOUT// | ||
+ | * **/stop** : stoppe instantanément la lecture du fichier wav en cours | ||
+ | * **/delete** : supprime un fichier audio du serveur | ||
+ | * //str// nomDuFichier : nom du fichier audio stocké sur le serveur (sensible à la casse) | ||
+ | * // | ||
+ | * ex : ///delete fichier1.wav fichier2.wav fichier3.wav// | ||
+ | * **/route** : connecte une entrée audio à une sortie audio | ||
+ | * //str// nomDeLentrée : peut être soit // | ||
+ | * //str// nomDeLaSortie : peut être soit // | ||
+ | * ex : ///route microphone transducer// | ||
+ | * **/ | ||
+ | * //str// nomDeLentrée : peut être soit // | ||
+ | * //str// nomDeLaSortie : peut être soit // | ||
+ | * ex : /// | ||
+ | * **/mute** : coupe le son de l' | ||
+ | * //str// nom : peut être // | ||
+ | * // | ||
+ | * ex : ///mute analogOUT transducer// | ||
+ | * **/unmute** : rétablit le son de l' | ||
+ | * //str// nom : peut être " | ||
+ | * // | ||
+ | * ex : ///unmute analogOUT// | ||
+ | * **/toggle** : inverse l' | ||
+ | * //str// nom : peut être // | ||
+ | * // | ||
+ | * ex : ///toggle analogOUT// | ||
+ | * **/volume** : règle le volume de l' | ||
+ | * //str// nomDeLEntreeSortie : peut être // | ||
+ | * //int// volume 0~100 : inaudible à 0%, plein volume à 100%, courbe logarithmique. | ||
+ | * ex : ///volume analogOUT 87// | ||
+ | * **/ | ||
===== Dev interface ===== | ===== Dev interface ===== | ||
{{: | {{: |