Raspberry PI ~ 24 : Créer une multi sonde wifi pour 11€

Ce post est le vingt quatrième d’une liste de tutoriels sur le raspberry PI et l’arduino, cliquez ici pour accéder au sommaire ! :D

Afin de pouvoir prendre des décisions en domotique, notamment grâce au gestionnaire de scénario de yana ou de toute autre centrale domotique, il nous faut des données, en quelque sorte “monitorer” nos pièces, exemple : baisser les stores si il fait trop chaud ou les ouvrir quand il ne fait pas assez clair dans la pièce, détecter les présence pour enclencher certaines actions etc….

A cet effet je me suis mis sur un projet de sonde humidité,température,lumière,mouvement à bas coût et en WIFI histoire de pouvoir simplement récupérer les données de nos pièces.
Une maison standard étant généralement composé de 5 pièces intéressantes à monitorer (je ne compte pas les toilettes ou le placard à balais :D) le coût de fabrication est d’environ 50/60€ pour toute la maison.

J’ai nommé ce petit cube sensoriel PROPISE : PROtotype de PIeuvre SEnsitif

 

Aperçu sur YANA

 

Dans le cadre de ce tuto nous utiliseront le capteur avec YANA, mais je l’ai conçu pour qu’il soit simplement adaptable à n’importe quel système domotique.

Nous allons voir ensemble comment produire ces petites bêtes mais avant, le traditionnel quart d’heure de honte en vidéo !

.
..
….

Ah  ! on m’annonce à l’oreillette q’un gros coup de flemme problème technique vous épargnera ce massacre 😀 (en plus je suis en peignoir, ça fais pas sérieux) ! Passons donc à la réalisation.

Les Composants

Habituellement nous utilisons comme “cerveau” du montage une carte arduino ou directement la puce atmega qui se trouve dessus (et qui peux fonctionner sans le reste de la carte avec quelques composants).

La grosse nouveauté par rapport aux tutos précédent consiste à remplacer l’habituel arduino par  un composant nommé ESP8266.

L’esp8266 étant une puce qui propose les mêmes fonctionnalités de l’Atméga/Arduino en mieux:

  • Plus de mémoire pour stocker le code et les données
  • Compatible avec plusieurs  langages de développement
  • Vendu avec sa plateforme de développement (qui contient une led rgb, un bouton poussoir et un capteur luminosité) pour le prix de la puce seule ou presque
  • Les shields (plug-in) associés ne coûtent rien si vous voulez facilement y ajouter des fonctionnalités
  • N’importe quel pin peux faire de l’I2C (protocole de communication sympa)

…et surtout le wifi est intégrée à la puce, tout ceci pour un prix/taille équivalent à savoir environ 3€ avec les frais de port.

Pompom de la pompomette : c’est compatible avec l’éditeur/syntaxe arduino !

Voila la tronche de cette magnifique petite puce avec une plateforme supplémentaire ajouté (pour le même prix de 3€) l’ensemble se nomme esp8266 witty gizwits.

La plateforme witty gizwits ajoute un bouton poussoir, une led RGB (rouge vert bleu), un capteur de luminosité et surtout une partie plateforme de programmation détachable histoire de pas se faire chier.

Pour notre projet il ne restera qu’à y ajouter un capteur d’humidité qui fait également office de capteur de température (j’ai nommé le DHT11) et un capteur additionnel de mouvement infrarouge pour le fun.

Il nous faudra bien sur une source d’alimentation, ici nous choisissons un simple câble micro USB et son chargeur, vous pouvez piquer celui de votre portable si ebay met trop longtemps à vous livrer :p

Dernier petit composant : une résistance  de 4700 Ohm qui vas de paire avec le DHT11 pour ne pas abimer ce dernier.

Composants

 

Le Schéma

Rien de bien compliqué sur le câblage, les deux composants à ajouter à l’esp nécessitent les mêmes branchements à savoir : un fil sur l’alimentation 5v, un fil sur la masse et un fil sur un pin de donnée de l’esp afin de communiquer avec lui.

La résistance  de 4700 Ohm doit être connectée à la broche 2 du  le DHT11 et reliée ensuite à l’alimentation.

 

Le Code arduino

Voilà l’endroit ou ça se complique ! Afin de rendre le plus simple possible l’utilisation et l’installation de la sonde, j’ai du pisser pas mal de code. Je fais en sorte que lors du premier lancement de la sonde, celle ci se mette en hotspot, c’est à dire qu’elle vas émettre son propre réseau WIFI auquel vous pourrez vous connecter la première fois afin de la configurer.

Une fois la sonde configurée avec les identifiants WIFI de votre réseau domestique, elle désactive son hotspot et se connecte en mode client a votre wifi, ce qui complique un peu la partie code mais qui vous évite d’avoir à toucher à la moindre ligne dans celui çi, tout est gérable via une interface web

Pour balancer le code ci dessus sur l’esp 8266 witty que nous avons acheté, vous allez devoir faire au préalable cette petite config sur votre arduino IDE pour installer la bonne carte.

Pour envoyer le code ça fonctionne code pour l’arduino, branchez un câble USB/micro USB entre votre PC et le port micro usb de la puce ESP (attention il y à deux port sur la puce, seul celui du bas fonctionne pour la programmation, celui du haut est la juste pour l’alimentation) vous pouvez ensuite envoyer le code avec le bouton téléverser de l’arduino Editor.

Il vous faudra également installer la librairie pour lire les valeurs du dht11 (capteur humidité + température) pour pouvoir l’utiliser dans le soft. Pour cela téléchargez ce zip et décompressez le répertoire /libraries de votre installation arduino ide.

Voir en taille réelle

Le Code PHP

Je ne veux pas être sectaire et imposer ma plateforme domotique pour tous les prototype que je créé (mais quand même si à cette étape de mes tutos vous n’utilisez toujours pas yana, vous avez raté votre vie !), aussi je vais vous donner deux exemples de récupération des valeurs de la sonde avec et sans l’utilisation de YANA parce que quand même suis un chic type ! 😀

Avec Yana

Activez le plugin propise dans la partie réglage et rendez vous coté setting du plugin, vous pouvez ajouter une ou plusieurs sondes (Nommée ici Poolp parce que j’ai changé 20 fois de nom depuis sa conception).

Entrez les infos de base de la sonde, cliquez sur enregistrer et suivez le guide d’installation sur la ligne qui apparait.

Une fois la sonde configurée en fonction des instructions du guide vous pouvez vous rendre sur la dashboard et y ajouter le widget propise.

Je n’ai pas encore relié le gestionnaire de scénario à ce module il s’agit pour le moment d’un simple affichage, j’y travaille sur la version suivante de yana.

Sans Yana

Voilà un ptit script fait par dessus la jambe pour récupérer les données envoyées par PROPISE et les stocker à la suite dans un fichier texte, vous pouvez le modifier à votre guise.
Voir en taille réelle

 

L’Utilisation

Appuyez sur le bouton de reset avant de brancher la sonde, celle ci devrait alors se mettre en hotspot, la lumière RGB s’allumera en bleu foncé si tout vas bien.
Vous pourrez alors vous connecter à sa wifi (nommée PROPISE-XX) avec le mot de passe “bananeflambee” (oui, je sais…) puis accéder à son interface en tapant dans votre navigateur web l’adresse http://192.168.4.1

Il vous reste ensuite à remplir les identifiant WIFI de votre réseau
Dans le dernier champs, mettre le lien vers le script PHP (ou autre) à qui vous souhaitez que la sonde envois les données, notez que les valeurs entre “{{}}” seront remplacé par les données en questions

{{LIGHT}} : sera remplacé par la lumière de la pièce (en pourcentage)
{{HUMIDITY}} : sera remplacé par l’humidité de la pièce (en pourcentage)
{{TEMPERATURE}} : sera remplacé par la température de la pièce (en degré celcius)
{{MOUVMENT}} : sera remplacé par le mouvement de la pièce dans les dernières secondes ( 1 = mouvement, 0= personne)

ex d’url: http://mon.server/monscript.php?light={{LIGHT}}&humidity={{HUMIDITY}}&temperature={{TEMPERATURE}}&mouvment={{MOUVMENT}}

Une fois que tout est enregistré, vous pouvez redémarrer la sonde (débranchez puis rebranchez), elle devrait alors s’allumer en vert (indiquant qu’elle a bien enregistré les identifiants) puis en blanc clignotant si elle a réussi à se connecter à votre wifi et qu’elle envois les données.

A chaque clignotement les données sont envoyées

Le boitier

J’ai fait imprimer mon boitier, si vous n’avez pas d’imprimante 3d près de chez vous je vous conseille de la construire en LEGO (si vous êtes riche) ou d’acheter une boite de dérivation électrique et de la percer aux bon endroits (si comme moi vous êtes un prolo), ou encore d’utiliser des boites de denrées alimentaires, tant que vous restez sur des matières non inflammables :D.

Pour ceux qui peuvent faire imprimer, je vous met ci dessous le fichier 3d en .STL pour l’impression et le fichier sketchup .SKP si vous voulez l’améliorer.

Voir en taille réelle

Les améliorations

L’amélioration majeure à apporter a ce circuit ne “mange pas de pain” (j’adore cette expression) il s’agit de remplacer le dht11 par un dht22 qui fonctionne de la même façon et fait quelques euros de plus mais qui est plus précis sur les valeurs retournées. Modifier ce composant nécessite par contre de légères modifications dans le code.

Autre amélioration intéressante : designer le boitier pour qu’il se fixe dans un angle haut de pièce, ça rendrait le capteur de mouvement plus efficace étant donné sa zone de couverture.

Dernier point : utiliser une carte ethernet POE (Power Over ethernet, c’est le câble réseau qui alimente le circuit pas besoin d’une alim en plus) en lieu et place du wifi, ça permettrait de se passer des ondes (moins fiables, moins sécurisées, moins bonnes pour la santé que du bon vieux filaire).

La prochaine fois nous verrons comment intégrer un peu d’empreintes digitales à notre bonne vielle domotique

Bien à vous,

Idle

72 réactions au sujet de « Raspberry PI ~ 24 : Créer une multi sonde wifi pour 11€ »

  1. Ben Réponse

    Super ce nouveau tuto!
    Si je comprend bien tu delaisses les muscles/capteurs arduino pour des sonde capteur wifi. Du coup moins de probleme de reception avec les capteurs RF.
    Je vais me pencher la dessus, car la solution du wifi me plaisait mais le prix du shield wifi arduino etait un bloqueur. Tu viens de me procurer ma solution 🙂

    Merci!

    • Idleman Auteur ArticleRéponse

      C’est l’idée, en revanche l’esp a aussi quelques faiblesses, notamment il n’est pas compatible avec certaines librairies pour arduino ( je pense notamment a certaines librairies d’adafruit comme le lecteur d’empreinte digitale) du coup j’utilise l’arduino ou l’esp en fonction du contexte.

      • BenTeK Réponse

        Super article effectivement !
        Après, selon les utilisations, rien n’empêche de coupler une plateforme Arduino avec l’ESP et de les faire communiquer entre eux (c’était d’ailleurs le premier but de l’ESP8266 à sa création !). Le gros avantage de l’ESP réside dans sa basse consommation pour faire de l’IOT. Il ne consomme que quelques μA en veille. Tu pourrais presque rendre ton objet autonome… :p
        Bon, allez, je vais me faire des bananes flambées moi…

  2. Jacques Réponse

    Bonjour,
    Super tuto encore bravo.
    J’aurais juste une question par rapport a la nouvelle puce, comment distribue t on le code ? via l’USB ?
    merci d’avance

    • Idleman Auteur ArticleRéponse

      Salut :), oui ça fonctionne exactement comme l’arduino : il faut brancher un câble micro usb de ton pc vers le port micro usb de la plateforme de programmation( partie basse de la puce ) puis il te suffit d’ouvrir l’éditeur arduino, de faire la petite manip que je met dans mon tuto pour ajouter le type de carte node mcu et d’envoyer le code avec le bouton téléverser de l’éditeur :).

      • Jacques Réponse

        Merci pour la réponse et je rejoins quelqu’un au vu de mon habitation le wifi va me sauver par rapport au RF alors encore merci pour tout ces merveilleux tuto !

  3. AF340 Réponse

    Cool Propise! je vois que je ne suis pas le seul à jouer avec les esp… 😉
    Du coup, comme propise envoie des données toutes les 3s, tu devrais avoir le même problème que moi avec yana server sur une db locked si d’autre esp s’amuse aussi à envoyer des données en même temps?

  4. Ben Réponse

    Bonjour Idleman,

    Quelle version du driver DHT master utilises tu? Car dans ton code les appel des fonction du capteur ne sont pas a jours avec le lien aue tu fournie, et chez moi les lectures au catpeur DTH22 retourne toujours un fail.

    Merci

    • Ben Réponse

      Je viens de tester le code du driver DHT sur un Arduino UNO, et ca marche, il y a donc un probleme de gestion de la derniere library du DHT avec le module esp8266 que l’on utilise?

      • Ben Réponse

        Desole de pourrir ton post, mais il semblerait que passer au gpio 2 sur l’esp resolve mon probleme, la blibrairie fonctionne donc bien.

        • Idleman Auteur ArticleRéponse

          En effet, j’ai testé le montage avec un dht11, je préconise le dht22 qui est plus précis mais ça demande surement une petite adaptation du code.

  5. Aurelien Réponse

    Bonjour,

    Merci pour ce Tuto très détaillé.
    J’aurais quelques questions :
    – Une récuperation des données dans Jeedom est-elle possible ? J’ai un box maison qui a base de Rpi qui tourney sous Jeedom, d’où ma question.
    – Quel est le role de la résistance de 4,7 ohms ?
    – Enfinn J’ai fais un montage similaire avec mais avec un ESP-01 et une sonde DHT22 et un code EASYEsp Malheuresement je n’arrive à récupérer les valeurs du DHT22. J’allimente le tout avec 2 piles AA. Le problem peut-il venir de l’alimentation (2×1,5V) qui n’est pas suffisante ?

    • Idleman Auteur ArticleRéponse

      1) Si jeedom accepte des données depuis un appel URL tu peux lui envoyer les données lorsque tu configure la sonde.
      2) La résistance est montée en duo avec le dht11 sur tous les exemples que j’ai pu trouver, j’ignore si c’est pour protéger le composant ou pour améliorer la récup de l’information.
      3) A ma connaissance le DHT22 est très similaire au DHT11 et utilise la même tension d’entrée (mais je peux me tromper) pas sûr que ça vienne de là.

  6. Georges-Michel Réponse

    Bonsoir,
    Super tuto comme à chaque fois.
    Si j’ai bien compris il faut acheter la première fois l’ensemble esp8266 witty gizwits sur Ebay.
    Pour les autres sondes on peut acheter que l’esp8266 seul mais je n’en trouve pas sur Ebay.

    Question: Serait il possible de commander depuis ta sonde PROPISE un relais pour actionner une prise de radiateur par exemple ?
    Cordialement,
    GM

  7. Guillaume Réponse

    Salut ! ce tuto a lui aussi l’air super intéressant je vais essayer de l’adapter chez moi avec ce que j’ai comme capteur j’aurais juste aimé voir le schéma, il doit y avoir un problème avec l’image, merci d’avance 😉

    • Guillaume Réponse

      C’était surement de mon côté finalement le problème d’affichage est résolu !

  8. Yannick Réponse

    Hello,

    super tuto, je suis en train de monter quelques petits capteurs dans le genre (sans le détecteur de mouvement, juste pour la température).

    J’ai un petit soucis avec la compilation du code. J’ai bien pris la librairie DHT sur GIT mais il n’y a pas de dht11.h (je sais pas si c’était dans une version antérieure ou si c’est carrément une autre lib ?)

    Bref, j’ai uniquement un DHT.h, mais lorsque je change ça, j’ai plein d’autres erreurs de compil… Du coup, j’ai loupé un truc ?

    Merci par avance.

    • Idleman Auteur ArticleRéponse

      J’ai un peu cafouillé en recopiant mon code, a remplacer par le nom actuel de la librairie d’adafruit pour les dht11

  9. seb Réponse

    bonjour , dommage plus de photo !! , le meme est il possible pour contrôler des volets roulants avec retour d état ? en tout cas tes tutos son super et vraiment bien expliqués .
    merci

  10. Jumpei Réponse

    Salut,

    un grand merci pour ce partage, je n’ai pas pu résister et j’ai commandé des esp dans la foulé >< je suis faible…

    Cependant, le capteur ne fonctionne pas avec des DHT22, j'ai essayé avec un DHT11 et ça fonctionne parfaitement.

    Dans le terminal j'ai l'erreur "Timeout error".
    Malheureusement je n'ai pas les compétences pour modifier ton code, les modifications pour passer du DHT11 au DHT22 sont compliqués ?

    merci d'avance

    • Idleman Auteur ArticleRéponse

      Salut, c’est de ma faute, j’ai fait tout le montage et le code avec un dht11, et je n’ai pas pensé que les modifs du dht22 seraient aussi importantes, il faudrait que je mette ce poste a jour pour du dht22, en attendant il faudra se contenter du 11 désolé 🙂

  11. Emmanuel Réponse

    Bonjour,

    Lecteur récent de votre blog, j’y trouve une tonne d’information des plus utiles. Vos tuto sont véritablement très agréable à lire et donne envie de s’y mettre… Super travail !
    J’ai récemment fait l’acquisition d’un raspberry pi 3 que j’ai configuré pour étendre la couverture Wifi de ma maison afin de couvrir une pièce mal desservi (il est donc relier au réseau de ma maison en filaire et est configuré en point d’accès).
    Je le trouve sous-employé dans cette seule utilisation et souhaiterai savoir si je peux m’en servir pour y installer Yana ?
    Merci d’avance

  12. androo Réponse

    Quel plaisir d’avoir ‘enfin’ un nouveau post sur le Raspberry Pi.
    Moi qui attendais depuis le “28 JUILLET 2014” 🙂
    J’ai justement fini un projet avec l’ESP8266. Je sens que je vais pouvoir y ajouter tes fonctionnalités.

    Encore merci pour ton travail

    • Idleman Auteur ArticleRéponse

      Oui je suis un peu lent à la détente concernant la domotique, l’achat et le re-tapage complet de ma maison me prends pas mal de temps 🙂

  13. Georges-Michel Réponse

    Bonjour Idleman,
    Je suis vos tuto depuis que je me suis mis au RPI, ils sont clair et précis, merci.
    Je suis très intéressé par votre multisonde Wifi j’ai acheté les composants mais je coince avec esp8266.
    Je précise que je suis totalement novice sur l’utilisation d’un Arduino.
    J’ai chargé le logiciel Arduino 1.8.5 sur mon pc sous W10.
    J’ai suivi les différentes étapes pour avoir le type de carte (NodeMCU 1.0 (ESP-12E Module).
    J’ai rajouté les librairies Adafruit_Sensor-master et DHT-sensor-library-master.
    Quand je lance la vérification du programme il se met en erreur sur la ligne #include
    en effet dans la librairie DHT-sensor-library-master il n’y a pas dth11.h mais seulement DTH.h et DTH_U.h.
    Comme je suis débutant en Arduino je ne sais pas quoi faire.
    Pouvez vous m’aider SVP.
    D’avance merci et surtout je vous souhaite de bonnes fêtes de fin d’année.
    Georges-Michel

  14. Zingla Réponse

    Bonjour Idleman
    Bravo pour tous ces tutos que je suis depuis le début….
    J’essaye de televersé ton script sur la puce, j’ai eu quelques soucis avec la librairie dht11 j’ai du installer Adafruit_Unified_Sensor et dht11-master pour arriver a téléverser ton script sans erreur…
    actuellement le script est bien dans la puce, la led est bien bleu mais je n’ai pas de signal wifi “Propise” pour avancer…
    tu as une idée?

    Merci

    • Idleman Auteur ArticleRéponse

      Etrange, si c’est bleu il est normalement en hotspot, tu ne detecte pas son signal sur aucun device ? (tel portable etc …) ?

  15. Martin Réponse

    Bonjour,
    Peut t’on utiliser esp pour fabriquer le rflink ? Plus petit me semble t’il !? Et moins cher !
    Merci d’avance.

  16. Self Réponse

    Bonjour Idleman,
    lecteur occasionnel de ce blog je te remercie pour tous ces tutos de qualité.

    Rencontrant un problème que cette fois-ci je n’arrive pas à résoudre.
    Je voulais savoir quelle version de la librairie dht (https://github.com/adafruit/DHT-sensor-library) tu utilises avec le code arduino/esp witty ?

    En effet, en prenant la lib fournie dans ton article ainsi que le code, je me retrouve avec “fatal error: dht11.h: No such file or directory
    #include ”

    j’ai bien dans le dossier libraries un dossier DHT_sensor_library et dedans j’ai un DHT.h et un DHT.cpp.
    ayant commencé par la version 1.3.0, j’ai également installé Adafruit_Unified_Sensor.

    Merci pour l’aide que tu pourrais apporter !

  17. martin Réponse

    Bonjour,
    quand je met le code ci dessus dans arduino IDE et que je le verifie il me met une erreur de compilation.

    Arduino : 1.8.5 (Windows 7), Carte : “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (3M SPIFFS), v2 Prebuilt (MSS=536), Disabled, None, 115200”

    In file included from C:\Users\XDP\Documents\Arduino\sketch_mar08a\sketch_mar08a.ino:2:0:

    C:\Users\XDP\Documents\Arduino\libraries\DHT-sensor-library-master/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)

    Ce rapport pourrait être plus détaillé avec
    l’option “Afficher les résultats détaillés de la compilation”
    activée dans Fichier -> Préférences.

    je ne sais pas d’ou cela provient. Pouvez vous m’aider?
    cordialement.

    • Idleman Auteur ArticleRéponse

      Je pense qu’adafruit a mis à jour sa librairie, ils ont l’air d’avoir créé un DHT unified qui n’existait pas à l’époque et qui regroupe les deux versions , faudra que je regarde les modifications a apporter.

      Visiblement maintenant il faut mettre
      #include
      #include

      et remplacer la ligne de mon code

      dht11 DHT;
      par
      DHT_Unified dht(16, 11);

      etc.. etc.. en suivant l’exemple fournis par adafruit https://github.com/adafruit/DHT-sensor-library/blob/master/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino

      • Self Réponse

        Bonjour,
        Merci pour votre réponse,

        j’ai entre temps réussi à me plonger dans la nouvelle librairie, voici donc le code (réduit au strict nécessaire) qui a fonctionné pour moi :

        #include
        #define DHTTYPE DHT22 // DHT 22 (AM2302)
        DHT dht(DHTPIN, DHTTYPE);
        float h = dht.readHumidity();
        float t = dht.readTemperature();

        ce code fonctionne avec les librairies
        – adafruit Unified Sensor v1.0.2
        – DHT sensor library v1.3.0

        Merci encore pour tes tutos et peut être à bientôt !

  18. Martin Réponse

    Il faut donc que je reprenne tout le code et que je le modifie avec ce qui est dans l’exemple d’adafruit ?

  19. Aloxide Réponse

    J’ai eu du mal à comprendre la parti prog, mais j’y suis arrivé. Cependant j’ai un couac …

    j’ai suivi ton petit script PHP:

    – J’ai essayé de définir un port (100 dans mon cas afin que cela fonctionne en local) et là c’est le drame : ça ne fonctionne pas.
    – Si je mets rien c’est ok (on repasse d’office en 80 et donc repasse sur mon hébergement web) : OK.

    Dans le moniteur série ça me met paramètre incorrect quand je suis sur le port 100. J’ai essayé d’autres ports, c’est le même soucis.

    j’ai vérifié mes droits écriture, fait un CHMOD, je sèche 😀

    Une idée ?

    Une idée ?

    J’

    • Aloxide Réponse

      Je me suis auto-trouvé une solution, j’avais remplacé un point par une virgule dans mon IP …. quel boulette !

  20. MAD Réponse

    Salut IDLEMAN !
    ton projet est le meilleur que connaisse sous RASP 😉
    SACRE BOULOT <<<< CHAPEAU
    De yuri à YANA c'est juste Parfait 🙂
    Sonde Poolp fonctionne très bien suffit juste de télécharger la librairie "DHT11 master" et de la placer dans le dossier Arduino/librairies et de la charger avant de téléverser!

    Encore un grand merci à toi, à maditnerd, à novares et à tous ceux que j'oublie!
    Merci les gars 😉

  21. Nori Réponse

    Bonjour,

    enfin une sonde WIFI, nous étions nombreux à attendre cela. C’est génial !! merci beaucoup !! Cela me permet également de découvrir de nouvelles techno auquelles je n’avais pas encore touchées.
    D’ailleurs je n’arrive pas à faire fonctionner l’ESP. Il est constamment en bleu, et quand je fais un RESET avec le bouton, j’ai le message suivant qui apparait dans la console :
    SSID :2022981e90c02d6948bc362db2b4c5c0
    Configuration wifi existante, mode client
    Try to connect on wifi 2022981e90c02d6948bc362db2b4c5c0

    il semblerait que le SSID soit déjà défini, mais je pensais que RESET le vidait ? du coup comment faire ?

    Petite question bête, mais une fois que l’ESP est programmé, on l’alimente toujours avec la plaque de programmation (celle de du dessous) ou on peut l’enlever après pour y brancher les capteurs ? Car tu n’en parles pas de cela dans ton article.

    • Nori Réponse

      ok, j’ai trouvé la solution. En fait en regardant le code j’ai compris, il faut appuyer sur les 2 boutons (RST du bas, et le bouton du haut), c’est donc différent de la description.
      Maintenant ça fonctionne, le programme arrive à tourner. En revanche je n’arrive pas à faire fonctionner la partie capteur mouvement. En fait il est toujours à 0 au niveau du PIN.
      est ce que ça marche pour quelqu’un ce projet ? car de ce que je lis personne ne l’a encore fait tourner. C’est vraiment dommage car c’est exactement ce que je recherche d’avoir, mais impossible de le faire marcher, c’est problème sur problème…… quel dommage.
      Help please !

      • Idleman Auteur ArticleRéponse

        Salut Nori,
        Curieux cette histoire de double boutons, pour le reset un seul bouton est à appuyer normalement (le bouton relié au pin 4) tu as un modèle esp8266 ou autre chose ?
        Concernant le capteur de mouvement, ça fonctionne chez la plupart de mes lecteurs (ceux qui bloquent, bloque généralement au niveau du capteur d’humidité car adafruit a un peu modifié sa lib de gestion des dht11 et dht 22 entre temps).

        Allons y par élimination :
        1. Vérifie que ton câblage est bon :
        – pin data du capteur sur le pin 14 de l’esp
        – gnd du capteur sur le gnd de l’esp
        – vcc du capteur sur le vcc de l’esp

        2. Vérifie que l’esp trouve des valeurs
        – Connecte toi a l’esp en usb
        – Ligne 308 du code, ajoute la ligne Serial.println(MVT_PIN);
        – re-upload le code dans ton esp
        – Regarde le moniteur arduino sur le baud 115200 en passant devant ton capteur, tu devrait passer d’une série de 0 a une série de 1 si tout vas bien

        3. vérifie que l’esp envois bien cette valeur a ton php :
        – Utilise le script “sans yana” , configure ta sonde pour le cibler et regarde dans le fichier data.txt si tu as une valeur (rien, 0 ou 1)

        Ca te permettra de voir d’ou vien le pb (du capteur, du branchement, de l’esp, ou du php)

  22. MAD Réponse

    IDLEMAN,
    Est il possible de mettre en widget sur la page yana, motion eye?
    sachant qu’il m’ouvre un autre ongle separement, avec la meme adresse serveur et avec le port 8765?

    • Idleman Auteur ArticleRéponse

      Je ne connais pas bien motion eye, cela dit tu dois pouvoir encapsuler cette page dans une iframe appellable depuis le widget, c’est a mon avis le plus simple.
      Après en plus propre il faudrait connecter une balise video html5 au flux retourné par la camera mais ça te demdandera peut être un peu plus de skills, je te conseille de regarder la source html de la page motion eye, ya surement de bons bout a copier.

  23. Nori Réponse

    Bonjour Idleman,

    merci pour ta réponse et pour avoir pris le temps de répondre.
    En fait j’ai déjà fait exactement ce que tu dis.
    Ce que je ne comprends pas c’est que mon PIN 14 me renvoie TOUJOURS 1 !
    D’ailleurs la ligne à mettre est Serial.println(digitalRead(MVT_PIN)) car Serial.println(MVT_PIN); renvoie 14 😉
    C’est pour ça que j’essaie de savoir si certain arrive à le faire fonctionner car mon pin 14 est toujours à 1 et ne passe jamais à 0, et ceux, même si rien n’est branché sur ce PIN. comment est ce possible ?
    Oui c’est bien un ESP 8266MOD. Je n’ai pas encore branché le capteur de température, pour le moment je me focalise sur celui de mouvement, qui est le plus important pour moi.
    Je m’arrache les cheveux car tous mes tests et changement de code ne change en rien l’état du PIN, c’est pas possible !! Je le force pourtant bien en INPUT.
    Dans ton test tu veux afficher sur la console les infos, mais dans ce cas comment tu fais le branchement de la sonde tout en laissant la plateforme d’upload de l’ESP ? ça j’ai pas compris.
    Please une idée quelqu’un ? :'(

    • Idleman Auteur ArticleRéponse

      Effectivement j’ai oublié le digitalread mea culpa.
      Si ton pin 14 est toujours à 1 et que tu es sur qu’il est en input, il est peut être tout simplement grillé, avec rien de branché dessus il devrait rester en etat zero.

      Essaye de changer de pin, prend par exemple le 16 (puisque tu n’a pas encore relié le capteur de température).

    • Idleman Auteur ArticleRéponse

      Pour tester en mode console avec les branchements il faut que tu branche les deux parties du witty sur une breadboard, que tu refasse les connexion naturelles entre ces deux parties sur le breadboard, ça te permettra de debugger tout en connectant tes capteurs.

      Voir en taille réelle

      • Nori Réponse

        Merci Idleman, je n’avais pas la connectique (quels pins) utilisée pour la witty, vue que tous les pins sont connectés. du coup je vais faire pareil.
        sinon je confirme que cela venait des pins sélectionnés. En effet, en changeant de pin tout cela fonctionne maintenant mais du coup je ne comprends pas pourquoi pour vous cela fonctionne mais pas moi. De ce que j’ai vu sur le net le 14 et 16 sont des utilisés pour autre chose (l’un est une CLOCK apparemment). Bref, maintenant la détection marche nickel.
        Maintenant je vais tenter de faire marche le capteur d’humidité, c’est une autre paire de manche !! 🙂
        Merci encore !

        • Idleman Auteur ArticleRéponse

          Avec plaisir :).
          Le problème peut s’expliquer par un pin grillé de ton coté, ou encore une ré-allocation des pins par le constructeur, mon modèle datant un peu mais dans ce cas j’aurais plus de retour des visiteurs a ce sujet, je penche donc plutôt pour un dysfonctionnement du pin en question, ça arrive assez régulièrement.

  24. angilye Réponse

    Encore un merci pour le tuto, j’ai enfin pu le mettre en pratique et pour l’instant cela marche bien.
    Je n’ai pas encore tester le détecteur de mouvement par contre, je noterais quand sa sera fait.
    Personnellement je suis avec un DHT22 pour ceux qui chercherais à faire de même je suis passer sous la librairie SimpleDHT trouvable directement via l’installateur du logiciel Arduino et modifier les 3 lignes ou on appel les valeurs du DHT. Tout est expliquer sur leurs github via un exemple pour savoir comment faire 😉

    Enfin voila petite parenthèse terminé encore un grand merci pour le taf fait et la passion que tu transmet.

  25. angilye Réponse

    Question, quelqu’un aurait une idée sur comment faire la sonde avec une communication a double sens histoire d’envoyer les infos au serveur mais aussi de pouvoir faire une actualisation du relever via un bouton sur le web pour forcer le relever d’information ?

    merci par avance :s

    • Idleman Auteur ArticleRéponse

      Pour faire ça il faut modifier le code de la sonde pour qu’elle reste disponible en tant que serveur et non uniquement en client.
      Ça modifie pas mal la logique du code, mais c’este une idée a creuse pour la prochaine version de propise.

  26. AF340 Réponse

    Hello,
    Yana server est toujours maintenue? car le lien du nouveau git est mort.
    Je cherche une version avec mysql, elle existe?

  27. SD Réponse

    Slt, ton fichier ZIP me semble corrompu sous linux. impossible de le décompresser.
    Petit test :

    $ ▶ unzip -t boitier-1580191343.zip
    Archive: boitier-1580191343.zip
    End-of-central-directory signature not found. Either this file is not
    a zipfile, or it constitutes one disk of a multi-part archive. In the
    latter case the central directory and zipfile comment will be found on
    the last disk(s) of this archive.
    unzip: cannot find zipfile directory in one of boitier-1580191343.zip or
    boitier-1580191343.zip.zip, and cannot find boitier-1580191343.zip.ZIP, period.

  28. Bobinours Réponse

    Salut,
    Je me demandais juste quand viendrait un éventuel et excellent tuto sur la version POE ?
    Je me lancerais bien tout seul mais vu mon ignorance, je préférerais que tu défriches la voie…

    Bonne continuation

  29. Eric optik8 Réponse

    Bonjour IDLEMAN avec les conseil de Maday Land je suis en train d’installer un serveur Yana j’en suis au commencement, il est opé sur un pi3B, j’ai branché dessus un rfxtrx433E (je m’en occuperai plus tard) et un esp8266 excuse mon ignorance…un bidule avec un module wifi collé dessus …en gros pas un truc qui ressemble au esp8266witty ou il y a plus de choses dessus.
    J’aimerai que yana server puisse discuter avec pour ce faire j’ai installé l’IDE arduino sur mon pi et inclus la bibliothèque esp8266 de chez esp8266comunity comme sur ce lien: http://blog.idleman.fr/programmer-un-esp8266-avec-arduino-ide-editor/
    Mais après je ne trouve rien … aurais tu un tuto que j’aurais raté a ce sujet ? En gros mon but c’est de commander avec cet esp un relais filaire en dehors de la maison. Le relais j’arrive bien a le commander avec yana branché en direct sur le pi c’est assez simple et bien expliqué, mais la suite la je sèche…
    En tout cas j’espere que ce projet est encore d’actualité car il a l’air prometteur, merci pour le travail deja fait.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.