Turinys:

Prijungtas chronometras: 5 žingsniai
Prijungtas chronometras: 5 žingsniai

Video: Prijungtas chronometras: 5 žingsniai

Video: Prijungtas chronometras: 5 žingsniai
Video: Donatas Gudelis: 5 žingsniai sėkmingai e. parduotuvės plėtrai užsienyje 2024, Lapkritis
Anonim
Prijungtas chronometras
Prijungtas chronometras
Prijungtas chronometras
Prijungtas chronometras
Prijungtas chronometras
Prijungtas chronometras

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

Statyti
Statyti
Statyti
Statyti

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

Kodas
Kodas
Kodas
Kodas
Kodas
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: