Partage
  • Partager sur Facebook
  • Partager sur Twitter

HM11-Arduino

    24 juillet 2017 à 11:01:14

    Bonjour,

    Je travaille sur un projet utilisant une connexion bluetooth.

    Grossièrement, j'ai un système qui lit un capteur et doit être capable d'envoyer par Bluetooth ces infos quand l'utilisateur le souhaite.(pull)
    Cette partie du programme n'est pas la principale et arrive rarement. Je voudrais utiliser l'HM-11 qui est basé sur du BLE pour sa taille et l'économie de batterie.

    Mon problème est qu'ici, c'est l'utilisateur qui va initier la connexion. Si mon HM 11 est en mode sleep (pour économiser de la batterie), il faut donc le réveiller. La documentation dit qu'il faut envoyer une chaîne de plus de 80 caractères pour le réveiller. Mon problème est que cela sous-entend que la connexion entre le module BLE et mon smartphone est en permanence maintenue non ?

    Je voudrais confirmation de cette théorie avant de me lancer. La connexion doit-elle être maintenue pour réveiller mon HM-11 ? Ou un appairage fait il y a longtemps suffit à recevoir une chaîne de caractères envoyée par le smartphone ?

    Merci !
    Matt_Error

    • Partager sur Facebook
    • Partager sur Twitter
      24 juillet 2017 à 17:20:59

      Ton module HM-11 n'est pas prévu pour être utilisé seul.

      D'ailleurs, à voir le titre de ton sujet, je suppose que tu as un arduino à coté.

      Et je suppose aussi que c'est l'arduino qui va lire le capteur et envoyer la valeur sur le module HM-11 quand l'utilisateur l'exige.

      D'ailleurs, j'espère que tu as prévu quelque chose pour réduire la consommation de ton arduino car ça ne sert strictement à rien d'avoir un module Bluetooth en veille ultra low power si c'est pour avoir à coté un arduino qui consomme 20mA...

      Sinon, pour en revenir à ton problème, la chaine de caractère à envoyer ne provient pas du lien bluetooth mais du lien hardware de pilotage du module qui est ton arduino.

      En mode sleep, il n'y a pas de connexion Bluetooth et la seule façon de réveiller le module est que tu arduino envoie une longue chaine de caractère ou envoyer un signal sur la pin PIO0 pendant plus de 1 seconde.

      Bref, le smartphone ne peut pas faire un wake du module si celui-ci est en sleep.

      -
      Edité par lorrio 24 juillet 2017 à 17:22:23

      • Partager sur Facebook
      • Partager sur Twitter
        24 juillet 2017 à 18:41:56

        Oui, il y a bien un arduino pro mini (alimenté par une batterie) qui lit le capteur par NFC. L'arduino se réveille toutes les 15 minutes pour lire le capteur et mettre à jour la valeur. Le but est d'envoyer des données (à lire sur le capteur) quand l'utilisateur le demande.

        Ca va donc impliquer, si je comprends bien, que le module bluetooth soit toujours actif.

        Donc la seule solution serait un bouton qui, lorsqu'il est actionné, réveille le module HM. Mais pareil, il faudra écouter le bouton donc je ne pourrai pas mettre en veille l'arduino...

        • Partager sur Facebook
        • Partager sur Twitter
          24 juillet 2017 à 18:57:02

          Si tu câble le bouton sur INT0 ou INT1, alors celui-ci pourra réveillé l'arduino ;)

          Pour activer ce réveille, tu devras tout simplement utiliser attachInterrupt, sans forcément mettre quelque chose dans la fonction d'interruption.

          • Partager sur Facebook
          • Partager sur Twitter

          HM11-Arduino

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown