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 12:00] laurent [Modules] |
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 : lien vers un site éventuellement | + | * [[http:// |
| + | * [[http:// | ||
| Ligne 52: | Ligne 53: | ||
| ==== Implémentation ==== | ==== Implémentation ==== | ||
| - | Le code implémentant ce cahier des charges est [[https:// | + | Le code implémentant ce cahier des charges est [[https:// |
| + | |||
| + | ==== Modules : côté client ==== | ||
| + | Chaque instrument de verre est associé à un raspberry pi contenant le code //client// qui est automatiquement lançé au démarrage. | ||
| - | ==== Modules ==== | ||
| === 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 === | ||
| + | L' | ||
| + | |||
| + | === routing audio === | ||
| + | Contrairement à certaines cartes son bien plus onéreuses, la Behringer U-PHORIA UMC202 ne permet pas un monitoring hardware. Le routing audio doit donc se faire par voie logicielle, en passant régulièrement un tampon de l' | ||
| + | |||
| + | ===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 ===== | ||