» electronică » Arduino »Client pentru openweathermap.org bazat pe Wemos d1 mini

Client pentru openweathermap.org bazat pe Wemos d1 mini


Ideea este împrumutată din proiect. ESP8266 Meteo Display.

Am decis să mi-l aduc în minte.
Au fost setate următoarele sarcini:
  1. Actualizați codul aferent utilizării versiune nouă bibliotecă ArduinoJson.h.
  2. Rescrieți codul folosind funcția millis () în loc de funcția delay (). Este clar că folosind întârziere pentru a seta o pauză între schimbarea informațiilor pe afișaj, este imposibil să implementați comenzile butoanelor;
  3. Marca descărcați schițe prin Wifi;
  4. Scapă-te de volumul Wemos D1 R2 de pe Wemos D1 mini;
  5. Ori de câte ori este posibil Display Russify;
  6. Utilizați o carcasă gata pregătită cu găuri pentru butoane pentru dispozitivele bazate pe LCD1602;
  7. Folosiți butoanele standard 6x6 lipite pe panou. Adăugați butoane de control pentru iluminare de fundal, buton pentru carusel pentru modificarea datelor afișate și buton pentru forțarea actualizărilor de date de pe server.


Au fost utilizate următoarele componente:
  1. Carcasa este din plastic ABS cu un set de huse pentru butoane;
  2. Buzunare din nylon 6 + 5 mm masculi M3 negru, 4 buc;
  3. Piulițe de nailon M3 negru, 4 buc;
  4. Posturi de nylon 6 + 5 mm mascul M2 alb, 3 buc;
  5. Stand nylon 6 mm alb mat, 1 buc;
  6. Stand din nailon 8 mm alb mat, 1 buc;
  7. Rafturi din nylon 10mm alb mat, 2 buc;
  8. LCD 1602 (I2C), galben;
  9. Wemos d1 mini;
  10. Wemos d1 Scut DC-Power;
  11. Panou de bord 3x7;
  12. Butoane 6x6, inaltime 7 mm, 3buc;
  13. Cabluri Dupont 10cm mamă-mamă, 4 buc;
  14. 24 fire AWG negru și roșu;
  15. Fire de silicon 20 AWG albastru și alb;
  16. Rezistoare 5 kOhm - 2 buc, 10 kOhm - 1 buc (care a venit la mână);
  17. Adaptor de alimentare 9V 1A;
  18. Adeziv epoxidic cu două componente.


Carcasa folosită are mai multe avantaje. În primul rând, pe lângă afișaj, placa de decuplare standard 3x7, cu componente instalate pe acesta pe ambele părți, se potrivește perfect în înălțime. În al doilea rând, la două capete are deschideri dreptunghiulare pentru răcire. S-a dovedit că salturile dintre aceste găuri sunt tăiate perfect de mini-fișiere de 3 și 4 mm. Dacă tăiați câteva jumperi și tăiați o mică gaură dreptunghiulară în carcasă, atunci conectorul de alimentare DC-005 intră perfect în gaura geometriei complexe. De asemenea, partea din spate a acestui caz are o gaură pătrată mare, care, se pare, trebuia să instaleze baterii.Prin intermediul acestuia, este convenabil să conectați ceva în interior fără a demonta carcasa. Ulterior, poate fi închisă pur și simplu cu sticlă sau plastic.

Construiți progresul:
În primul rând, s-a făcut un prototip pe o panou de pâine.

Apoi cazul este finalizat cu un fișier.

După aceea, componentele principale sunt lipite și montarea este realizată. Picioarele erau special îndoite, astfel încât îmbinările detașabile să se încadreze în înălțime. Câteva rafturi din nylon trebuiau depuse pentru ca toate butoanele să fie la aceeași înălțime.




Ca urmare, partea frontală a plăcii cu butoane, rezistențe și fire este următoarea:

Drept urmare, elementele interioare ale dispozitivului arată astfel:

Când este asamblat, dispozitivul arată astfel:





Depășirea dificultăților:
  1. Multă vreme nu am putut înțelege de ce nu au funcționat butoanele, deși multimetrul a arătat clar 0 la apăsarea butoanelor și 4,6 - 5,0 V la apăsare (în funcție de sursa de alimentare). S-a dovedit că în dispozitivele Wemos / Lolin este necesar să se indice numerele GPIO ca numere de pin în schiță. De exemplu, D5 este GPIO14. Deci acesta este cel de-al 14-lea pin.
    buton const intPin = 14;

  2. Pentru a arăta vremea, starea este necesară:
    currentMillis - previousMillis == weatherTime

    Corespondență strictă, deoarece trebuie făcută o singură dată.
    Pentru a face o solicitare către server, condiția este necesară:
    currentMillis - previousMillis> = getDataTime

    Conformitate slabă, deoarece se execută până când este setat steagul „date primite”.
    De fapt, acest lucru nu este evident și, pentru a înțelege acest lucru, a durat destul de mult.
  3. De asemenea, a trebuit să mă chinui cu răspunsul serverului:
    String weather = root ["weather"] [0] ["main"];
    String description = root ["weather"] [0] ["description"];

    Zero era complet neobișnuit. Se dovedește că există două stații meteo în Moscova, iar a doua dintre ele nu funcționează întotdeauna (pentru a primi date de la aceasta, trebuie să specificați [1] dacă este activă).

Depozitul cu coduri și biblioteci este situat aici.
5.5
8.5
10

Adaugă un comentariu

    • zâmbetzâmbetexaxabinedontknowYahooNea
      șefzgârieturăpăcălidada-daagresivsecret
      scuzedansdance2dance3iertareajutorbăuturi
      oprireprietenibungoodgoodfluiersincopălimbă
      fumaplauzeCrayvestimbatjocoritorDon-t_mentiondescărcare
      căldurămânioslaugh1mdaîntâlniremoskingnegativ
      not_ifloricele de porumbpedepsicititsperiasperiecăutare
      batjocurăthank_youacestto_clueUmnikacutconveni
      răubeeeblack_eyeblum3roșilăudăroșenieplictiseală
      cenzuratpleasantrysecret2amenințavictorieyusun_bespectacled
      ShokRespektlolprevedbun venitKrutoyya_za
      ya_dobryiajutorne_huliganne_othodifludinterdicțieînchide
7 comentariu
ino53, este surprinzător faptul că ne-am întâlnit în absentia, citind un articol nu despre amplificatoare și BP. Deși nu este surprinzător. Și cam un an am ghicit de mult timp. Am 67 de ani, dar nu este ideea.
Mulțumesc, voi ști despre un lucru bun.
Băieți, porecla mea sunt inițialele și anul nașterii, 1953. Am 42 de ani de experiență în inginerie în registrul meu de lucru, nu știu despre amatori - tata (nu Lukashenko, nu avem țigani), a spus că am început să prind fierul de lipit înainte de a vorbi. Nu am înțeles nimic scris, dar acesta este un pas mai departe, bine făcut.
Autorul
Fac asta. În turnip http: //Arduino.esp8266.com / stable / package_esp8266com_index.json are suport pentru aceste placi.
Și puteți programa folosind unul Arduino IDE?
Autorul
Ei bine, personal am comandat două plăci Wemos D1 R2 v2.1.0 acum un an (funcționează cu driverul cp210x). Și două Wemos d1 mini acum jumătate de an. Unul dintre D1 R2 a venit cu un rezistor căzut de pe un circuit de alimentare de 12 volți. Ei bine, m-am uitat la circuit, am găsit un rezistor, lipit, a funcționat. Altfel, nu am observat încă nicio problemă. În ceea ce privește popularitatea, este aproximativ ca NodeMCU, este ciudat că nu au auzit.
Am aflat despre Wemos din articolul dvs., prețul și caracteristicile sunt atractive, dar despre durabilitate?

Vă sfătuim să citiți:

Înmânează-l pentru smartphone ...