Idea on lainattu projektista. ESP8266 säänäyttö.
Päätin tuoda sen mieleen.
Seuraavat tehtävät asetettiin:
- Päivitä käyttöön liittyvä koodi uusi versio kirjasto ArduinoJson.h.
- Kirjoita koodi uudelleen millis () -toiminnolla viive () -toiminnon sijasta. On selvää, että painikkeiden ohjauksia ei voida toteuttaa käyttämällä viivettä asettaaksesi tauon näytön tietojen vaihtamisen välillä.
- make lataa luonnokset Wifi-yhteyden kautta;
- Päästä pois isoista Wemos D1 R2 -tuotteista Wemos D1 mini: llä;
- Aina kun mahdollista Venäläistä näyttö;
- Käytä LCD1602-pohjaisiin laitteisiin valmiita koteloa, jossa nappireiät;
- Käytä tavallisia 6x6-painikkeita, jotka on juotettu leipälautaan. Lisää taustavalon ohjauspainikkeet, karuselli-painike näytön tietojen muuttamiseksi ja painike tietojen päivitysten pakottamiseksi palvelimelta.
Käytettiin seuraavia komponentteja:
- Kotelo on valmistettu ABS-muovista ja sarja painikkeita painikkeille;
- Nailonistuet 6 + 5 mm uros M3 musta, 4 kpl;
- M3 nailonpähkinät musta, 4 kpl;
- Nailonpylväät 6 + 5 mm uros M2 valkoinen, 3 kpl;
- Nailonjalusta 6 mm äiti valkoinen, 1 kpl;
- Nylonjalusta 8 mm: n äiti valkoinen, 1 kpl;
- Nailon telineet 10 mm äiti valkoinen, 2 kpl;
- LCD 1602 (I2C), keltainen;
- Wemos d1 mini;
- Wemos d1 DC-Power -suoja;
- Lautaleipä 3x7;
- Painikkeet 6x6, korkeus 7 mm, 3kpl;
- Dupont-johdot 10cm äiti-äiti, 4 kpl;
- 24 AWG-johtoa musta ja punainen;
- Silikonilangat 20 AWG sininen ja valkoinen;
- Vastukset 5 kOhm - 2 kpl, 10 kOhm - 1 kpl (joka tuli käsiin);
- Virtalähde 9V 1A;
- Kaksikomponenttinen epoksiliima.
Käytetyllä tapauksella on useita etuja. Ensinnäkin, näytön lisäksi, normaali 3x7-standardi irroituslevy, jonka molemmille puolille asennetut komponentit sopii täydellisesti korkeuteen. Toiseksi, sen kahdessa päässä on suorakulmaiset aukot jäähdytystä varten. Kävi ilmi, että näiden reikien väliset hyppääjät leikkaavat täydellisesti minitiedostot 3 ja 4 mm. Jos katkaiset pari hyppyjohtoa ja leikkaat koteloon pienen suorakulmaisen reiän, DC-005-virtaliitin menee täydellisesti monimutkaisen geometrian reikään. Tämän tapauksen takana on myös suuri neliönmuotoinen reikä, jonka piti ilmeisesti asentaa paristot.Sen kautta on kätevä kytkeä jotain sisälle purkamatta koteloa. Myöhemmin se voidaan yksinkertaisesti sulkea lasilla tai muovilla.
Kehitä edistymistä:
Ensin tehtiin prototyyppi leipälevylle.
Sitten asia saatetaan päätökseen asiakirja-aineistolla.
Sen jälkeen pääkomponentit juotetaan ja asennus suoritetaan. Jalat taivutettiin erityisesti siten, että irrotettavat nivelet sopivat korkeuteen. Pari nailonhyllyä oli arkistoitava niin, että kaikki napit olivat samalla korkeudella.
Seurauksena on, että painikkeen, vastuksen ja johtimen levyn etupinta on seuraava:
Seurauksena on, että laitteen sisäpinta näyttää tältä:
Kokoonpanon aikana laite näyttää tältä:
Vaikeuksien voittaminen:
- Kauan sitten en voinut ymmärtää miksi painikkeet eivät toimineet, vaikka yleismittari osoitti selvästi nollia painikkeita painettaessa ja 4,6-5,0 V painettaessa (virtalähteestä riippuen). Kävi ilmi, että Wemos / Lolin -laitteissa on tarpeen ilmoittaa GPIO-numerot pin-numeroina luonnoksessa. Esimerkiksi D5 on GPIO14. Joten tämä on 14. nasta.
const int buttonPin = 14;
- Sää näyttää, kunto on välttämätön:
currentMillis - previousMillis == sääaika
Tiukka kirjeenvaihto, koska se on tehtävä kerran.
Palvelimelle pyynnön tekeminen edellyttää:currentMillis - previousMillis> = getDataTime
Löysä noudattaminen, koska se suoritetaan, kunnes ”tiedot vastaanotettu” -lippu on asetettu.
Itse asiassa tämä ei ole ilmeistä, ja ymmärtää se kesti melko kauan. - Minun piti myös pilata itseäni palvelimen vastauksella:
Kielisää = juuri ["sää"] [0] ["pää"]; Merkkijonon kuvaus = juuri ["sää"] [0] ["kuvaus"];
Zero oli täysin huomaamaton. Osoittautuu, että Moskovassa on kaksi sääasemaa, ja toinen niistä ei aina toimi (tietojen vastaanottamiseksi sinun on määritettävä [1], jos se on aktiivinen).
Koodi- ja kirjastovarasto sijaitsee täällä.