Go Down

Topic: Decodage sonde Auriol temp + hum 433Mhz  (Read 1 time) previous topic - next topic

alb12

Jun 14, 2017, 11:55 am Last Edit: Jun 14, 2017, 10:03 pm by alb12
Bonjour,

J'ai acheté il y a quelques jours une station météo chez Lidl de marque Auriol afin de remplacer mon ancienne qui était HS.
J'aimerai donc récupérer à l'aide d'un arduino et d'un récepteur 433Mhz ce qu'envoi le capteur extérieur ( température et l'humidité ) ( Ref Z31915 ).
Voici les premières pistes que j'ai :
https://books.google.fr/books?id=zS4DDQAAQBAJ&printsec=frontcover&hl=fr#v=onepage&q=Z31915&f=false

Quelqu'un a t-il une idée de comment faire ?

Merci d'avance
Cordialement

Artouste

#1
Jun 14, 2017, 07:51 pm Last Edit: Jun 14, 2017, 07:51 pm by Artouste
Quelqu'un a t-il une idée de comment faire ?

Merci d'avance
Cordialement
Bonjour
Je ne connais pas cette station, il faut regarder le codage (pour la frequence c'est bien du 433.920 MHz voir la doc Lidl)

le plus facile/simple aujourd'hui en DIY est d'utiliser pour analyse un recepteur RTL/SDR et le soft URH
Voir une discussion ici

sinon utiliser un petit analyseur logique soit dans l'emetteur , soit dans le recepteur

ou te rabattre sur un recepteur cheap attaquant l'entree son d'un PC ( petit hard à prevoir) et enregistrement avec audacity (par exemple)


alb12

#2
Jun 14, 2017, 10:36 pm Last Edit: Jun 14, 2017, 11:49 pm by alb12
Merci pour ces infos.
J'ai une clé TV de marque pctv ( ref 73e ) cela peut fonctionner avec URH ?
Sinon dans le cas d'un module recepteur 43Mhz branché sur l'entree son qu'entends tu par petit hard à prévoir, cela ?

alb12

#3
Jun 16, 2017, 03:44 pm Last Edit: Jun 16, 2017, 04:25 pm by alb12
Afin d'avoir un signal plus clair qu'avec la prise jack , j'ai acheté cette clé : https://www.amazon.fr/gp/product/B00NOP0P6W/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Je viens d'installer URH pour essayer, j'ai du installer les drivers avec Zadig pour qu'URH ne plante pas.
Pour l'instant je ne reçois rien en faisant record signal.

Merci pour votre aide :)

alb12

Bonjour,
Pour faire suite à ce topic, voici les trames que j'ai réussi à capturer.


et un petit zoom sur l'une d'elle

al1fch

#5
Jun 23, 2017, 02:26 pm Last Edit: Jun 23, 2017, 02:31 pm by al1fch
Bonjour

reçu hier par MP un debut  de trame 'décodée' que m'a envoyé hier abl12 , en complément de la trame 'radio' (fichier joint)
ci dessous une tentative d'interprétation :

jaune : bruit
bleu : préambule
vert : bit d'info à 1
rouge : bit d'info à 0


je lui ai suggéré :
-d'éliminer le bruit précédant le préambule soit en désactivant la CAG de la clef SDR si URH le permet, soit en jouant avec les paramètre 'noise' et 'center' d'URH
-de jouer un peu avec le parametre 'length' d'URH pour 'embellir' les impulsions utiles
-d'enregistrer sur une période plus longue pour visualiser la trentaine (?) d'impulsions de la trame

PS : après une brève 'prise en mains' sous Windows je n'ai plus URH sous la main.

Artouste

Bonjour,
Pour faire suite à ce topic, voici les trames que j'ai réussi à capturer.
Bonjour
fais une analyse avec ASK et signal démodulé
comme sur la photo
poste ton fichier d'acquisition


al1fch

#7
Jun 23, 2017, 02:41 pm Last Edit: Jun 23, 2017, 03:01 pm by al1fch
Salut Artouste ! Si tu as encore la main sur URH, vois-tu dans URH u une possibilité désactivation de la CAG (plutôt généreuse !!) des clefs SDR ?

le fil que tu avais initié pour présenter URH est içi :

https://forum.arduino.cc/index.php?topic=459135.0

Pour aider sa démodulation ASK , abl12 peut jouer sur :
-'center' (discrimination selon l'amplitude) qui se manifeste par deux zones horizontales colorées '1' et '0'
-'length' (discrimination selon la durée des états hauts)

bruit éliminé, décodage ASK bien paramétré, abl12 doit pouvoir aboutir à des trames propres, régulières...... sur lesquelles il sera possible alors de cogiter pour voir où et comment sont codées les infos température et humidité !!

Avec un signal proprement démodulé :

on peut ensuite travailler sur les tableaux de trames :


Artouste

Salut Artouste ! Si tu as encore la main sur URH, vois-tu dans URH u une possibilité désactivation de la CAG (plutôt généreuse !!) des clefs SDR ?

Pour aider  sa démodulation ASK abl12 peut jouer sur :
-'center' (discrimination selon l'amplitude) qui se manifeste par deux zones horizontales colorées '1' et '0'
-'length' (discrimination selon la durée des états hauts)

bruit éliminé, décodage ASK bien paramétré, abl12 doit pouvoir aboutir à des trames propres, régulières...... sur lesquelles il sera possible de cogiter !!

bonjour Al1
a ma connaissance urh ne permet pas de gerer les parametres de CAG des dongles sdr
seul le gain peut être paramétré manuellement

al1fch

#9
Jun 24, 2017, 06:24 pm Last Edit: Jun 26, 2017, 03:23 pm by al1fch
ça yest , URH installé sous Linux

En effet, Artouste, on peut fixer manuellement le gain, la CAG est donc probablement désactivée.

Comme proposé par Artouste, si tu mets en ligne, alb12, ton fichier d'acquisition (extension .complex) des intervenants munis d'URH pourront l'ouvrir, l'explorer et tenter de faire apparaitre des trames régulières.

alb12

#10
Jun 26, 2017, 08:49 am Last Edit: Jun 26, 2017, 08:51 am by alb12
Bonjour,

Merci pour vos différentes informations.

Je joins un zip contenant 5 fichiers .complex, les trames sont censées contenir la température et l'humidité.
La température et l'humidité sont mis dans le nom du fichier, par exemple
RTL-SDR-434_059MHz-1MSps-1MHz_271_56  => 271 pour la température soit 27,1 et 56 pour l'humidité.

Je n'ai pu y regarder plus ce WE.

Lien vers fichier complex


Cela peut aider aussi pour décoder la trame

al1fch

#11
Jun 26, 2017, 11:43 am Last Edit: Jun 26, 2017, 12:08 pm by al1fch
Bonjour
tes enregistrements, abl12, comportent des séries de trames

En zoomant et en observant les répétitions je vois des trames d'environ 160mS, commençant par un préambule d'environ 16ms. Viennent ensuite des motifs de profils réguliers (au bruit près).
courts de 2,4 ms -> séquence "10" dans la tentative de décodage de la trame


longs  de 4,6ms -> séquence "1000"

(Sur ces copies d'écran le seuil est encore un peu bas, le remonter en déplaçant la frontière haut/bas avec la souris ou modifier la valeur du paramètre  Center)

Le codage du bit utilisé içi est de type 'position d'impulsion' (PPM). URH ne sait pas traiter seul de codage (j'en ait failt la demande à l'auteur du soft, sans effect à ce jour).

Trame (hors préambule) avec ses parametres de décodage (.....partiel)


Il faut donc effectuer à la main les substitutions, remplacer 1000 par 1 , 10 par 0 , voir si ça a du sens au vu du contenu de l'information. Essayer éventuellement la convention contraire 1000->0, 10->1

PS : sous Linux le soft rtl_433 fait des merveilles..... il réceptionne, montre les trames et sait décoder une cinquantaine de 'protocoles' courants. (télécommandes, capteurs de température.....)

alb12

En effet c'est ce que j'avais trouvé aussi pour 1000 et 10

J'avais commencé à transcrire quelques trames dont voici le résultat:

Temp: 27,5 / Hum: 60
1111100

10101010
1001
00
10
011010110011 = 1715 = 27,5 ?
01100000 = 60  ( BCD )
00011

Temp: 26,8 / Hum: 57

1111100

1010100001
1110
00
00
110101001001 = 3401 = 26,8 ?
01010111 = 57 ( BCD )
00011

Temp: 27,0 / Hum  60

1111100

10101010
0100
00
00
011010101011 = 1707  =  27,0 ?
01100000 = 60 ( BCD )
00011


Temp: 27,1 / Hum: 56

1111100

10101010
1111
00
00
011010101100 = 1708  =  27,1 ?
01010110  = 56 ( BCD )  
00011

Artouste

#13
Jun 26, 2017, 06:13 pm Last Edit: Jun 26, 2017, 08:29 pm by Artouste
En effet c'est ce que j'avais trouvé aussi pour 1000 et 10

J'avais commencé à transcrire quelques trames dont voici le résultat:

Temp: 27,5 / Hum: 60
1111100

10101010
1001
00
10
011010110011 = 1715 = 27,5 ?
01100000 = 60  ( BCD )
00011

Temp: 26,8 / Hum: 57

1111100

1010100001
1110
00
00
110101001001 = 3401 = 26,8 ?
01010111 = 57 ( BCD )
00011

Temp: 27,0 / Hum  60

1111100

10101010
0100
00
00
011010101011 = 1707  =  27,0 ?
01100000 = 60 ( BCD )
00011


Temp: 27,1 / Hum: 56

1111100

10101010
1111
00
00
011010101100 = 1708  =  27,1 ?
01010110  = 56 ( BCD ) 
00011
Bonjour
pour les 3 trames correspondant à T° lue 27.5  27.0  27.1
on retrouve un facteur 6 constant en divisant le nombre par les degrés lus au 1/10éme de degré

011010110011 = 1715 = 27,5  1715/275=6
011010101011 = 1707 = 27,0  1707/270=6
011010101100 = 1708 = 27,1  1708/271=6



mais ça ne colle pas avec T=26.8 (facteur 5) et longueur trame differente
on retrouve neanmoins des constantes en début et fin
erreur de transcription de la trame 26.8 ?


Selon la logique la trame T° 26.8 H° 57 devrait être ainsi
11111001010101011110000‭011001001000‬0101011100011




al1fch

#14
Jun 27, 2017, 04:54 pm Last Edit: Jun 27, 2017, 05:34 pm by al1fch
Bonjour

Un message du 24/07 sur le forum Domoticz signale que cette sonde Auriol est gérée par RFLINK 433 :
https://easydomoticz.com/forum/viewtopic.php?f=7&t=4308&sid=0772486e36030ecaefde50764f48942d

Présentation de RFLINK :
https://easydomoticz.com/rflink-un-module-433mhz-arduino-mega-partie-1-le-materiel/

Un petit tour dans le code source de RFLINK pour trouver le format de la trame.....
http://www.nemcon.nl/blog2/development

Le plugin 044 contient les routines pour le décodage  de cette sonde Auriol -(cf fichier joint)

J'extrait le format de la trame avec sa formule 'originale' utilisée pour la représentation de la température.....un poil plus complexe que N/6 !!!
Code: [Select]

 * Auriol Message Format:
 * 1011 1111 1001 1010 0110 0001 1011 0100 1001 0001
 * B    F    9    A    6    1    B    4    9    1
 * AAAA AAAA BBBB CCDD EEEE EEEE EEEE FFFF FFFF GGHH
 *
 * A = ID?
 * B = Rolling code?
 * C = possibly battery indicator ?
 * D = trend (2 bits) indicating temp equal/up/down ?
 * E = Temperature => 0x61b  (0x61b-0x4c4)=0x157 *5)=0x6b3 /9)=0xBE => 0xBE = 190 decimal!
 * F = humidity: 49%
 * G = ?
 * H = channel: 1 (2 bits)


EN résumé : retirer 1220 (ou 4C4 en hexa) au nombre transmis puis multiplier par 5/9 pour obtenir la valeur de la température !!!  (remarque 9/5= 1,8, coefficient utilisé dans la conversion °C -> °F, la valeur transmise par la sonde est la température en °F + un offset pour éviter de gérer le signe)

1715 --> 495 --> 275
1707 --> 487 --> 270

Go Up