» elettronica » Arduino »Client per openweathermap.org basato su Wemos d1 mini

Client per openweathermap.org basato su Wemos d1 mini


L'idea è presa in prestito dal progetto. ESP8266 Visualizzazione del tempo.

Ho deciso di ricordarmelo.
Sono stati impostati i seguenti compiti:
  1. Aggiorna il codice relativo all'utilizzo nuova versione biblioteca ArduinoJson.h.
  2. Riscrivi il codice usando la funzione millis () invece della funzione delay (). È chiaro che usando il ritardo per impostare una pausa tra la modifica delle informazioni sul display, è impossibile implementare i controlli dei pulsanti;
  3. make scarica schizzi via Wifi;
  4. Allontanati dal voluminoso Wemos D1 R2 sul Wemos D1 mini;
  5. Quando possibile Russify display;
  6. Utilizzare una custodia già pronta con fori per pulsanti per dispositivi basati su LCD1602;
  7. Utilizzare pulsanti 6x6 standard saldati alla breadboard. Aggiungi pulsanti di controllo della retroilluminazione, un pulsante a carosello per modificare i dati visualizzati e un pulsante per forzare gli aggiornamenti dei dati dal server.


Sono stati utilizzati i seguenti componenti:
  1. La custodia è in plastica ABS con un set di cover per i pulsanti;
  2. Puntoni in nylon 6 + 5 mm maschio M3 nero, 4 pezzi;
  3. Dadi in nylon M3 neri, 4 pezzi;
  4. Pali in nylon 6 + 5 mm maschio M2 bianco, 3 pezzi;
  5. Supporto in nylon 6 mm bianco madre, 1 pezzo;
  6. Supporto in nylon 8 mm bianco madre, 1 pezzo;
  7. Scaffali in nylon 10mm bianco madre, 2 pezzi;
  8. LCD 1602 (I2C), giallo;
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power shield;
  11. Tagliere da tavola 3x7;
  12. Bottoni 6x6, altezza 7 mm, 3 pezzi;
  13. Fili Dupont 10 cm madre-madre, 4 pezzi;
  14. 24 fili AWG neri e rossi;
  15. Fili di silicone 20 AWG blu e bianco;
  16. Resistori 5 kOhm - 2 pezzi, 10 kOhm - 1 pezzo (che è venuto a portata di mano);
  17. Adattatore di alimentazione 9V 1A;
  18. Adesivo epossidico bicomponente.


La custodia usata presenta numerosi vantaggi. Innanzitutto, oltre al display, la scheda di disaccoppiamento standard 3x7 standard, con componenti installati su entrambi i lati, si adatta perfettamente in altezza. In secondo luogo, alle due estremità ha aperture rettangolari per il raffreddamento. Si è scoperto che i ponticelli tra questi fori sono perfettamente tagliati da mini file da 3 e 4 mm. Se tagli un paio di ponticelli e fai un piccolo foro rettangolare nella custodia, il connettore di alimentazione DC-005 entra perfettamente nel foro della geometria complessa. Inoltre, il retro di questo caso ha un grande foro quadrato, che, a quanto pare, avrebbe dovuto installare le batterie.Attraverso di esso, è conveniente collegare qualcosa all'interno senza smontare la custodia. Successivamente, può essere semplicemente chiuso con vetro o plastica.

Progressi di costruzione:
Innanzitutto, è stato realizzato un prototipo su una breadboard.

Quindi il caso viene finalizzato con un file.

Successivamente, i componenti principali vengono saldati e il raccordo viene eseguito. Le gambe erano appositamente piegate in modo che le articolazioni staccabili si adattassero in altezza. Un paio di rack di nylon dovevano essere archiviati in modo che tutti i pulsanti fossero alla stessa altezza.




Di conseguenza, la parte anteriore della scheda con pulsanti, resistori e fili è la seguente:

Di conseguenza, l'interno del dispositivo è simile al seguente:

Quando assemblato, il dispositivo si presenta così:





Superare le difficoltà:
  1. Per molto tempo non sono riuscito a capire perché i pulsanti non funzionassero, sebbene il multimetro mostrasse chiaramente 0 quando i pulsanti erano premuti e 4.6 - 5.0 V quando premuti (a seconda dell'alimentazione). Si è scoperto che nei dispositivi Wemos / Lolin è necessario indicare i numeri GPIO come numeri pin nello schizzo. Ad esempio, D5 è GPIO14. Quindi questo è il 14 ° pin.
    const int buttonPin = 14;

  2. Per mostrare il tempo, la condizione è necessaria:
    currentMillis - previousMillis == weatherTime

    Corrispondenza rigorosa, perché deve essere eseguita una volta.
    Per effettuare una richiesta al server, la condizione è necessaria:
    currentMillis - previousMillis> = getDataTime

    Conformità generica, poiché viene eseguita fino all'impostazione del flag "dati ricevuti".
    In realtà, questo non è ovvio e, per capirlo, ci è voluto molto tempo.
  3. Ho anche dovuto tormentarmi con la risposta del server:
    String weather = root ["weather"] [0] ["main"];
    Descrizione stringa = root ["weather"] [0] ["description"];

    Zero era completamente invisibile. Si scopre che ci sono due stazioni meteorologiche a Mosca, e la seconda non funziona sempre (per ricevere dati da essa, è necessario specificare [1] se è attiva).

Si trova il repository con codice e librerie qui.
5.5
8.5
10

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
7 commento
ino53, è sorprendente che ci siamo incontrati in contumacia, leggendo un articolo che non parlava di amplificatori e BP. Anche se non sorprendente. E circa un anno ho indovinato a lungo. Ho 67 anni, ma non è questo il punto.
Grazie, saprò una buona cosa.
Ragazzi, il mio soprannome è la sigla e l'anno di nascita, 1953. Ho 42 anni di esperienza ingegneristica nel mio curriculum di lavoro, non conosco il dilettante - papà (non Lukashenko, non abbiamo la Roma), ha detto che ho iniziato a prendere il saldatore prima di parlare. Non ho capito niente di scritto, ma questo è un passo avanti, ben fatto.
L'autore
Lo faccio. In rapa http: //arduino.esp8266.com / stable / package_esp8266com_index.json ha il supporto per queste schede.
E puoi programmare usando uno Arduino IDE?
L'autore
Bene, ho ordinato personalmente due schede Wemos D1 R2 v2.1.0 un anno fa (funzionano con il driver cp210x). E due Wemos d1 mini mezzo anno fa. Uno dei D1 R2 veniva fornito con una resistenza caduta da un circuito di alimentazione da 12 volt. Bene, ho guardato il circuito, ho trovato una resistenza, saldato, ha funzionato. Altrimenti, non ho ancora notato alcun problema. In termini di popolarità, è approssimativamente come NodeMCU, è strano che non abbiano sentito.
Ho appreso Wemos dal tuo articolo, il prezzo e le caratteristiche sono interessanti, ma per quanto riguarda la durata?

Ti consigliamo di leggere:

Passalo per lo smartphone ...