Petite sonde température, humidité

Portrait de Walter

Bonjour à tous,
Voici mon projet quasiment finalisé d'une sonde de température, humidité connecté.
A terme je rajouterais une sonde d'humidité du sol.

J'utilise un esp8266 pour ca connectivité wifi intégré.
Le wifi étant très consommateur d'énergie, une petite batterie au littium de 700mah, ne tiens pas très longtemps, il est donc nécessaire de passer en mode sommeil profond lorsque l'on ne fait pas de mesure/envois, mais cela ne suffis pas à avoir une longue plage d'utilisation.
J'ai donc ajouté un panneau solaire, pour recharger la batterie.

La mesure et l'envois ne pose pas de soucis majeur, un dht.read et MQTT.publish suffisent.
Par contre je voulais pouvoir changer les paramètres de connexion au wifi ou service mydevices.com, sans reprogrammation.
J'ai donc mis un bouton qui fait passer l'ESP en mode station/point d'accés, en point d'accés, en point d'accés, j'attends une requête HTTP, pour renvoyer une page HTML avec un formulaire de saisie des données attendues et les enregistrer dans un fichier de configuration.
En mode station, je lis le fichier de configuration pour pouvoir me connecter au wifi et à mydevices.com.
Je n'ai pas encore réintégré les informations de mydevices.com qui reste en dure pour l'instant dans le programme.

Pour envoyé et consulté les données je passe par le service mydevices.com et qui utilise le protocole MQTT.
J'utilise la librairie fournis avec nodeMCU pour utiliser ce protocole, cela se fait donc en quelque ligne de code.
Les informations envoyées à ce jour sont l'humidité, la température et la tension de la batterie.
Je fais une prise de mesures toutes les 15min, mais à terme, je passerais à 1h ou 2h.

Les montages:

mqttsonde_bb.png
 

Vos remarques pouvant améliorer mon projet sont bien évidement les bien venus.
Le code Lua devrais suivre très prochainement.

Portrait de Jetfuzz

Très chouette, je suis à peu près sur la même chose, température, humidité, avec en plus une mesure de poids, pour surveiller mes ruches, avec une connexion "lora".
je ne connaissais pas mydevice.com, c'est juste top pour mon appli. Merci.

Cordialement.

jettfuzz

Portrait de Walter

Merci,
J'ai commandé un puce lora, pour tester, que je viens de recevoir, tu utilise un service en particulier, ou tu as un routeur à toi?
Sympa, la ruche connectée :)

Si tu as un un PC, rasberry, un serveur dédié de dispo, tu peux installer un borkeur MQTT dessus.

Portrait de Jetfuzz

hello
je n'ai pas encore implementé lora, pour l'instant j'ai les différentes valeurs sur un écran LCD.
Pour être franc, je suis une quiche en soft, ca veut pas rentrer dans ma petite tête, je suis spécialisé hardware, 26 ans de métier... et dans la même boite...
Donc oui je découvre beaucoup de chose actuellement.
mais par contre oui, j'ai un serveur  (pas a moi, mais à ma disposition), donc vais explorer cette piste aussi. Merci
J'aime pas ne pas comprendre, donc je fais en sorte d'essayé,et lorsque j'y arrive, Ben je suis vachement fier de moi.
 

Portrait de Walter

Ha dommage j'aimerais bien avoir des retours sur l'utilisations du lora.
 

Le principal c'est d'avancer, après le niveau importe peu.

Portrait de Walter

Corrigé, enfin j'espère, parce que l'orthographe n'est pas mon fort :)

Portrait de Walter

Je ne pense pas que le langage utilisé est un impacte sur le schéma, en tout cas je n'ai fait mon montage en fonction de ça.
J'ai des connaissances limitée en électronique, donc j'ai fit le montage en fonction de ce que j'ai lu et d'autre projet.
Donc si tu pense que je peux améliorer celui-ci, ne te prive pas, je suis demandeur d'apprendre.
Surtout que la consommation électrique est justement ce qui me pose le plus de problème avec ce projet.

Portrait de Jetfuzz

Bonjour

Brossden, la batterie de secours et une bonne idée,

J'ai testé, mais ,eh oui ya un mais, elles (du moins celles que j'ai tester, coupent la sortie lorsque le courant consommé est trop faible, pour exemple le devduino avec le software de démo se coupe après 10 secondes.

Avec le module wifi plus de soucis, mais dès que  tu mets le tout en veille, ben rideaux l'accu se coupe, et effectivement tu consommes plus rien !!

Cordialement

Jetfuzz

Portrait de Jetfuzz

Bonjour.

Désolé Walter, mais la c'est trop.
on est sur un forum de discussion, pas une autocratie.....

SPY a écrit:

Pour ce qui est de Jetfuss c'est quelqu'un qui est né avec un handicap, pas de comprenette !

Brossden a écrit

Jetfuss j'aimerais que tu m'oublies !

C'est JETFUZZ avec 2 Z, pas 2 S

"Deux personnes" qui écrivent mal et de la même façon mon pseudo, qui m'insultent.

Je pense que les règles du forum sont largement bafouées, Monsieur le modérateur.

 

Portrait de Walter

Comme Jetfuzz quand j'ai testé avec une batterie de 10000mah, elle s'éteint lorsque je passe en DeepSleep.
Tu es sûre que celle que tu propose n'a pas ce soucis ?

J'aimerais maîtriser le "form factor" et ce genre de grosse batterie est très limitantes.
Mais surtout je veux suivre le niveau de batterie.

J'attends malheureusement toujours que Amazon daigne bien livrer mon nouveau multimètre pour mesurer ma consommation, avec mon propre régulateur MCP1700.
Avec le régulateur interne, mon mini multimètre usb m'indique 0, mais il ne descend pas en dessous du mA.

J'ai des Wemos d1 mini, mais je n'ai pas encore pu les tester, surtout au niveau du DeepSleep, qui nécessite sur ma carte de dev actuellement enfichée, d'avoir EN et RST au même niveau et des résistances sur les  pâtes D3 et D4.
Tu n'as pu eu de soucis en deepSleep avec ce module?

Comme je voudrais pouvoir faire mon "form-factor", je ne suis pas sûre d'avoir les LED internes de visible, donc en attendant j'ai prévus une led déportée au cas ou.

Jetfuzz pour le coup, je trouve ça dommage, mais tu ne peux pas l'obliger à dialoguer avec toi.
Par contre pour moi aussi les propos que du cite de l'autre thread sont des insultes, car même si cela reflète la pensée de l'auteurs, ces propos ont clairement un but offensant et blessant.
Après malheureusement si le modérateur ne fais rien, il ne te reste pas beaucoup de solution.
soit tu te bat, soit tu capitule, même si mon choix serait vite fait, il n'y a pas de mauvais choix.
 

Portrait de Walter

ok merci,
j'essairais sur le Wemos, c'est peut être mieux câblé que sur le nodemcu, ou normalement cela devait aussi suffire.

Portrait de Walter

Malheureusement, non, je l'ai fait uniquement en Lua.
En regardant, j'ai trouver ça qui serait la librairie officiel(?) pour l'ESP8266 en C/C++, avec un exemple en HTTPS.
Par contre il faudra que tu copie/colle le certificat du serveur web ciblé.

https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/exa...

Tien nous au courant de ce que tu aura trouvé, c'est intéressant  à savoir.

Portrait de Walter

Oui, j'essaye d'y penser ce soir.

Il faut que le SSL soit activer à la compilation de l'interpréteur, en plus du module HTTP.
"X-Live-Id: WebService@\r\n" n'est pas utile, la chaîne permet d'ajouter des en-tête HTTP.

local body = "<<<".."check_mk"..">"..">"..">".."\n"
body = body .. "Version: 1\n"
body = body .. temp .. "\n"
body = body .. humi .. "\n"
print('Post: '..body)
local req  = "https://" .. pom .. "/agent/sensor.cgi"
print('Main function, connection to the web service: '..req)
http.post(req, "X-Live-Id: WebService@\r\n", body, function(code, data)
    if (code < 0) then
        print("HTTP request failed: " .. code)
    else
        print(code, data)
    end
end)

Portrait de Walter

¨Pom est l'adresse IP de mon serveur, qui hébergeait mon serveur "nagios", la variable req, contenant la requête HTTPS.
Il n'y a pas besoin de donner le certificat, je ne sais pas si il ne le vérifie pas ou fait les requêtes directement à l'autorité de certification.

Le code que je t'ai donnée est directement celui que j'utilisais, donc normalement fonctionnel  en changeant le connu de req, par ta requête HTTP.

Je t'ai envoyé ça vite fait, en me mettant en retard pour mon cours de guitare au passage, pour ne pas te faire attendre le week-end, que je puisse récrire le code et le tester!

Portrait de Walter

J'ai testé le code que j'ai copier/coller, il ne fonctionne plus sûre la version actuel que j'utilise 5.1.4.
Il faudrait que je le teste avec la version que j'utilisais à l'époque 5.1.0, je crois, si ça t'intéresse ?

Portrait de Walter

Ha bon pourquoi ?

Portrait de Walter

Voici donc la suite avec le code Lua et la page HTML pour configurer la sonde.

Lorsque l'on appuis sur le bouton du montage, on passe le wifi du mode station en AP.
On peut alors ce connecté au WIFI de l'esp et accéder à la page HTML par défaut du serveur WEB.

la page HTML contient un formulaire pour définir le SSDI et le password du réseau WIFI à rejoindre.
Ainsi que les différentes propriétés nécessaire pour publier les résultats de la sonde, via le protocole MQTT.
La publication de chaque donnée est assez simple, la température dans l'exemple suivant:

m:publish(
"v1/"..MqttUsername.."/things/"..MqttClientID.."/data/1","temp,c="..temp,
0, 0,
function(conn)
print("mqtt topic temp published")
end
)

 J'utilise le service en ligne Mydevice pour récupérer et "grapher" les informations, on peut aussi définir des alertes.

croquismydevices.png

Concernant la consommations du montage avec un NodeMCU, j'ai pu mesurer environs 100mA en activités et 0.18mA en sommeil profond.
Pour ce dernier cas, c'est 10 fois supérieur à la consommation théorique, mais correspond au mesure que j'ai pu lire dans différent forum ou blog.

J'ai aussi testé la consommation hors montage d'un wemos D1 et un autre NodeMCU, qui consommaient 70mA en activité et 2mA en sommeil profond.

Portrait de Jetfuzz

Décidément c'est viscérale chez toi, même lorsqu'on essai de t'aider, tu pars en couille, c'est bien ce que je disais tu vas finir par te fâcher avec toi même.

J'adore

Portrait de Jetfuzz

Retourne a l'école ; s'il te plait et apprend le savoir vivre en communauté, et on en reparle OK.

Ah et n'oublie pas la bienveillance....

Portrait de Jetfuzz

toujours une petite dose d'insulte, j'adore, c'est une sorte de point de godwin pour les incultes dés qu'ils n'arrivent plus a s'imposer ,les insultes pleuvent.

Portrait de Walter

Lol, Brosden je suis partagé entre reprendre tes phrases favorite et me moquer de toi facilement ou simplement te rappeler que le sujet du thread n'est pas ton problème de HTTPS, mais mon projet de sonde.
Donc effectivement dans le code de ma sonde il n'y a pas de HTTPS, cela reste un code fonctionnel puisqu'il tourne en ce moment même.

Par contre je serait curieux que tu me dise ce qui dans mon dernier post te fais croire que c'était une réponse à ta problématique.

Je rejoins Jetfuzz, même lorsque l'on essaye de t'aider, tu t'acharne à dénigrer l'autre.
Pense tu vraiment qu'au vu de tes remarques, je passe des heures à essayer de t'aider, alors que je t'ai précisé que je t'ai envoyé un code vit fait, mais qui m'a quand même mis en retard, et qui pour être fonctionnel, il n'y avait qu'a remplacé ".. pom .." par .. par le nom de domaine du site visé.
Qu'a la suite j'ai passer au moins 2h, a vérifier l'execution de ce code et d'autre possibilité avec la dernière version, temps perdu bêtement, que je regrette profondément.
Au passage si tu prend la peine de chercher un peu sur google, tu trouvera facilement que la dernière version de Lua ne fait plus fonctionner les requêtes HTTPS.
D'ailleurs j'en suis a me demander si tu as réellement pris le temps de tester ce que je t'ai fournis?

Uniquement pour être désagréable, j'attends toujours tes explications pour rendre mon montage moins énergivore.
Car ta solution en plus de ne pas correspondre à mes besoins, et un peu 'light' en explication et justification d'une diminution de la consommation globale.

La bise et Bien à toi,
Walter

Portrait de Walter

Oui et d'ailleurs je l'ai fait le soir même!!!

Je ne sais pas si je t'ai aidé, visiblement non, par contre j'ai passé du temps à essayer, pour au final récolter du dédain et des sous entendus douteux et dénoué de tout fondement!
Le soucis je pense c'est surtout que tu ne veux pas être aidé, sinon tu poserais des questions simple sur ce que tu n'a pas compris ou ce qu'il manque dans la réponse et tu ne te réfugierais pas dans tes attaques sans queue ni tête ou des provocations gratuite.

Le pire dans tout ça, c'est que tu ne veux pas comprendre que tu aiderai beaucoup plus les gens à ne pas faire de commentaire dénigrant et inutile en plus de ta réponse au problème posé.
C'est je pense, mais je peux me tromper, ce qu'Alex ne cesse de te répéter.

Tout ceci est bien triste.