[Numérique] Décodage trame sonde météo
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Décodage trame sonde météo



  1. #1
    MorpheusPic

    Décodage trame sonde météo


    ------

    bonjour


    j'ai acheter à Lidl une petite station météo avec une sonde de température et humidité extérieure sans fil 433.92 Mhz

    tout marche tres bien, mais je me suis dit que vu que la base pouvait recevoir jusqu'a 3 sondes extérieure je me suis lancer dans la fabrication d'un sonde supplémentaire pour afficher sur la base la température de la piscine ou autre...
    j'ai donc commencer a décoder la trame que la station reçois:


    pour les test j'ai envoyer a la base 15 trames avec a chaque fois le checksum incrémenté (0000;0001;0010...etc) la trame est reçu bien sur une fois sur 15 quand le checksum est ok

    Donc il me reste a savoir comment le checksum sur 4 bits est calculé ?

    il y a aussi 4 bits toujours à 0 dont le rôle est inconnu, mais en passant un seul de ces bit a 1 les trames ne sont plus acceptés dont je pense que c'est normal ...

    si on trouve je vous partagerai toute les informations merci.

    Nom : trame.jpg
Affichages : 586
Taille : 87,5 Ko

    -----

  2. #2
    MorpheusPic

    Re : Décodage trame sonde météo

    une autre trame Ok pour relancer le ... challenge ^^
    ________________ID__________Ch ecksum___Bat___Buz______??____ Temperature_____humidité_____? ?_____cannal
    28.7°C 20%_____01110110_____0000_____ ___0____0_______00____01101100 1001___00010001_____00_____01

    ce que je sait c'est que le checksum change si n'importe quel bit change

    la question est quel calcul ils font pour avoir 0000 avec la trame ci dessus ? xor and etcc ??
    Dernière modification par MorpheusPic ; 21/06/2017 à 17h45.

  3. #3
    dje8269

    Re : Décodage trame sonde météo

    Bonsoir,

    Es-tu sur qu'il s'agit d'un checksum ?

    Je dis ca car j'ai bidouiller sur des modules radio, et le checksum est toujours à la fin d'une transmission et non au début . car le cheksum est calculé suivant les valeurs qui le précède ! je dis ça je dis rien, c'est peut être une grosse connerie. j'essaye de te faire avancer.

    Un XOR entre chaque valeur précédente est très commun comme checksum !

    Bon courage
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  4. #4
    Seb.26

    Re : Décodage trame sonde météo

    +1 ... un checksum en début de trame c'est space ... tu es sûr de ton découpage ?!

    Tu peux nous mettre quelques trames en hexa SVP, en binaire c'est pas hyper pratique ...

    Et si le chk est bien sur 4b, il faut raisonner en quartets.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  5. A voir en vidéo sur Futura
  6. #5
    Seb.26

    Re : Décodage trame sonde météo

    28.7°C 20%_____0111 0110_____0000_____ ___0____0_______00____0110 1100 1001___0001 0001_____00_____01
    0x 7 6 0 0 6 C 9 1 1 1

    PS: tu es bien sur du sens de tes bits ? (un 1 n'est pas un 0) ... la température augment bien comme il faut ?
    Dernière modification par Seb.26 ; 22/06/2017 à 10h51.
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  7. #6
    MorpheusPic

    Re : Décodage trame sonde météo

    bonjour et merci pour votre aide

    bon sa avance un peut pour les 1 et 0 oui c'est sur

    je viens de comprendre que l’humidité est en BCD soit 0110 | 0110 > 66% la température non ...

    pour la temperature je me suis rendu compte qu'il me manquer un des bits inconnu jusqu'a maintenant mais par contre le bit de poids faible de la température n'a aucune action sur l'affichage si je le passe a 1 sa augmente pas de 0.1°C par contre le 2 eme bit oui

    pour la position du checksum oui c'est etrange mais c'est bien sa


    Code:
                             ID      Checksum   Buz    Bat      ?  Temperature     humidité    ??   cannal	
    28.7°C      20%      01110110   0000         0      0      0    0011011001001   00010001   00   01
    28.5°C      20%      01110110   0011         0      0      0    0011011000110   00010001   00   01		
    HH.H        20%      01110110   1101         0      0      0    1110111011101   00010111   00   01	            
    0.1°C       67%      01110110   1010         0      0      0    0010011000110   01100111   00   01
    0.0°C       67%      01110110   0101         0      0      0    0010011000101   01100111   00   01
    0.0°C       66%      01110110   0100         0      0      0    0010011000101   01100110   00   01
    
    0.0°C       66%      01110110   0001         1      0      0    0010011000101   01100110   00   01
    0.0°C       66%      01110110   1111         0      1      0    0010011000101   01100110   00   01
    0.0°C       66%      01110110   1010         1      1      0    0010011000101   01100110   00   01
    quelque trames de plus pour cogiter

    merci

  8. #7
    MorpheusPic

    Re : Décodage trame sonde météo

    bonjour

    voila quelques trames supplémentaire acceptés par la station revu et corrigé

    j'ai essayer de changer q'un seul bit a la fois pour les différents paramètres pour essayer de comprendre mais je sèche .......



    Code:
    _________________ID_________Checksum__Buz__Bat__?____Temperature_____humidité___??__cannal_____________Checksum decimal
    28.7°C	11%      01110110   0000       0   0    0    0011011001001   00010001   00   11				0
    28.5°C	11%      01110110   0011       0   0    0    0011011000110   00010001   00   11				3
    HH.H	17%      01110110   1101       0   0    0    1110111011101   00010111   00   11				13    
    0.1°C	67%      01110110   1010       0   0    0    0010011000110   01100111   00   11				10
    0.0°C	67%      01110110   0101       0   0    0    0010011000101   01100111   00   11				5
    0.0°C	66%      01110110   0100       0   0    0    0010011000101   01100110   00   11				4
    0.1°C	66%      01110110   1110       0   0    0    0010011000111   01100110   00   11				14
    0.2°C	66%      01110110   1101       0   0    0    0010011001001   01100110   00   11				13
    0.3°C	66%      01110110   0111       0   0    0    0010011001011   01100110   00   11				7
    0.4°C	66%      01110110   1111       0   0    0    0010011001100   01100110   00   11				15
    0.5°C	66%      01110110   1010       0   0    0    0010011001101   01100110   00   11				10
    0.6°C	66%      01110110   0000       0   0    0    0010011001111   01100110   00   11				0
    
    0.0°C	66%      01110110   0001       1   0    0    0010011000101   01100110   00   11				1
    0.0°C	66%      01110110   1111       0   1    0    0010011000101   01100110   00   11				15
    0.0°C	66%      01110110   1010       1   1    0    0010011000101   01100110   00   11				10
    -39.3°C	 0%      00000000   0111       1   1    0    0001000000000   00000000   00   11				7
    		
    -39.3°C  0%      00000000   1110       0   0    0    0001000000000   00000000   00   01				14
    -39.3°C  0%      00000000   0011       0   0    0    0001000000000   00000000   00   10				3
    -39.3°C  0%      00000000   1001       0   0    0    0001000000000   00000000   00   11				9
    
    -39.3°C  0%      00000001   0100       0   0    0    0001000000000   00000000   00   11				4
    -39.3°C  0%      00000010   0000       0   0    0    0001000000000   00000000   00   11				0
    -39.3°C  0%      00000100   1000       0   0    0    0001000000000   00000000   00   11				8
    -39.3°C  0%      00001000   1011       0   0    0    0001000000000   00000000   00   11				11
    j'implore un dieux du binaire !!

  9. #8
    Seb.26

    Re : Décodage trame sonde météo

    Chaud ton histoire ...

    Idée : puisque tu vas te faire un émetteur maison, pourquoi donc ne pas envoyer chaque trame avec les 16 checksum possibles ? ... du coup il y aura le bon ... ... c'est pas hyper FengShui mais ça marcherait ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  10. #9
    MorpheusPic

    Re : Décodage trame sonde météo

    salut

    oui j'ai tester d'envoyer les 15 trames différentes mais le temps de les envoyer toutes prends trop de temps et vu que le récepteur est a piles il est alimenter que au moment de recevoir la trame du coup sa passer pas tout le temps
    puis a la moindre erreur dans la les trames risque d’être accepté .

    plan B ... vu que le seul élément qui change dans mon cas est la température, je me suis lancer dans l'enregistrement des 250 checksum pour les temperature de -10° à 40°c avec un pas de 0.2°C lol

    j'ai fait un ptit prog relieé a la station pour détecter les trames ok et mémoriser le checksum correspondant dans l'eeprom du pic.

    comme sa j'aurai mes checksum pour la plage de -10 a 40°C et éventuellement scanner le checksum pour les trames hors mémoire ...

    merci encore pour ton aide

  11. #10
    Seb.26

    Re : Décodage trame sonde météo

    Citation Envoyé par MorpheusPic Voir le message
    plan B ... vu que le seul élément qui change dans mon cas est la température, je me suis lancer dans l'enregistrement des 250 checksum pour les temperature de -10° à 40°c avec un pas de 0.2°C lol
    C'est pas FengShui non plus mais ça marche !

    Et puis ça fait 'que' 128 octets de data a inclure dans le code, c'est pas l'enfer
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  12. #11
    nornand

    Re : Décodage trame sonde météo

    je suis l'affaire avec attention .

  13. #12
    MorpheusPic

    Re : Décodage trame sonde météo

    salut

    le problème du checksum est réglé j'ai mes 250 valeur sur 4 bits en quartet dans l'eeprom pour les température de -10.0 a 40.0 avec un pas de 0.2°C

    checksums valables seulement avec :

    Bit batterie faible à 0
    bit Alarme (fait sonner la base) à 0
    ID à b'00111111
    Hygrometrie à 0
    canal = b'11 (3)


    Code:
    34	8A	C3	2B	60	7E	70	F0	16	52	43	DF	B4	AC	18	A9
    1D	96	8F	34	07	B9	2D	C5	CE	84	0F	16	AD	9E	20	B4
    5C	67	7E	30	B4	52	CB	DA	9B	F0	A8	18	B9	48	C3	07
    B6	52	EC	2D	C5	8E	90	0E	87	61	25	34	31	5A	42	F6
    C7	7B	F0	E9	52	8F	31	A5	4D	D6	C5	8B	0F	E9	E9	F8
    B9	D2	1A	A3	42	F3	78	34	8F	61	DF	96	7E	35	2B	25
    A5	43	07	16	8A	E1	F9	4D	DC	6A	E1	F8	43	70	CE	5A
    B2	B9	A3	ED	69	8F	16	07	46	2D	65	D4	35	FF	FF	FF
    donc sur le premier octet (34) le 4 est le checksum pour -10.0°C, le 3 est le checksum pour -9.8°C etc...

    nickel sa marche presque bien ...

    j'ai un autre problème maintenant la station met en marche son récepteur radio que toute les 1 minute 17 secondes pendant 3 secondes

    on a donc une fenêtre de 2 - 2,5 seconde (le temps que le récepteur se stabilise un peut) pour envoyer notre trame
    vu que j'utilise le watchdog peut stable en température et tension pour réveiller le pic toute les 1 minute 18 secondes, je perd la synchro très rapidement au bout de 5 minutes ...

    donc je suis en train de voir pour utiliser le timer 1 avec un quartz horloger sur son oscillateur.

    le but est que ma sonde consomme le moins possible.

  14. #13
    nornand

    Re : Décodage trame sonde météo

    super boulot. Continus (stp) a nous tenir au courant de tes avancés .

  15. #14
    Seb.26

    Re : Décodage trame sonde météo

    l’émetteur d'origine arrive a rester synchro avec la base ?
    ... comment se fait la synchro au démarrage ?

    PS: pourquoi mettre la LUT des CRC dans l'eeprom et pas dans le code ?
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  16. #15
    MorpheusPic

    Re : Décodage trame sonde météo

    salut

    a la mise sous tension faut mettre la base en mode recherche des sondes, elle laisse allumer son récepteur pendant quelques minutes puis elle reviens au mode de scrutation toute les 1 minute 17 pour chaque sonde

    elle reste synchro avec les sondes puisque elle sait a quand remonte la dernière trame reçu de chaque sondes

    un chose que j'ai remarquer, si au bout de x fois elle a pas reçu de trame d'un des sondes mémorise elle repasse en mode recherche pour se resynchroniser avec la sonde et si elle y parviens pas elle laisse 'tomber' et la température affichée clignote

    pour les checksum j'ai préférer l'eeprom pour pas bouffer de la mémoire c'est q'un 12f675 donc 1024 de mémoire code

    c'est presque fini je m'occupe de la partir basse consommation vu que la sonde est alimentée par un petit panneau solaire et une batterie de 7mAh

    pour le moment en consommation j'en suis a 10 µA en veille + 15µA pour la transmission toute les 80 secondes

Discussions similaires

  1. [Programmation] Decodage trame NMEA d'un GPS
    Par adipie dans le forum Électronique
    Réponses: 22
    Dernier message: 14/01/2017, 16h53
  2. Logiciel d'enregistrement et de décodage d'images météo
    Par gégé85 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/02/2015, 16h28
  3. décodage d'une trame IR par pic
    Par ilyasse192 dans le forum Électronique
    Réponses: 9
    Dernier message: 03/11/2013, 22h05
  4. Décodage d'une trame RC5
    Par IHCAAMEL dans le forum Électronique
    Réponses: 6
    Dernier message: 19/12/2012, 08h48
  5. décodage trame RC5
    Par invite4aa0e93b dans le forum Électronique
    Réponses: 2
    Dernier message: 08/01/2004, 20h09
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...