Table des matières:

Station météo ESP32 à énergie solaire : 9 étapes
Station météo ESP32 à énergie solaire : 9 étapes

Vidéo: Station météo ESP32 à énergie solaire : 9 étapes

Vidéo: Station météo ESP32 à énergie solaire : 9 étapes
Vidéo: Création d'une station météo - Microcontrôleur ESP8266 et serveur Web 2024, Novembre
Anonim
Image
Image
Station météo ESP32 à énergie solaire
Station météo ESP32 à énergie solaire
Station météo ESP32 à énergie solaire
Station météo ESP32 à énergie solaire

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

Pièces requises
Pièces requises
Pièces requises
Pièces requises
Pièces requises
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

Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
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

Téléchargement du micrologiciel prêt
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:

  1. 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
  2. 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

Réglage et consommation d'énergie
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

Ajout d'un appareil à Apple Home Kit
Ajout d'un appareil à Apple Home Kit

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

  1. 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
  2. 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é: