» електроника » Arduino »Клиент за openweathermap.org, базиран на Wemos d1 mini

Клиент за openweathermap.org, базиран на Wemos d1 mini


Идеята е взаимствана от проекта. ESP8266 Дисплей за времето.

Реших да го науча.
Бяха поставени следните задачи:
  1. Актуализирайте свързания с използването код нова версия библиотека ArduinoJson.h.
  2. Пренапишете кода, използвайки функцията millis (), вместо функцията забавяне (). Ясно е, че използвайки забавяне за задаване на пауза между промяната на информацията на дисплея, е невъзможно да се приложат контроли на бутоните;
  3. грим изтегляне на скици през Wifi;
  4. Махнете се от обемния Wemos D1 R2 на Wemos D1 mini;
  5. Когато е възможно Русифициране на дисплея;
  6. Използвайте готов калъф с отвори за бутони за устройства, базирани на LCD1602;
  7. Използвайте стандартни 6x6 бутони, прикрепени към дъската. Добавете бутони за управление на подсветката, бутон за въртене за промяна на показаните данни и бутон за форсиране на актуализации на данни от сървъра.


Използвани са следните компоненти:
  1. Калъфът е изработен от ABS пластмаса с комплект капаци за бутоните;
  2. Найлонови подпори 6 + 5 мм мъжки М3 черен, 4 бр;
  3. М3 найлонови гайки черни, 4 бр;
  4. Найлонови стълбове 6 + 5 мм мъжки М2 бял, 3 бр;
  5. Найлонова стойка 6 мм майка бяла, 1 бр;
  6. Найлонова стойка 8 мм майка бяла, 1 бр;
  7. Найлонови стелажи 10 мм майка бяла, 2 бр;
  8. LCD 1602 (I2C), жълт;
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power щит;
  11. Дъска за дъска 3x7;
  12. Бутони 6х6, височина 7 мм, 3бр .;
  13. Dupont проводници 10см майка-майка, 4 бр;
  14. 24 AWG проводници черни и червени;
  15. Силиконови проводници 20 AWG синьо и бяло;
  16. Резистори 5 kOhm - 2 бр, 10 kOhm - 1 бр (които дойдоха на ръка);
  17. Захранващ адаптер 9V 1A;
  18. Двукомпонентно епоксидно лепило.


Използваният калъф има няколко предимства. Първо, в допълнение към дисплея, стандартната 3x7 стандартна разделителна платка с нейните компоненти, инсталирани от двете страни, е перфектно поставена по височина. Второ, в два края има правоъгълни отвори за охлаждане. Оказа се, че джъмперите между тези дупки са перфектно изрязани от мини файлове 3 и 4 мм. Ако изрежете няколко джъмпера и изрежете малък правоъгълен отвор в кутията, тогава захранващият конектор DC-005 иде идеално в образувания отвор със сложна геометрия. Също така, на гърба на този случай има голям квадратен отвор, в който, както изглежда, е трябвало да се поставят батерии.Чрез него е удобно да свържете нещо вътре, без да разглобявате кутията. Впоследствие той може просто да бъде затворен със стъкло или пластмаса.

Изграждане на прогрес:
Първо е направен прототип на дъска.

Тогава случаят се финализира с файл.

След това основните компоненти се запояват и монтажът се извършва. Краката бяха специално огънати, така че разглобяемите стави да се поберат по височина. Трябваше да се подадат няколко найлонови стелажа, така че всички копчета да са на една и съща височина.




В резултат на това предната страна на платката с бутони, резистори и проводници е както следва:

В резултат вътрешностите на устройството изглеждат така:

Когато е сглобено, устройството изглежда така:





Преодоляване на трудностите:
  1. Дълго време не можах да разбера защо бутоните не работят, въпреки че мултицетът ясно показва 0 при натискане на бутоните и 4,6 - 5,0 V при натискане (в зависимост от захранването). Оказа се, че в устройствата на Wemos / Lolin е необходимо да се посочват GPIO номерата като пинови номера в скицата. Например, D5 е GPIO14. Това е 14-ти пин.
    const int buttonPin = 14;

  2. За да покажете времето, условието е необходимо:
    currentMillis - previousMillis == weatherTime

    Строга кореспонденция, защото трябва да се извърши веднъж.
    За да направите заявка до сървъра, условието е необходимо:
    currentMillis - previousMillis> = getDataTime

    Отпуснато съответствие, тъй като се изпълнява, докато не бъде зададен флагът „получени данни“.
    Всъщност това не е очевидно и за да се разбере това, отне доста време.
  3. Трябваше също да се измъчвам с отговора на сървъра:
    String weather = root ["weather"] [0] ["main"];
    Description of string = root ["weather"] [0] ["description"];

    Нулата беше напълно незабележима. Оказва се, че в Москва има две метеорологични станции, а втората не винаги работи (за да получите данни от нея, трябва да посочите [1], ако е активна).

Намира се хранилището с код и библиотеки тук.
5.5
8.5
10

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
7 коментар
ino53, изненадващо е, че се срещнахме задочно, четейки статия не за усилватели и BP. Въпреки че не е изненадващо. И около година предполагах дълго време. Аз съм на 67, но това не е въпросът.
Благодаря, ще знам за хубаво нещо.
Момчета, псевдонимът ми е инициалите и годината на раждане, 1953 г. Имам 42 години инженерен опит в трудовата си книжка, не знам за любителите - татко (не Лукашенко, нямаме роми), каза, че започнах да хващам поялника преди да говоря. Не разбрах нищо написано, но това е стъпка по-нататък, добре направено.
Авторът
Правя така. В ряпа http: //Ардуино.esp8266.com / stable / package_esp8266com_index.json има поддръжка за тези табла.
И можете да програмирате с помощта на такъв Arduino IDE?
Авторът
Е, аз лично поръчах две платки Wemos D1 R2 v2.1.0 преди година (те работят с драйвера cp210x). И две мини Wemos d1 преди половин година. Един от D1 R2 дойде с паднал резистор от захранваща верига от 12 волта. Е, погледнах веригата, намерих резистор, спойках, работи. Иначе все още не съм забелязал никакви проблеми. По отношение на популярността е приблизително като NodeMCU, странно е, че не са чували.
Научих за Wemos от вашата статия, цената и функциите са атрактивни, но какво да кажем за издръжливостта?

Съветваме ви да прочетете:

Предайте го за смартфона ...