Kazalo:

Povezana štoparica: 5 korakov
Povezana štoparica: 5 korakov

Video: Povezana štoparica: 5 korakov

Video: Povezana štoparica: 5 korakov
Video: Алгоритм успеха. 5 шагов 2024, December
Anonim
Povezana štoparica
Povezana štoparica
Povezana štoparica
Povezana štoparica
Povezana štoparica
Povezana štoparica

Pozdravljeni! V tej vadnici boste izvedeli, kako katero koli Arduino združljivo napravo, opremljeno z WiFi, povezati z REST API -ji! S to spletno stranjo GitKraken Glo Board ustvarite deske, stolpce in kartice za organiziranje stvari!

Potrebno je nekaj znanja o tem, kako deluje javni API. Ta projekt je namenjen uporabi API -ja GitKraken Glo za spremljanje časa, ki ga porabite za opravila na seznamih opravil.

Na primer, morate opraviti ta opravila:

- Pij kavo

Ko začnete, pritisnete start, ko končate, pritisnete Done in voilà, čas, ki ga porabite, bo komentiran.

1. korak: Zgradite

Zgradite
Zgradite
Zgradite
Zgradite

Za gradnjo si lahko omislite karkoli. Majhna štoparica bi bila super, vendar nisem nič malega ležal naokoli.

Tako so bili kartonski in arkadni gumbi prava pot!

Plošča, ki sem jo uporabil, je ESP8266 WeMos D1 Mini. To je ceneje kot Arduino in ima vgrajen WiFi!

Zaslon je LCD zaslon Nokia 5110.

n

Seznam delov na AliExpressu:

  • Nokia 5110
  • 2 arkadna gumba
  • ESP8266
  • Mostične žice
  • Kartonska škatla

Lahko pa ga v bistvu najdete kjer koli ali na drugih spletnih mestih, kot sta Amazon ali eBay.

Skupni račun: 5 € 86

Zatiči:

ESP8266 WeMos D1 Mini, Nokia 5110 LCD

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 enosmerna
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3, 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini ↔ Arkadni gumbi

D3 (GPI18) ↔ Levi gumb

D4 (GPI17) ↔ Desni gumb

Drugi pin gumba je povezan z maso (GND).

2. korak: Koda

Koda
Koda
Koda
Koda
Koda
Koda

Daj mi samo kodo

Celotno izvorno kodo najdete tukaj:

github.com/antoinech/glo-stopwatch

Če želite, da vam deluje, morate spremeniti te spremenljivke:

// Vnesite poverilnice WiFi tukaj const char* ssid = "--your-ssid--"; const char* geslo = "-vaše-geslo--"; // Vnesite svoj osebni žeton za dostop (https://support.gitkraken.com/developers/pats/) const char *bearer = "Nosilec XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Potrebovali boste tudi 2 knjižnici Adafruit:

github.com/adafruit/Adafruit-GFX-Library

github.com/adafruit/Adafruit-PCD8544-Nokia…

In ta super Arduino Json:

arduinojson.org/

Pojasnila

V izvorni kodi boste izvedeli:

  • kako se povezati s končno točko
  • kako narediti zahtevo POST ali GET
  • kako serializirati odziv JSON za pridobivanje predmetov in nizov
  • kako prikazati besedilo in slike na LCD zaslonu Nokia 5110

Če želite izvedeti več o tem API -ju:

support.gitkraken.com/developers/overview/

Ta zahteva bi lahko delovala z oddaljenim API -jem, ki uporablja zahteve POST in GET:)

3. korak: Povežite se s spletnim mestom

Ta psevdo koda vam razlaga, kako se povežete s spletnim mestom HTTPS. Prvi koraki so enaki kot pri a

Odjemalec WiFiClient

vendar s korakom preverjanja. Pojdite na končno točko API, ki jo želite preveriti, in preverite prstni odtis SHA1 potrdila. Kopirajte ga prilepite kot niz v kodo in pokličite client.verify (prstni odtis, hosturl).

Odjemalec WiFiClientSecure;

// Poveži se z WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, geslo); while (WiFi.status ()! = WL_CONNECTED) {zamuda (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("povezava ni uspela"); vrnitev; } if (client.verify (fingerprint, host)) {Serial.println ("certifikati se ujemajo"); } else {Serial.println ("potrdilo se ne ujema"); }

4. korak: Pošljite zahteve POST / GET

POST

To je sintaksa za zahtevo POST:

Niz PostData = "{"; PostData += "\" besedilo / ": \" moje sporočilo / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Gostitelj:" + gostitelj + "\ r / n" + "Pooblastilo:" + nosilec + "\ r / n" + "Uporabniški agent: BuildFailureDetectorESP8266 / r / n" + "nadzor predpomnilnika: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("zahteva poslana");

PostData so podatki, ki jih pošljete kot JSON, v tem primeru:

{

"text": "moje sporočilo"}

Spremenljivka url je URL končne točke, gostitelj, URL spletnega mesta, nosilec je žeton za dostop do API -ja.

DOBI

To je psevdo koda za zahtevo GET:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Gostitelj:" + gostitelj + "\ r / n" + "Pooblastilo:" + nosilec + "\ r / n" + "Uporabniški agent: BuildFailureDetectorESP8266 / r / n" + "Povezava: ohraniti živ / r / n / r / n"); Serial.println ("zahteva poslana"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (vrstica == "\ r") {Serial.println ("prejete glave"); prekiniti; }} Vrstica niza = client.readStringUntil ('\ n');

Rezultat tega ukaza bo shranjen v spremenljivki vrstice.

5. korak: JSON & NOKIA LCD

Za dosego podobnega projekta boste morali prikazati slike, besedila in simbole na LCD -prikazovalniku Nokia 5110. To poglobljeno vadnico si lahko ogledate pri lastminuteen inženirjih.

Če želite upravljati JSON v Arduinu C ++, uporabite spletno mesto ArduinoJson, ki vam bo povedalo vse o tem!

Ne oklevajte in objavite vprašanja, če jih imate, ali objavite, kar ste naredili s to izvorno kodo / vadnico.

Priporočena: