Table des matières:
- Étape 1: Pièces requises
- Étape 2: Câblage et assemblage
- Étape 3: Téléchargement du micrologiciel sur ESP32
- Étape 4: Téléchargement du micrologiciel prêt
- Étape 5: Configuration
- Étape 6: Réglage et consommation d'énergie
- Étape 7: Réglage des capteurs
- Étape 8: Ajout de l'appareil au kit Apple Home
- Étape 9: OTA: mises à jour en direct
Vidéo: Station météo ESP32 à énergie solaire : 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Dans ce tutoriel, nous allons créer un projet de station météo compatible WiFi.
L'objectif est de concevoir une station météo avec presque toutes les fonctionnalités possibles:
- Afficher les conditions actuelles, l'heure, la température, l'humidité, la pression
- Afficher les prévisions pour les prochains jours
- Mise à jour à l'antenne
- Site Web intégré pour la configuration et la représentation des données
- Télécharger des données dans le cloud pour les statistiques d'historique
- Intégré avec Aple Home Kit ou MQTT
- Alimenté par Accu avec possibilité de recharge ou de connexion au panneau solaire
Je ne peux pas ajouter plus et pas plus d'imagination quoi d'autre doit ou peut être
Étape 1: Pièces requises
- ESP32 (j'ai utilisé le module de développement)
- 2.8" 240x320 TFT LCD SPI ILI9341
- Boite en plastique
- 3x18650 Accu
- Capteur météo BME280 pour mesurer la température, l'humidité et la pression
- Module chargeur USB au lithium
- Étape DC-DC UP18650
- support de batterie (3pc)
- Détecteur de mouvement HC-SR505
- Résistance 220 m
- 2x résistances de 10 kOm
- Le transistor TIP120 NPN (Darlington) peut être utilisé tout autre compatible
- Fils de bouton, interrupteur, carte à souder….
Étape 2: Câblage et assemblage
La première étape est l'assemblage des pouvoirs de la station.
J'ai divisé le boîtier en plastique en deux parties, l'une d'entre elles utilisée pour la batterie, l'interrupteur, le chargeur USB et la sortie DC-DC. Dans cette partie, j'ai mis un support de batterie et créé des fenêtres pour l'interrupteur et le chargeur USB. Soyez conscient que le module de chargeur USB est assez chaud, j'ai donc utilisé une plaque en aluminium et mis un chargeur USB dessus en utilisant de la colle Star 922.
La deuxième étape consiste à assembler la partie des contrôleurs.
Voir le schéma de câblage comment il doit être connecté
J'ai utilisé une planche à pain à cette fin avec les étapes suivantes
- Carte de développement ESP32 à souder
- Bouclier de soudure pour garder l'écran TFT
- Souder d'autres composants électroniques: BME280, résistances, boutons
- Câblage à souder entre les composants selon le schéma
La troisième étape consiste à préparer le montage de la planche à pain sur la deuxième partie du boîtier en plastique. J'ai imprimé sur mon imprimante 3D deux barres, je les ai montées sur un tableau de bord à l'aide de vis et j'ai fait une découpe rectangulaire pour l'écran d'affichage.
J'ai collé des barres en plastique sur le corps du boîtier en plastique. Maintenant, lorsque la colle est sèche, la cabine de la planche à pain peut être démontée par des vis.
La prochaine étape est:
- Câblage à souder pour la source d'alimentation
- Câblage à souder pour l'état de la tension de la batterie
- Détecteur de mouvement à souder et à monter
Dernière étape:
- configurer le convertisseur DC-DC en réglant la tension de sortie 5v
- connectez deux parties du contrôleur de station à l'alimentation: les fils d'alimentation et la lecture de la tension
Pour le détecteur de mouvement et le bouton, j'ai fait des trous supplémentaires sur la face avant.
Étape 3: Téléchargement du micrologiciel sur ESP32
Pour ce projet, j'ai utilisé un logiciel universel, développé par moi-même
Veuillez consulter la page github ESPHomeController. Ceci contient des instructions complètes sur la compilation et la configuration.
! Si vous n'êtes pas familier avec la compilation et Arduino, jetez un œil à l'étape Téléchargement du firmware prêt
Dès que vous téléchargez le firmware pour la première fois, l'ESP32 démarre en mode configuration (mode point d'accès)
Vous devez les configurer. À cet effet, ouvrez dans n'importe quelle liste d'appareils de WiFi disponible. Trouvez HomeController et connectez-vous. Le portail captif devrait démarrer automatiquement. Si ce n'est pas le cas, entrez l'url de votre navigateur: 192.168.4.1 et vous verrez l'écran de configuration
Suivez les instructions et configurez les informations d'identification WiFi sur votre réseau WiFi.
L'ESP redémarrera ensuite en tant que client WiFi et se connectera à votre Wifi.
Au fur et à mesure de la première connexion, il montera automatiquement le système de fichiers Spiffs et téléchargera les fichiers requis pour le portail Web:
- index.html
- fichierbrowse.html
- js/bundle.min.js.gz
Le téléchargement se fait à partir du dossier
Vous pouvez maintenant voir le contenu du fichier via un navigateur Web. pour cela vous devez maintenant l'adresse ip de votre ESP32
Vous pouvez le trouver de l'une des manières suivantes:
- Utilisation du moniteur de port série pour voir les journaux ESP32
- Utilisation de n'importe quel scanner tcp pour analyser vos périphériques réseau
- Appuyez sur un bouton de la station météo et vous verrez les informations du système
Mettez dans parcourir https://192.168.0. XX/browse et vous verrez une liste de fichiers de votre ESP
(192.168.0. XX est l'adresse IP de votre appareil
Pour le réglage final, vous devez préparer les fichiers de configuration.
Étape 4: Téléchargement du micrologiciel prêt
Cette section est spécialement destinée aux auditifs qui ne vont pas produire de firmware par eux-mêmes. Vous avez juste besoin de télécharger le firmware "prêt"
1. Téléchargez les outils de téléchargement flash à partir de cette page
2. Téléchargez les fichiers joints (extraits d'archives) HomeController.bin et bootloader_qio_80m.bin sur votre disque dur
3. Démarrez l'outil de téléchargement ESP32 et entrez les valeurs en fonction de la capture d'écran
4. Appuyez sur Démarrer
Étape 5: Configuration
Avant de commencer la préparation de la configuration, vous avez besoin de:
- Créez votre chaîne sur le langage des choses et la clé de votre chaîne. Préparez 4 champs et nommez-les correctement Température, Humidité, Pression, Tension
- Inscrivez-vous sur Weather.com pour obtenir votre clé API
Thingspeak est nécessaire pour télécharger vos données et surveiller les tendances et les valeurs
Les conditions météorologiques sont nécessaires pour obtenir des données de prévision.
Ok, enfin vous devez créer un fichier services.json avec le contenu suivant
[{"service":"TimeController", "name":"Time", "enabled":true, "interval":1000, "timeoffs":7200, "dayloffs":3600, "server":"pool.ntp.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}, {"service":"BME280Controller", "name":"BME", "enabled": true, "interval":900000, "i2caddr":118, "uselegacy":true, "temp_corr":-3.0, "hum_corr":10.0}, {"service":"WeatherClientController", "name":"WeatherForecast", "enabled":true, "interval":500000, "uri":"https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70&format=json&units=m&language=en -US&apiKey=weatherapi"}, {"service":"WeatherDisplayController", "name":"WeatherDisplay", "enabled":true, "interval":500}, {"enabled":"true", "interval": 600000, "pin":36, "service":"LDRController", "name":"LDR", "cvalmin":0.0, "cvalmax":7.2, "cfmt":"%.2f V", "acctype":10}, {"service":"ThingSpeakController", "name":"ThingSpeak", "enabled":true, "interval":1200000, "value":[1, 1, 1, 1, 0, 0, 0, 0], "apiKey":"thingspea kapi"}, {"enabled":true, "interval":1, "pin":"", "service":"ButtonController", "name":"Button", "pins":[27]}]
!Veuillez remplacer
- Thingspeakapi avec votre clé d'API Thingspeak
- Weatherapi avec votre clé api météo
- géocoder avec votre emplacement pour lequel vous souhaitez obtenir des prévisions
Ensuite, préparez le deuxième fichier triggers.json
[{"type":"BMEToWeatherDisplay", "source":"BME", "destination":"WeatherDisplay"}, {"type":"TimeToWeatherDisplay", "source":"Time", "destination":"WeatherDisplay "}, {"type":"WeatherForecastToWeatherDisplay", "source":"WeatherForecast", "destination":"WeatherDisplay"}, {"type":"BMEToThingSpeak", "source":"BME", "destination": "ThingSpeak", "t_ch":1, "h_ch":2, "p_ch":3}, {"type":"ButtonToWeatherDisplay", "source":"Button", "destination":"WeatherDisplay"}, { "type":"LDRToThingSpeak", "source":"LDR", "destination":"ThingSpeak", "ch":4}]
Les deux fichiers doivent être téléchargés à la racine d'esp.
Vous pouvez le faire via le navigateur https://192.168.0. XX/browse, où https://192.168.0. XX est l'adresse IP de votre appareil
Après le téléchargement, l'ESP doit être redémarré et tout a été fait correctement. Esp affichera l'écran approprié comme sur la photo et la vidéo ci-dessus
Étape 6: Réglage et consommation d'énergie
J'utilise mon appareil avec la connexion au panneau solaire et pour être sûr qu'il peut fonctionner "à l'infini"
la consommation d'énergie est importante et après plusieurs expériences, j'ai utilisé deux astuces majeures
Réduisez la consommation de la LED d'information de l'écran TFT
Selon la mesure, il mange 15-20 mA (beaucoup), donc j'ai utilisé des tactiques avec un détecteur de mouvement. Il fonctionne parfaitement Détecteurs de mouvement capables de reconnaître toute détection jusqu'à 8-10 mètres et d'augmenter la tension sur le câble de signal. Ceci ouvre un transistor et le backround Led reçoit une alimentation. Habituellement, le détecteur garde cet état jusqu'à 10 secondes, ce qui est plus que suffisant pour voir le moniteur, mais si vous continuez les mouvements, le signal est toujours élevé et la LED s'allume.
Une telle approche me donne une grosse économie, sans effets supplémentaires, je ne rencontre aucun problème pour voir mon écran quand je veux
2. Réduire la consommation d'énergie par ESP32
Lorsque l'ESP est connecté au WiFi, il consomme constamment 7-10 mA, je parle de temps constant, pas de démarrage et de première connexion. Cela peut être acceptable si vous avez toujours vu la date et l'heure réelles, accédez à votre système à partir du kit d'accueil Apple
Pour mon énergie solaire en hiver aussi, c'était pour correspondre à des travaux sans sources d'énergie supplémentaires, Par conséquent, j'ai décidé de mettre périodiquement l'ESP32 en mode veille (manger est inférieur à 1 mA). C'est bon pour moi, par exemple, ESP dort 20 minutes, puis se réveille, l'écran de rafraîchissement (données réelles et prévisions) envoie des données à la conversation et revient en mode veille
Les inconvénients sont:
- L'écran météo affiche des valeurs de temps obsolètes
- La station n'est pas accessible depuis le navigateur et Apple Home Kit pendant le temps de veille
C'est à vous de décider ce qui est le plus important, vous pouvez simplement reconfigurer cela.
Veuillez consulter le fichier et la ligne services.json
[{"service":"TimeController", "name":"Time", "enabled":true, "interval":1000, "timeoffs":7200, "dayloffs":3600, "server":"pool.ntp.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}
"enablesleep":true active le sommeil du tout, s'il y est mis false ou supprime le paramètre (false est la valeur par défaut) ESP ne dormira jamais
"sleepinterval": 900000 c'est millis, ou 15 min, signifie que toutes les 15 min ESP se réveillera et fera le personnel nécessaire
Donc, maintenant tout le monde peut jouer facilement selon la nécessité
Étape 7: Réglage des capteurs
Pour minimiser l'impact du chauffage interne sur le capteur de température BME280
J'ai d'abord fait du tube autour du capteur et des trous. Cependant, dans mon mode lorsque la LED est normalement éteinte et que l'ESP est en veille, ce n'est pas si important. Dans d'autres cas, le capteur BME280 doit se déplacer quelque part pour exclure l'influence du chauffage interne. Quelle que soit la faible influence que j'ai trouvée, il y a donc deux paramètres à compenser
"hum_corr":10.0
qui signifie que ces valeurs seront ajoutées après la mesure
Deuxièmement, calibrer la mesure de la tension de la batterie, {"enabled":"true", "interval":600000, "pin":36, "service":"LDRController", "name":"LDR", "cvalmin":0.0, "cvalmax":7.2, " cfmt":"%.2f V", "acctype":10}, "cvalmin":0.0
"cvalmax":7.2
sont à cet effet, car la tension est mesurée après les diviseurs de résistances et comparée à 3,3 V, en jouant avec la valeur cvalmax, vous pouvez atteindre un réglage de tension exact avec votre valeur multimètre
Étape 8: Ajout de l'appareil au kit Apple Home
Enfin, lorsque votre appareil fonctionne correctement, il peut être ajouté à Apple Home Kit et vous pourrez voir
valeurs des capteurs sur l'écran d'accueil Apple.
Vous devez d'abord redémarrer l'appareil, dès que l'appareil a démarré, il ne se mettra pas en veille, 20 minutes suffisent amplement.
Ensuite, ouvrez l'application Home Kit sur votre appareil iOS et sélectionnez ou créez un nouveau Home1. Appuyez sur Ajouter (+)
2. Sélectionnez Ajouter un accessoire.
3. Appuyez sur Je n'ai pas de code ou sur Je ne peux pas numériser (la numérisation sera ajoutée plus loin)
4. si tout se passe bien, vous devriez voir votre nouvel appareil esp dans une liste (voir photo)
5. Sélectionnez l'appareil et confirmez l'ajout sans certification officielle
6. Tapez le mot de passe 11111111
7. Tout ça ! Vous devriez voir cet appareil jumelé avec succès, sinon recommencez le processus de jumelage.
Sur la base de ce paramètre, vous verrez deux appareils sur l'Apple
1. Capteur de température et capteur de bourdonnement, en profondeur, il affichera les valeurs en plein écran
2. Capteur de lumière:) En fait, Apple est capable d'afficher l'ambiance lumineuse, mais pas la tension, donc la tension de la batterie s'affiche en lux
Étape 9: OTA: mises à jour en direct
Avant de commencer toute mise à jour, il est préférable de redémarrer ESP32, comme mentionné précédemment, il ne se mettra pas en veille les 20 premières minutes
Il y a deux possibilités pour mettre à jour
- Configuration à l'aide de https://192.168.0. XX/browse, vous pouvez accéder à votre système de fichiers sur ESP et modifier les fichiers de configuration
- Vous pouvez complètement mettre à jour le firmware. à cette fin, vous devez d'abord en créer un nouveau. Cela peut être fait via Arduino ou Visual Studio IDE. Tapez ensuite dans le navigateur https://192.168.0. XX/update, sélectionnez votre firmware et appuyez sur update. Attendez que le processus soit terminé et vous obtiendrez une réponse OK, sinon répétez l'étape à nouveau
Conseillé:
Station météo NaTaLia : Station météo à énergie solaire Arduino bien faite : 8 étapes (avec photos)
Station météo NaTaLia : Station météo à énergie solaire Arduino faite de la bonne manière : après 1 an de fonctionnement réussi sur 2 emplacements différents, je partage mes plans de projet de station météo à énergie solaire et j'explique comment elle a évolué en un système qui peut vraiment survivre sur une longue période périodes de l'énergie solaire. Si vous suivez
Station de recharge de téléphone à énergie solaire : 4 étapes
Station de charge de téléphone à énergie solaire : un téléphone déchargé est un problème courant du premier monde. Heureusement, avec ce circuit, vous pouvez utiliser la puissance du soleil pour alimenter votre téléphone. Ce tutoriel est UNIQUEMENT pour le côté circuit. Tout confinement réel du système doit être acquis ailleurs
Station météo solaire ESP32 : 4 étapes (avec photos)
Station météo solaire ESP32 : pour mon premier projet IoT, je voulais construire une station météo et envoyer les données à data.sparkfun.com. Petite correction, lorsque j'ai décidé d'ouvrir mon compte dans Sparkfun, ils n'acceptaient plus de connexions, alors j'ai choisissez un autre collecteur de données IoT thi
Station météo WiFi à énergie solaire V1.0 : 19 étapes (avec photos)
Station météo WiFi à énergie solaire V1.0 : dans ce Instructable, je vais vous montrer comment construire une station météo WiFi à énergie solaire avec une carte Wemos. Le Wemos D1 Mini Pro a un petit facteur de forme et une large gamme de boucliers plug-and-play en font une solution idéale pour obtenir rapidement
GÉNÉRATEUR D'ÉNERGIE SOLAIRE - L'énergie du soleil pour faire fonctionner les appareils ménagers quotidiens : 4 étapes
GÉNÉRATEUR D'ÉNERGIE SOLAIRE | L'énergie du soleil pour faire fonctionner les appareils ménagers quotidiens : Il s'agit d'un projet scientifique très simple qui est basé sur la conversion de l'énergie solaire en énergie électrique utilisable. Il utilise le régulateur de tension et rien d'autre. Choisissez tous les composants et préparez-vous à réaliser un projet génial qui vous aidera à