Turinys:
- 1 žingsnis: statykite
- 2 žingsnis: kodas
- 3 veiksmas: prisijunkite prie HTTPS svetainės
- 4 žingsnis: pateikite POST / GET užklausas
- 5 veiksmas: „JSON & NOKIA“LCD ekranas
Video: Prijungtas chronometras: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Sveiki! Šioje pamokoje sužinosite, kaip prijungti bet kurį „Arduino“suderinamą įrenginį, kuriame yra „WiFi“, prie REST API! Naudokite „GitKraken Glo Board“žiniatinklio programą, kad sukurtumėte lentas, stulpelius ir korteles dalykams tvarkyti!
Reikia tam tikrų žinių apie tai, kaip veikia viešoji API. Šis projektas skirtas naudoti „GitKraken Glo“API, kad būtų galima sekti laiką, kurį praleidžiate atlikdami užduotis savo darbų sąrašuose.
Pavyzdžiui, turite atlikti šias užduotis:
- Gerti kavą
Kai paspausite „Start“, kai baigsite, paspausite „Done“, o voilà, jūsų praleistas laikas bus komentuojamas.
1 žingsnis: statykite
Norėdami statyti, galite galvoti apie bet ką. Mažas chronometras būtų puiku, bet nieko nedėjau.
Taigi kartono ir pasažo mygtukai buvo teisingas kelias!
Lenta, kurią naudojau, yra „ESP8266 WeMos D1 Mini“. Tai yra pigiau nei „Arduino“ir turi „WiFi“!
Ekranas yra „Nokia 5110“LCD.
n
„AliExpress“dalių sąrašas:
- Nokia 5110
- 2 pasažo mygtukai
- ESP8266
- Jumperio laidai
- Kartoninė dėžutė
Bet jūs iš esmės galite jį rasti bet kur arba kitose svetainėse, tokiose kaip „Amazon“ar „eBay“.
Bendra sąskaita: 5 € 86
Smeigtukų jungtys:
ESP8266 „WeMos D1 Mini“ir „Nokia 5110“LCD
- D2 (GPIO4) ↔ 0 RST
- D1 (GPIO5) ↔ 1 CE
- D6 (GPIO12) ↔ 2 DC
- D7 (GPIO13) ↔ 3 DIN
- D5 (GPIO14) ↔ 4 CLK
- 3V3 ir 5 VCC
- D0 (GPIO16) ↔ 6 BL
- G (GND) ↔ 7 GND
ESP8266 „WeMos D1 Mini“arkadiniai mygtukai
D3 (GPI18) ↔ Kairysis mygtukas
D4 (GPI17) ↔ Dešinysis mygtukas
Kitas mygtuko kaištis prijungtas prie žemės (GND).
2 žingsnis: kodas
Tiesiog duok man kodą
Visą šaltinio kodą galite rasti čia:
github.com/antoinech/glo-stopwatch
Kad jis jums veiktų, turėsite pakeisti šiuos kintamuosius:
// Įdėkite savo „WiFi“prisijungimo duomenis čia: char* ssid = "-jūsų-ssid--"; const char* slaptažodis = "-tavo-slaptažodis-"; // Įdėkite savo asmeninės prieigos raktą (https://support.gitkraken.com/developers/pats/) const char *bearer = "Nešėjas XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Jums taip pat reikės 2 „Adafruit“bibliotekų:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Ir šis nuostabus Arduino Json:
arduinojson.org/
Paaiškinimai
Iš šaltinio kodo sužinosite:
- kaip prisijungti prie HTTPS galinio taško
- kaip pateikti POST ar GET užklausą
- kaip serijizuoti JSON atsakymą, kad būtų gauti objektai ir masyvai
- kaip rodyti tekstą ir paveikslėlius „Nokia 5110“LCD ekrane
Jei norite sužinoti daugiau apie šią API:
support.gitkraken.com/developers/overview/
Šios užklausos gali veikti nuotoliniu būdu su bet kuria API, kuri naudoja POST ir GET užklausas:)
3 veiksmas: prisijunkite prie HTTPS svetainės
Šis pseudo kodas paaiškina, kaip prisijungti prie HTTPS svetainės. Pirmieji žingsniai yra tokie patys kaip ir a
„WiFiClient“klientas
bet su patvirtinimo žingsniu. Turite eiti į API galinį tašką, kurį norite patikrinti, ir patikrinti sertifikato SHA1 piršto atspaudą. Nukopijuokite įklijuokite jį kaip eilutę į savo kodą ir paskambinkite client.verify (pirštų atspaudai, hosturl).
„WiFiClientSecure“klientas;
// Prisijunkite prie „WiFi WiFi.mode“(WIFI_STA); WiFi.begin (ssid, slaptažodis); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serijinis atspaudas ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("nepavyko prisijungti"); grįžti; } if (client.verify (piršto atspaudas, priegloba)) {Serial.println ("sertifikatas atitinka"); } else {Serial.println ("sertifikatas neatitinka"); }
4 žingsnis: pateikite POST / GET užklausas
POST
Tai PTA užklausos pateikimo sintaksė:
Eilutė PostData = "{"; PostData += "\" text / ": \" mano pranešimas / ""; PostData += "}"; Serial.print (PostData); client.print (eilutė ("POST") + URL + "HTTP/1.1 / r / n" + "Priegloba:" + priegloba + "\ r / n" + "Autorizacija:" + nešiklis + "\ r / n" + "User-Agent: BuildFailureDetectESESP8266 / r / n" + "cache-control: no-cache / r / n" + "Turinio tipas: application/json / r / n" + "Turinio ilgis:" + PostData. ilgis () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("užklausa išsiųsta");
„PostData“yra duomenys, kuriuos siunčiate kaip JSON, šiuo atveju:
{
"text": "mano žinutė"}
URL kintamasis yra galinio taško URL, priegloba, svetainės URL, nešiklis yra API prieigos raktas.
GET
Tai yra GET užklausos pseudo kodas:
client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorizacija:" + nešėjas + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Ryšys: išlaikyti gyvybę / r / n / r / n"); Serial.println ("užklausa išsiųsta"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("gautos antraštės"); pertrauka; }} Styginių eilutė = client.readStringUntil ('\ n');
Šios komandos rezultatas bus išsaugotas eilutės kintamajame.
5 veiksmas: „JSON & NOKIA“LCD ekranas
Norėdami įgyvendinti panašų projektą, „Nokia 5110“skystųjų kristalų ekrane turėsite rodyti vaizdus, tekstus ir simbolius. Šią išsamią „Lastminuteengineers“mokymo programą galite peržiūrėti.
Norėdami valdyti JSON „Arduino C ++“, naudokite „ArduinoJson“svetainę, kuri jums viską pasakys!
Nesivaržykite paskelbti klausimų, jei turite klausimų, arba paskelbti tai, ką padarėte naudodami šį šaltinio kodą / mokymo programą.
Rekomenduojamas:
Prijungtas gėlių vazonas „Micro“: bit: 4 žingsniai
Prijungtas gėlių vazonas „Micro: bit“: šis vazonas pagamintas naudojant 3D spausdinimą ir jame yra „microbit“kortelė. Šiame puode yra „micro: bit“kortelė, esanti po dirvožemio talpykla. Tai gauna informaciją iš dirvožemio drėgmės jutiklio (laidumas). Dirvožemio drėgmės transkripcija va
Prijungtas namas: 4 žingsniai
Prijungti namai: Naudojant „arduinos“, žiniatinklio paslaugų, „Wi -Fi“jungiklių ir seno „Mac“derinį, jungiant jutiklius ir informaciją, galima valdyti aplinką ir perduoti informaciją žmogiškai. Tai nėra silpnapročių projektas, o techninis .T
NEO -6M GPS prijungtas prie „NodeMCU“- OLED ekrano padėtis - „Visuino“: 7 žingsniai
NEO -6M GPS prijungtas prie „NodeMCU“- OLED ekrano padėtis - „Visuino“: šioje pamokoje mes naudosime „NodeMCU Mini“, „OLED LCD“, „NEO -6M GPS“ir „Visuino“, kad LCD ekrane būtų rodoma tiesioginė GPS padėtis. Žiūrėkite demonstracinį vaizdo įrašą
Prie interneto prijungtas skaitmeninis laikrodis: 7 žingsniai
Prie interneto prijungtas skaitmeninis laikrodis: „Amazon“rado 10 USD vertės skaitmeninį laikrodį. Dabar pritaikykite jį, kad gautumėte laiko iš interneto
„Zwift“prie interneto prijungtas ventiliatorius: 7 žingsniai (su nuotraukomis)
„Internet“prijungtas „Zwift“ventiliatorius: sukūriau prie interneto prijungtą ventiliatorių, skirtą naudoti su „Zwift“- virtualia dviračių lenktynių žaidimo / treniruočių sistema. Kai važiuojate greičiau „Zwift“, ventiliatorius sukasi greičiau, kad imituotų važiavimo sąlygas lauke.;) Man buvo smagu tai sukurti, tikiuosi, kad jums patiks