Communication serie avec un inclinometre

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

Répondre
JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Communication serie avec un inclinometre

Message par JBaill » ven. 2 févr. 2024 18:34

Bonjour à toutes et tous
Je reviens encore vous embeter
Je seche sur une conversation avec un inclinometre .
cette conversation se fait en serie mais uniquement avec de l exadecimal (il me semble que beaucoup de module causent ce langage les gps notament)
Si je decode avec facilité (j'ai pas mal galèré tout de même ) ce que le module diffuse
Impossible de lui parler ( j ai besoin d'etalonner et de definir les zero)
j'ai essayé beaucoup de chose et nada .
j 'envisage de snifer le port serie du programme windows qui est donné avec le module et qui permet de faire ce qui m intéresse .
c'est un module witmotion JY60 inclinometre accelerometre magnetometre 3 axes
witmotion a un protocole spécifique à ses modules et exige des trames en hexadecimal
je sais que je peux converser en i2c ou en spi mais j ai deja un circuit avec une liaison serie et un raspico
quelqu'un a t il deja utilisé ces modules?? et rencontré ces problemes
merci de vos lumieres

Cordialement
Jacques BAILLARGEAT

piper
Modérateur
Messages : 697
Enregistré le : sam. 5 juin 2021 18:57

Re: Communication serie avec un inclinometre

Message par piper » sam. 3 févr. 2024 17:19

Bonjour,
Visiblement inutile de réécrire le pilote ( ce qui exige d'analyser le contenu des trames)
Une bibliothèque en python est disponible pour communiquer avec via son port série
https://witmotion.readthedocs.io/en/lat ... start.html

Pour info, rien n'interdit d'avoir plusieurs modules en I2C ni plusieurs modules en SPI
Ce qui est important c'est qu'ils utilisent tous la même tension de niveaux logiques (5V ou 3.3 V, pour les Raspberry, c'est 5V), sinon, il faut un module de transformation des niveaux logiques.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Re: Communication serie avec un inclinometre

Message par JBaill » mar. 13 févr. 2024 18:10

Bonjour
Merci de votre prompte réponse et désolé de ma réponse tardive j'ai un peu laissé de coté ce problème (pour faire autre chose bien sur )
Je teste cela très vite et vous tiens informé.
Cordialement
Jacques

JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Re: Communication serie avec un inclinometre

Message par JBaill » mar. 13 févr. 2024 19:01

J avais oublié de preciser .....
Je voulais converser avec l inclinometre en micropython avec un pico
Evidement le problème est très different ....
alors toute suggestion est bienvenue...

merci
Jacques Baillargeat

piper
Modérateur
Messages : 697
Enregistré le : sam. 5 juin 2021 18:57

Re: Communication serie avec un inclinometre

Message par piper » ven. 16 févr. 2024 01:52

Ah, là, il faut la bibliothèque écrite pour micro-python
Bon courage avec les picos :
15 ans que je fais du raspberry pi, 8 ans de l'arduino et des ESP32
Le seul de mes MCU qui ait jamais manqué plusieurs fois de passer par la fenêtre ..... c'est mon pico d'ailleurs hier encore, il a faillit finir à la poubelle.
Il va surement finir par y aller pour de bon d'ailleurs.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Re: Communication serie avec un inclinometre

Message par JBaill » lun. 19 févr. 2024 15:18

bonjour,

Je viens des pics et du PDP11 le pico est un vrai régal à coté.
Et bien je vais faire le bète et méchant j ai le programme de calibrations des inclinometres sous windows.
Je vais snifer le port série et je saurai ce qu'ils se racontent pour la calibration
et tacher de le reproduire....
il y a tt de même des trucs un peu curieux avec l' uart
par exemple l écriture d'une chaine ascii le port rebouclé me donne du binaire au retour
uart.write "salut"
donne avec print (uart.read()) b'salut'
ecris en binaire quelquesoit la façon donne toujours b'salut' y compris si je limite le nombre de caractère ou que je prend la ligne complete
et je n'ai pas trouvé d option dans la bibliotheque uart (j ai surement mal regardé) y quelque chose qui cloche la dedant j'y retourne immediatement comme disait l'oncle de Boris VIAN
donc ou l'émission se fait sytematiquement en binaire ou bien la réception
en tout cas le module ne reçois pas ce qu'il faut puisqu'il continue à débiter ses paramètres
je vais voir tout ça en sniffant l interface usb ttl 3,3v et je vous donnerai la méthode pour l étalonnage en µpython avec l'uart
je suis un peu stupide c'etait surement plus facile en I2C mais le CI est fait et ça fonctionne très bien dans l'autre sens
il n existe hélas pas de bibliotheque pour le µpython et celle du python est beaucoup trop lourde pour la transformer.
bref ya du taff
à bientot et merci de vos reponses
Jacques Baillargeat

JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Re: Communication serie avec un inclinometre

Message par JBaill » sam. 24 févr. 2024 09:25

bonjour,
Finalement snifer le port serie etait la bonne solution .
ce qui m a permis de voir que le JY60 n'utilisait pas le protocole de la doc witmotion protocol
finalement c est tres simple il suffit d'envoyer ff aa 67 en exa
donc uart.write(binascii.unhexlify(ffaa67) et le tour est jouer pour recaler les x et y
le seul code qui change pour les autres ordres est le dernier
60 pour mettre en veille et le reveiller
61 pour selectionner le port serie
62 selection de l' IIC
63 vitesse 115200 Baud
64 vitesse 9600 baud
65 installation horizontale (du module)
66 installation verticale

c est tt de meme plus simple
à bientot pour de nouveau problemes
cordialement
Jacques Baillargeat

SurajkaliMotiar
Messages : 4
Enregistré le : mar. 2 janv. 2024 13:13

Re: Communication serie avec un inclinometre

Message par SurajkaliMotiar » ven. 26 avr. 2024 09:12

Bonjour Jacques,

Il semble que vous rencontrez des difficultés à communiquer avec un inclinomètre Witmotion JY60 via une liaison série en utilisant un Raspberry Pi. Voici quelques points à considérer:

Protocole Witmotion: Assurez-vous d'utiliser le protocole de communication spécifique aux modules Witmotion. Ce protocole exige des trames en hexadécimal et peut différer des protocoles série standard. Vous pouvez trouver des informations détaillées sur le protocole Witmotion dans la documentation fournie par le fabricant.

Bibliothèques et outils: Vérifiez si des bibliothèques ou des outils existent pour faciliter la communication avec les modules Witmotion en Python sur Raspberry Pi. Ces outils peuvent simplifier l'envoi et la réception de trames hexadécimales conformes au protocole Witmotion.

Analyse du trafic série: Snifer le port série du programme Windows peut vous aider à comprendre les trames échangées entre le programme et l'inclinomètre. Cela peut vous donner des indices sur la structure des trames et les commandes requises pour l'étalonnage et la définition des zéros.

Assistance Witmotion: N'hésitez pas à contacter le support technique de Witmotion pour obtenir de l'aide sur l'utilisation de leurs modules et la communication avec eux en utilisant une liaison série. Ils peuvent fournir des conseils spécifiques et des ressources pour résoudre votre problème.

Alternatives à la liaison série: Si la communication série s'avère trop complexe, vous pouvez envisager d'utiliser une interface alternative comme I2C ou SPI. Ces interfaces peuvent offrir une communication plus simple et plus directe avec l'inclinomètre.

En résumé, la résolution de votre problème peut nécessiter une combinaison de compréhension du protocole Witmotion, de l'utilisation de bibliothèques appropriées, de l'analyse du trafic série et d'une éventuelle assistance de Witmotion. N'hésitez pas à explorer ces options et à chercher de l'aide supplémentaire si nécessaire.

JBaill
Messages : 28
Enregistré le : jeu. 14 juil. 2016 10:36

Re: Communication serie avec un inclinometre

Message par JBaill » ven. 26 avr. 2024 16:27

Bonjour,
j ai contacté directement witmotion et j ai eu par mail un ingénieur de witmotion qui m'a tout expliqué
avec des exemples et tout et tout....
le JY60 a un protocole simplifié mais aussi des limitations 9600 baud ( de serie) 19200 paramétrable
100 acquisitions par seconde ou 10 par seconde (ce qui est largement suffisant pour mon appli)
et la procédure de calibration très simple . en deux mots
Finalement tout fonctionne a merveille
merci à ceux qui m on répondu
et n hésitez pas a utiliser ces produits qui sont vraiment fiable et solide ( je les ai torturé sans réussir à en cramer)
a bientôt pour de nouvelle question

Répondre

Retourner vers « Utilisateurs avancés »