» Elektronica » Arduino »Client voor openweathermap.org gebaseerd op Wemos d1 mini

Client voor openweathermap.org gebaseerd op Wemos d1 mini


Het idee is ontleend aan het project. ESP8266 Weerweergave.

Ik besloot het voor de geest te halen.
De volgende taken zijn ingesteld:
  1. Gebruiksgerelateerde code bijwerken nieuwe versie bibliotheken ArduinoJson.h.
  2. Herschrijf de code met de functie millis () in plaats van de functie delay (). Het is duidelijk dat het met behulp van vertraging om een ​​pauze in te stellen tussen het wijzigen van informatie op het display, onmogelijk is om knopbedieningen te implementeren;
  3. Maak schetsen downloaden via Wifi;
  4. Ga weg van de omvangrijke Wemos D1 R2 op de Wemos D1 mini;
  5. Waar mogelijk Russify-scherm;
  6. Gebruik een kant-en-klare hoes met knoopsgaten voor apparaten op basis van LCD1602;
  7. Gebruik standaard 6x6 knoppen die op het breadboard zijn gesoldeerd. Voeg knoppen voor achtergrondverlichting toe, een carrouselknop om de weergegeven gegevens te wijzigen en een knop om gegevensupdates van de server te forceren.


De volgende componenten zijn gebruikt:
  1. De case is gemaakt van ABS plastic met een set covers voor de knoppen;
  2. Nylon stutten 6 + 5 mm mannelijk M3 zwart, 4 stuks;
  3. M3 nylon moeren zwart, 4 stuks;
  4. Nylon palen 6 + 5 mm mannelijk M2 wit, 3 stuks;
  5. Nylon standaard 6 mm moederwit, 1 stuk;
  6. Nylon standaard 8 mm moederwit, 1 stuk;
  7. Nylon rekken 10mm moederwit, 2 stuks;
  8. LCD 1602 (I2C), geel;
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power-afscherming;
  11. Board breadboard 3x7;
  12. Knopen 6x6, hoogte 7 mm, 3stuks;
  13. Dupont draden 10cm moeder-moeder, 4 stuks;
  14. 24 AWG-draden zwart en rood;
  15. Siliconendraden 20 AWG blauw en wit;
  16. Weerstanden 5 kOhm - 2 stuks, 10 kOhm - 1 stuk (wat bij de hand kwam);
  17. Voedingsadapter 9V 1A;
  18. Tweecomponenten epoxylijm.


De gebruikte koffer heeft verschillende voordelen. Ten eerste, naast het display, past het standaard 3x7 standaard ontkoppelingsbord, met componenten die aan beide zijden erop zijn geïnstalleerd, perfect in hoogte. Ten tweede heeft het aan twee uiteinden rechthoekige openingen voor koeling. Het bleek dat de jumpers tussen deze gaten perfect zijn gesneden door mini-bestanden van 3 en 4 mm. Als u een paar jumpers snijdt en een klein rechthoekig gat in de behuizing snijdt, gaat de DC-005-voedingsconnector perfect in het gat met complexe geometrie. Ook heeft de achterkant van deze zaak een groot vierkant gat, dat blijkbaar bedoeld was om batterijen te plaatsen.Hierdoor is het handig om iets binnenin aan te sluiten zonder de behuizing te demonteren. Vervolgens is het eenvoudig af te sluiten met glas of kunststof.

Bouw vooruitgang:
Eerst is er een prototype gemaakt op een breadboard.

Vervolgens wordt de zaak afgerond met een dossier.

Daarna worden de hoofdcomponenten gesoldeerd en wordt de montage uitgevoerd. De poten zijn speciaal gebogen zodat de afneembare gewrichten in hoogte passen. Er moesten een paar nylon rekken worden gearchiveerd zodat alle knopen op dezelfde hoogte zaten.




Als resultaat is de voorkant van het bord met knoppen, weerstanden en draden als volgt:

Hierdoor ziet de binnenkant van het apparaat er als volgt uit:

Na montage ziet het apparaat er als volgt uit:





Moeilijkheden overwinnen:
  1. Lange tijd kon ik niet begrijpen waarom de knoppen niet werkten, hoewel de multimeter duidelijk 0 toonde wanneer de knoppen werden ingedrukt en 4,6 - 5,0 V wanneer ingedrukt (afhankelijk van de voeding). Het bleek dat bij Wemos / Lolin-apparaten GPIO-nummers als pin-nummers in de schets moeten worden aangegeven. D5 is bijvoorbeeld GPIO14. Dit is dus de 14e pin.
    const int buttonPin = 14;

  2. Om het weer te laten zien, is de voorwaarde noodzakelijk:
    currentMillis - previousMillis == weatherTime

    Strikte correspondentie, omdat het een keer moet gebeuren.
    Om een ​​verzoek aan de server te doen, is de voorwaarde noodzakelijk:
    currentMillis - previousMillis> = getDataTime

    Losse compliance, omdat het wordt uitgevoerd totdat de vlag "data ontvangen" is ingesteld.
    In feite is dit niet voor de hand liggend en om dit te begrijpen duurde het vrij lang.
  3. Ik moest mezelf ook kwellen met het antwoord van de server:
    String weather = root ["weather"] [0] ["main"];
    String description = root ["weather"] [0] ["description"];

    Zero was volkomen onduidelijk. Het blijkt dat er in Moskou twee weerstations zijn, en de tweede werkt niet altijd (om er gegevens van te ontvangen, moet je [1] opgeven als het actief is).

De repository met code en bibliotheken bevindt zich hier.
5.5
8.5
10

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
7 opmerkingen
ino53, het is verrassend dat we elkaar bij verstek hebben ontmoet en een artikel hebben gelezen dat niet over versterkers en BP gaat. Hoewel niet verrassend. En ik vermoedde ongeveer een jaar lang. Ik ben 67, maar daar gaat het niet om.
Bedankt, ik zal iets goeds weten.
Jongens, mijn bijnaam is de initialen en het geboortejaar 1953. Ik heb 42 jaar technische ervaring in mijn werkrecord, ik weet niets van amateur - vader (niet Loekasjenko, we hebben geen zigeuners), zei dat ik de soldeerbout pakte voordat ik ging praten. Ik heb niets geschreven, maar dit is een stap verder, goed gedaan.
De auteur
Ik doe dat. In raap http: //arduino.esp8266.com / stable / package_esp8266com_index.json heeft ondersteuning voor deze boards.
En u kunt er een programmeren Arduino IDE?
De auteur
Welnu, ik heb persoonlijk een jaar geleden twee Wemos D1 R2 v2.1.0-kaarten besteld (ze werken met de cp210x-driver). En twee Wemos d1 mini een half jaar geleden. Een van de D1 R2 werd geleverd met een omgevallen weerstand van een 12 volt voedingscircuit. Nou, ik keek naar het circuit, vond een weerstand, soldeerde, het werkte. Anders heb ik nog geen problemen opgemerkt. Qua populariteit lijkt het ongeveer op NodeMCU, het is vreemd dat ze het niet hebben gehoord.
Ik heb van uw artikel over Wemos geleerd, de prijs en functies zijn aantrekkelijk, maar hoe zit het met de duurzaamheid?

We raden je aan om te lezen:

Geef het voor de smartphone ...