Raspberry Pi – Assembler votre sonde de température THERMISTOR avec un émetteur XRF

Je continue la série sur mes capteurs de température sans fil pour une station météo. Maintenant que les émetteurs sont configurés (voir cet article), il faut les intégrer dans leur boitier.

Raspberry Pi Home Server - Assembler votre sonde de température THERMISTOR avec un émetteur XRF

Le boitier est livré à assembler. Voici le boitier avant :

Raspberry Pi Home Server - Assembler votre sonde de température THERMISTOR avec un émetteur XRF

On y retrouve :

  • Le boitier
  • Une pile
  • La carte
  • Une résistance
  • Un condensateur
  • Les deux connecteurs pour le module XRF
  • Le connecteur pour la pile
  • Et le capteur de température

Voici comment tous ces petits éléments vont s’assembler :

Raspberry Pi Home Server - Assembler votre sonde de température THERMISTOR avec un émetteur XRF

A votre fer à souder ! 🙂 Voici le résultat final :

Raspberry Pi Home Server - Assembler votre sonde de température THERMISTOR avec un émetteur XRF

Attention : Le connecteur de pile sur la photo est dans le mauvais sens. Je pensais que ça serait plus pratique par rapport au capteur mais au final pas du tout. Et j’ai mis un peu d’étain sur le connecteur centrale pour la pile (le carré au milieu de la carte à coté de PAD HERE) mais un peu trop du coup ça ne passait pas. Je me suis bien amusé pour arranger mes bêtises :-p

Maintenant que vous avez votre émetteur il est temps de le tester. Assurer-vous d’avoir un module XRF sur la carte Slice Of Pi. Nous allons voir si tout ce petit monde arrive à se comprendre !

  1. Comprendre le language utilisé entre vos modules XRF. C’est relativement simple car normé. Un message est toujours du type : aXXMMMMMMMMM où :
    • XX est l’identifiant de l’émetteur de type [A-Z][A-Z]
    • MMMMMMMMM est le message en lui même

    La longeur du message est fixe. Les caractères non utilisés seront remplacés par -. Le protocole va dans les deux sens avec la même structure de message pour interroger ou pour la réponse. Vous trouverez ici toutes les instructions que vous pouvez envoyer à votre sonde.

  2. Lancer le mini terminal :
    python ~/pyserial-2.5/examples/miniterm.py /dev/ttyAMA0
  3. Ecouter l’émetteur sans fil. Ici c’est facile, il suffit de mettre la pile bouton dans l’emplacement et c’est parti pour des petits messages à l’écran :
    1._sshVous allez recevoir plusieurs fois de suite le message a–STARTED– de la part de notre émetteur.
  4. Parler à notre émetteur. Il suffit de lui dire bonjour en envoyant le message a–HELLO—-. Vous devriez avoir comme réponse : a–HELLO—-
    1._ssh
  5. Dans mon projet j’ai deux sondes. Il faut donc faire la différence entre chaque émetteur. Pour ça on va changer l’identifiant de l’émetteur. Attention je ne parle pas du PANID (l’équivalent du SSID du Wifi) mais bien d’un identifiant du bloc.
    Pour ça il faut envoyer la commande a–CHDEVIDZZ où ZZ est le nouvel identifiant. A vous de mettre ce que vous voulez. Ensuite il faut relancer l’émetteur avec la commande a–REBOOT—. Patientez quelques secondes et vous devriez de nouveau avoir le message de démarrage mais avec l’identifiant ZZ au lieu de –:
    1._ssh
  6. Enfin : demander la température ! Et oui car au final c’est ce que l’on veut 🙂 Il faut donc demander gentiment : aZZTEMP—–. La réponse est immédiate : aZZTMPA24.75. Et oui 24.75°C c’est l’été 🙂
  7. Dernière étape : économiser la batterie. Par défaut notre émetteur est tout le temps allumé dans l’attente d’une commande. Il est possible de demander l’envoi de la température de manière cyclique. Pour cela il faut utiliser 2 commandes dans l’ordre suivant :
    1. aZZINTVL999X où vous remplacez 999 par l’intervale que vous souhaitez et X par l’unité de cet intervalle : T = ms, S = secondes, M = minutes, H = heures et D = jours
    2. aZZCYCLE—- va activer le cycle défini avec la commande précédente. L’émetteur va s’activer toutes les 999X envoyer l’information puis se rendormir. Pendant son sommeil tout est coupé. Y compris la partie radio. Vous n’aurez donc aucune réponse à vos messages.

    A vous de choisir la fréquence de réception de vos mesures.

Voilà donc notre premier boitier assemblé et opérationnel. Reste à assembler le deuxième boitier et sans oublier de lui donner un autre identifiant à la place du ZZ !

La suite sera un script de récupération des mesures avec stockages dans une base de données.

Vous aimerez aussi...

  • Georges-Michel Bourdonneau

    Bonsoir,
    Grace à tes conseils et explication j’ai passé les étapes précédentes.
    Je coince maintenant sur point 4 de ce tuto.
    Quand je branche j’ai bien le message a–STARTED– plusieurs fois mais quant je tape
    a–HELLO—- je n’ai aucun retour.
    Aurais tu une idée ?
    As tu rencontré des pb sur ce point ?
    Cordialement,
    Gm

  • Georges-Michel Bourdonneau

    Parfait avec coller.

    J’ai un autre souci j’ai une des deux sonde qui n’arrête pas de faire a–STARTED— comme ci elle rebboutait sans cesse.

    As tu rencontré se pb ?
    Gm

    • Euh non là par contre ca ne me dit rien. Celle qui ne reboot pas retourne bien la température ?

  • Thibaut

    Salut et merci pour ce blog extra !
    J’ai moi aussi voulu refaire ce que tu viens de présenter avec 2 sondes, une sur le Raspi et une autre à part. Tout marche comme il faut en ce qui concerne la configuration des modules sans fil depuis le raspi (contact et mise à jour). Par contre, lorsque que je passe à l’étape 3 de ce tuto, quand je mets la pile, rien ne se passe côté raspi…. J’ai refait les soudures et vérifié plusieurs fois tout semble bon … J’ai respecté tes indications à la lettre , mais rien… Les 2 modules parle bien sur le même ID…
    Une idée ou une recommandation à me donner ?

    Merci 🙂

    • Salut
      Est-ce qu’il s’agit bien des mêmes sondes ? As tu bien fait la commande +++ (sans retour à la ligne) qui doit renvoyer OK puis envoyé le hello pour avoir une réponse ?

      • Thibaut

        Oui tout a fait :
        — Miniterm on /dev/ttyAMA0: 9600,8,N,1 —
        — Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H —
        — local echo active —
        a–HELLO—-
        ERR

        et toujours aucune réponse quand je met la pile …

        • On dirait que c’est l’émission qui pose problème, comme si la sonde sur la carte Slice of Pi avait un soucis

  • Thibaut

    J’ai essayé avec les 2 émetteurs et j’ai la même chose 🙁

    • Y a pas un soucis de sens du module XBee ? Parce que là je vois pas d’où peut venir le problème. A voir sur les forum de ciseco peut être pour de l’aide mais ca sera en english

  • Van den Bliek Jimmy

    Bonjour,

    Merci pour ce super tuto. Une petite question, qu’as-tu choisi personnellement pour le réglage des temps de cycle. Je pense utiliser aussi ton script Python pour la récupération des info mais crois-tu qu’un cycle d’1 minute est suffisant? Encore Merci.

    Jimmy

    • Salut
      Si tu parles des temps entre l’envoi des informations par les sondes, j’ai choisi toutes les 10 minutes je crois. Pour une température ca permet de suivre les variations sans consommer trop vite la pile étant donné que la sonde se met en veille entre chaque envoi.

  • Pi

    Bonjour,
    Est-ce que c’est possible d’utiliser une sonde DS18B20 à la place des Thermistors pour ce tutoriel ?

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop