Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


projets:brutbox:dev:wireless:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
projets:brutbox:dev:wireless:accueil [2020/04/10 15:00]
laurent [osc2alsa-midi]
projets:brutbox:dev:wireless:accueil [2020/04/10 15:07] (Version actuelle)
laurent [la solution ?]
Ligne 69: Ligne 69:
 À ce jour, cette méthode montre encore une latence trop importante pour être dûe au seul traitement de l'OSC à l'intérieur de puredata. Pour vérifier le rôle de la couche réseau de PD, il est nécessaire de l'éviter en utilisant une autre voie de communication.  À ce jour, cette méthode montre encore une latence trop importante pour être dûe au seul traitement de l'OSC à l'intérieur de puredata. Pour vérifier le rôle de la couche réseau de PD, il est nécessaire de l'éviter en utilisant une autre voie de communication. 
  
-Le gain en vitesse de calcul comparé à la réception OSC interne à puredata n'a pas été évalué et il peut être tout de même bénéfique d'externaliser ce traitement en utilisant //liblo// à la place d'une abstraction pd. Un [[https://github.com/reso-nance/brutbox-wifi/raw/master/osc2pd/setup | script d'installation]] pour debian et ses dérivés (ubuntu, raspbian...) ainsi qu'un [[https://github.com/reso-nance/brutbox-wifi/raw/master/osc2pd/example.pd | example puredata]] sont disponibles sur le git. L'installation se fait en téléchargeant le dossier osc2pd sur le disque dur puis en exécutant ''%%sudo bash ./setup%%''. Une connection à Internet est nécessaire pour télécharger les dépendances. Le script peut alors être lancé par la commande ''%%python3 osc2pd.py%%''. Il écoutera sur le port 8000 et renverra à pd sur le port 10000.+Le gain en vitesse de calcul comparé à la réception OSC interne à puredata n'a pas été évalué et il peut être tout de même bénéfique d'externaliser ce traitement en utilisant //liblo// à la place d'une abstraction pd. Un [[https://github.com/reso-nance/brutbox-wifi/raw/master/osc2pd/setup | script d'installation]] pour debian et ses dérivés (ubuntu, raspbian...) ainsi qu'un [[https://github.com/reso-nance/brutbox-wifi/raw/master/osc2pd/example.pd | exemple puredata]] sont disponibles sur le git. L'installation se fait en téléchargeant le dossier osc2pd sur le disque dur puis en exécutant ''%%sudo bash ./setup%%''. Une connection à Internet est nécessaire pour télécharger les dépendances. Le script peut alors être lancé par la commande ''%%python3 osc2pd.py%%''. Il écoutera sur le port 8000 et renverra à pd sur le port 10000.
  
 ==== osc2alsa-midi ==== ==== osc2alsa-midi ====
Ligne 85: Ligne 85:
  
 ==== la solution ? ==== ==== la solution ? ====
-Comme nous l'avons vu, le problème de congestion observé provient bien de la façon dont les données sont gérée à l'intérieur de pd. Mes connaissances du fonctionnement interne de pd ne permettant pas d'en déterminer la cause plus avant, j'ai cherché une solution plus simple mais fiable. En limitant la quantité de messages émis par les capteurs à ~30 à 40 messages par secondes, ce phénomène ne se produit plus. Cette limitation n'étant pas liée à un //delay()// dans le code de l'ESP8266, elle n'induit aucune latence additionnelle. Le délai minimal entre deux messages émis par le même capteur est ajustable en en-tête des firmwares par la ligne ''%%#define MAX_RATE 30%%'' où il est renseigné en millisecondes. La valeur de 30ms (soit 33 messages/seconde max) semble sûre mais réactive. Des tests additionnels en situation réelle doivent être poursuivis avant de considérer ce problème comme définitivement clos.+Comme nous l'avons vu, le problème de congestion observé provient bien de la façon dont les données sont gérée à l'intérieur de pd. Mes connaissances du fonctionnement interne de pd ne permettant pas d'en déterminer la cause plus avant, j'ai cherché une solution plus simple mais fiable. En limitant la quantité de messages émis par les capteurs à ~30 à 40 messages par secondes, ce phénomène ne se produit plus. Cette limitation n'étant pas liée à un //delay()// dans le code de l'ESP8266, elle n'induit aucune latence additionnelle. Le délai minimal entre deux messages émis par le même capteur est ajustable en en-tête des firmwares par la ligne ''%%#define MAX_RATE 30%%'' où il est renseigné en millisecondes. La valeur de **30ms** (soit ~33 messages/seconde max) semble sûre mais réactive. **Des tests additionnels en situation réelle doivent être poursuivis avant de considérer ce problème comme définitivement clos.**
 ===== Photos ===== ===== Photos =====
 {{:projets:brutbox:dev:wireless:all-bbb-inok.png|}} {{:projets:brutbox:dev:wireless:all-bbb-inok.png|}}
/home/resonancg/www/wiki/data/attic/projets/brutbox/dev/wireless/accueil.1586523620.txt.gz · Dernière modification: 2020/04/10 15:00 de laurent