chevalvert / rythmus

Rythmus main app
MIT License
0 stars 0 forks source link

Communication [pulse sensor firmware] <---> [Rythmus] #4

Closed Gouayave closed 5 years ago

Gouayave commented 5 years ago

Salut,

Je suis en train d'essayer de comprendre le code, mais je ne vois pas comment le ProMicro communique au reste du système la pulsation récupérée (dans rythmus-sensor/rythmus-sensor.ino).

Est ce qu'il y a un autre MCU qui communique avec le serveur ? Comme dans la trame suivante? [Pulse sensor] <-1Wire-> [ProMicro] <-??-> [ESP12 devKit] <-Ethernet/wifi-> [PC Server]

Merci pour ta/votre réponse. Belle journée.

arnaudjuracek commented 5 years ago

Le ProMicro envoie les données brutes via serial, et après y'a un système d'abstractions côté node qui se charge de parser puis analyser le signal :

ProMicroabstractions/Sensorabstractions/Heart + abstractions/PulseSample

Théoriquement la lib de pulseSensor côté ProMicro pourrait sortir les valeurs de BPM etc, mais pour tout un tas de raisons j'ai préféré réimplémenter côté node toute l'abstractions de calcul de pouls à partir de la valeur brute du signal.

L'architecture côté node c'est donc :

Gouayave commented 5 years ago

Merci pour cette réponse rapide. Ok j'avais plus cette notion d’abstraction. Parfait.

Et deux autres questions du coup:

Merci encore ! C'est vraiment sympa !

arnaudjuracek commented 5 years ago

Il n'y a pas de notion de "live" sur Rythmus si c'est ta question, tout est défini à l'avance (animations/), et à chaque présence détectée d'un utilisateur (pose du doigt sur la capacitif), une nouvelle animation est tiré au sort. Les animations de base peuvent proposer des variations (index.js#L11-L24) qui correspondent simplement à des configurations différentes (config.fdl.json).

Côté hardware, le serveur est un mac mini dans une boîte étanche, configuré pour se lancer automatiquement lorsque l'installation démarre (on utilise un mac mini parce que la partie son est géré par Ableton Live).

Pour le capacitive sensor, il s'agit simplement de ruban adhésive en aluminium, du type de ceux utilisés en plomberie : Native Capacitive Sensors without additional Hardware.

Gouayave commented 5 years ago

Ok. J'ai tout. Tu gères !