» Électronique » Arduino »Client pour openweathermap.org basé sur Wemos d1 mini

Client pour openweathermap.org basé sur Wemos d1 mini


L'idée est empruntée au projet. Affichage météo ESP8266.

J'ai décidé de m'en souvenir.
Les tâches suivantes ont été définies:
  1. Mettre à jour le code lié à l'utilisation nouvelle version bibliothèques ArduinoJson.h.
  2. Réécrivez le code à l'aide de la fonction millis () au lieu de la fonction delay (). Il est clair qu'en utilisant le délai pour définir une pause entre les changements d'informations sur l'affichage, il est impossible de mettre en œuvre des commandes de bouton;
  3. Faire télécharger des croquis via Wifi;
  4. Éloignez-vous de l'encombrant Wemos D1 R2 sur le Wemos D1 mini;
  5. Autant que possible Affichage Russify;
  6. Utilisez un boîtier prêt à l'emploi avec des trous de bouton pour les appareils basés sur LCD1602;
  7. Utilisez des boutons standard 6x6 soudés à la planche à pain. Ajoutez des boutons de contrôle du rétroéclairage, un bouton carrousel pour modifier les données affichées et un bouton pour forcer les mises à jour des données depuis le serveur.


Les composants suivants ont été utilisés:
  1. Le boîtier est en plastique ABS avec un ensemble de housses pour les boutons;
  2. Entretoises en nylon 6 + 5 mm mâle M3 noir, 4 pièces;
  3. Écrous en nylon M3 noirs, 4 pièces;
  4. Poteaux en nylon 6 + 5 mm mâle M2 blanc, 3 pièces;
  5. Support en nylon 6 mm blanc mère, 1 pc;
  6. Support en nylon 8 mm mère blanc, 1 pc;
  7. Supports en nylon 10 mm mère blanc, 2 pièces;
  8. LCD 1602 (I2C), jaune;
  9. Wemos d1 mini;
  10. Blindage Wemos d1 DC-Power;
  11. Planche à pain 3x7;
  12. Boutons 6x6, hauteur 7 mm, 3pcs;
  13. Fils Dupont 10cm mère-mère, 4 pièces;
  14. 24 fils AWG noirs et rouges;
  15. Fils de silicone 20 AWG bleu et blanc;
  16. Résistances 5 kOhm - 2 pièces, 10 kOhm - 1 pièce (livrées);
  17. Adaptateur secteur 9V 1A;
  18. Adhésif époxy à deux composants.


Le boîtier utilisé présente plusieurs avantages. Tout d'abord, en plus de l'écran, la carte de découplage standard 3x7, avec des composants installés sur les deux côtés, s'adapte parfaitement en hauteur. Deuxièmement, à ses deux extrémités, il présente des ouvertures rectangulaires pour le refroidissement. Il s'est avéré que les cavaliers entre ces trous sont parfaitement coupés par des mini-limes de 3 et 4 mm. Si vous coupez quelques cavaliers et percez un petit trou rectangulaire dans le boîtier, le connecteur d'alimentation DC-005 pénètre parfaitement dans le trou de géométrie complexe. De plus, l'arrière de ce boîtier a un grand trou carré, qui, apparemment, était censé installer des piles.Grâce à elle, il est pratique de connecter quelque chose à l'intérieur sans démonter le boîtier. Par la suite, il peut simplement être fermé avec du verre ou du plastique.

Progrès de la construction:
Tout d'abord, un prototype a été réalisé sur une maquette.

Ensuite, l'affaire est finalisée avec un dossier.

Après cela, les principaux composants sont soudés et le montage est effectué. Les jambes étaient spécialement pliées pour que les articulations amovibles tiennent en hauteur. Quelques racks en nylon ont dû être classés afin que tous les boutons soient à la même hauteur.




En conséquence, la face avant de la carte avec boutons, résistances et fils est la suivante:

Par conséquent, l'intérieur de l'appareil ressemble à ceci:

Une fois assemblé, l'appareil ressemble à ceci:





Surmonter les difficultés:
  1. Pendant longtemps, je n'ai pas pu comprendre pourquoi les boutons ne fonctionnaient pas, bien que le multimètre affiche clairement 0 lorsque les boutons étaient enfoncés et 4,6 - 5,0 V lorsqu'ils étaient enfoncés (en fonction de l'alimentation). Il s'est avéré que dans les appareils Wemos / Lolin, il est nécessaire d'indiquer les numéros GPIO sous forme de numéros de broches dans le croquis. Par exemple, D5 est GPIO14. Voici donc la 14e broche.
    const int buttonPin = 14;

  2. Pour afficher la météo, la condition est nécessaire:
    currentMillis - previousMillis == weatherTime

    Correspondance stricte, car elle doit être effectuée une seule fois.
    Pour faire une demande au serveur, la condition est nécessaire:
    currentMillis - previousMillis> = getDataTime

    Conformité lâche, car elle est exécutée jusqu'à ce que l'indicateur «données reçues» soit défini.
    En fait, ce n'est pas évident, et pour comprendre cela, cela a pris assez de temps.
  3. J'ai également dû me tourmenter avec la réponse du serveur:
    Chaîne weather = root ["weather"] [0] ["main"];
    Description de la chaîne = racine ["météo"] [0] ["description"];

    Zéro n'était absolument pas évident. Il s'avère qu'il y a deux stations météorologiques à Moscou, et la seconde d'entre elles ne fonctionne pas toujours (pour en recevoir des données, vous devez spécifier [1] si elle est active).

Le référentiel avec le code et les bibliothèques est situé ici.
5.5
8.5
10

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
7 commentaires
ino53, il est surprenant que nous nous soyons rencontrés par contumace, en lisant un article non sur les amplificateurs et la tension artérielle. Bien que cela ne soit pas surprenant. Et environ un an j'ai longtemps deviné. J'ai 67 ans, mais ce n'est pas le sujet.
Merci, je connais une bonne chose.
Les gars, mon surnom est les initiales et l'année de naissance, 1953. J'ai 42 ans d'expérience en ingénierie dans mon dossier de travail, je ne connais pas les amateurs - papa (pas Lukashenko, nous n'avons pas de Roms), a dit que j'ai commencé à attraper le fer à souder avant de parler. Je n'ai rien compris d'écrit, mais c'est un pas de plus, bravo.
L'auteur
Je le fais. Dans le navet http: //Arduino.esp8266.com / stable / package_esp8266com_index.json prend en charge ces cartes.
Et vous pouvez programmer en utilisant un Arduino IDE?
L'auteur
Eh bien, j'ai personnellement commandé deux cartes Wemos D1 R2 v2.1.0 il y a un an (elles fonctionnent avec le pilote cp210x). Et deux Wemos d1 mini il y a six mois. L'un des D1 R2 est venu avec une résistance tombée d'un circuit d'alimentation de 12 volts. Eh bien, j'ai regardé le circuit, trouvé une résistance, soudé, ça a marché. Sinon, je n'ai pas encore remarqué de problèmes. En termes de popularité, c'est à peu près comme NodeMCU, c'est étrange qu'ils n'aient pas entendu.
J'ai entendu parler de Wemos grâce à votre article, le prix et les fonctionnalités sont attractifs, mais qu'en est-il de la durabilité?

Nous vous conseillons de lire:

Donnez-le au smartphone ...