Sadržaj:

Povezana štoperica: 5 koraka
Povezana štoperica: 5 koraka

Video: Povezana štoperica: 5 koraka

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

U ovom vodiču ćete saznati kako spojiti bilo koji Arduino kompatibilan uređaj, opremljen WiFi -em, na REST API -je! Ovo koristi web stranicu GitKraken Glo Board za stvaranje ploča, stupaca i kartica za organiziranje stvari!

Potrebno je neko znanje o tome kako javni API funkcionira. Ovaj projekt ima za cilj korištenje GitKraken Glo -ovog API -ja za praćenje vremena koje trošite na zadatke na vašim listama obaveza.

Na primjer, morate obaviti sljedeće zadatke:

- Piti kafu

Pritisnite start kada počnete, kada završite, pritisnite Done, i voilà, vrijeme koje provedete dobiva komentar.

Korak 1: Izgradite

Build
Build
Build
Build

Za izgradnju možete smisliti bilo šta. Mala štoperica bi bila odlična, ali nisam ništa sitno legao.

Dakle, kartonski i arkadni gumbi su bili pravi način!

Ploča koju sam koristio je ESP8266 WeMos D1 Mini. Ovo je jeftinije od Arduina i ima ugrađen WiFi!

Ekran je Nokia 5110 LCD.

n

Lista dijelova na AliExpressu:

  • Nokia 5110
  • 2 arkadna dugmeta
  • ESP8266
  • Žice za kratkospojnike
  • Kartonska kutija

No, u osnovi ga možete pronaći bilo gdje ili na drugim web stranicama poput Amazona ili eBaya.

Ukupni račun: 5 € 86

Pin pinovi:

ESP8266 WeMos D1 Mini, Nokia 5110 LCD

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

ESP8266 WeMos D1 Mini ↔ Arkadna dugmad

D3 (GPI18) ↔ Lijevo dugme

D4 (GPI17) ↔ Desno dugme

Drugi pin dugmeta je povezan sa masom (GND).

Korak 2: Kodirajte

Kod
Kod
Kod
Kod
Kod
Kod

Samo mi daj kod

Cijeli izvorni kod možete pronaći ovdje:

github.com/antoinech/glo-stopwatch

Da bi vam to uspjelo, morat ćete promijeniti ove varijable:

// Ovdje unesite svoje vjerodajnice za WiFiconcon char* ssid = "--your-ssid--"; const char* lozinka = "-vaša-lozinka--"; // Stavite svoj lični pristupni token (https://support.gitkraken.com/developers/pats/) const char *bearer = "Nosilac XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Trebat će vam i 2 biblioteke Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

I ovaj sjajni Arduino Json:

arduinojson.org/

Objašnjenja

U izvornom kodu ćete saznati:

  • kako se povezati na HTTPS krajnju tačku
  • kako napraviti POST ili GET zahtjev
  • kako serializirati JSON odgovor da biste dobili objekte i nizove
  • kako prikazati tekst i slike na Nokia 5110 LCD -u

Ako želite saznati više o ovom API -ju:

support.gitkraken.com/developers/overview/

Ovaj zahtjev može raditi s daljinskim upravljanjem bilo kojim API -jem koji koristi POST i GET zahtjeve:)

Korak 3: Povežite se s HTTPS web lokacijom

Ovaj pseudo-kôd objašnjava kako se spojiti na HTTPS web stranicu. Prvi koraci su isti kao kod a

WiFiClient klijent

ali sa korakom provjere. Morate otići do krajnje točke API -ja koju želite provjeriti i provjeriti SHA1 otisak prsta certifikata. Kopirajte ga zalijepite kao niz u svoj kôd i pozovite client.verify (otisak prsta, hosturl).

WiFiClientSecure klijent;

// Povežite se na WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, lozinka); while (WiFi.status ()! = WL_CONNECTED) {kašnjenje (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("povezivanje nije uspelo"); return; } if (client.verify (otisak prsta, host)) {Serial.println ("certifikati se podudaraju"); } else {Serial.println ("certifikat se ne podudara"); }

Korak 4: Učinite POST / GET zahtjeve

POŠTA

Ovo je sintaksa za postavljanje POST zahtjeva:

String PostData = "{"; PostData += "\" text / ": \" moja poruka / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorizacija:" + nosilac + "\ r / n" + "Korisnički agent: BuildFailureDetectorESP8266 / r / n" + "kontrola predmemorije: no-cache / r / n" + "Vrsta sadržaja: application/json / r / n" + "Sadržaj:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("zahtjev poslan");

PostData su podaci koje šaljete kao JSON, u ovom slučaju:

{

"text": "moja poruka"}

Url varijabla je URL krajnje tačke, host, URL web lokacije, nosilac je API pristupni token.

GET

Ovo je pseudo kod za GET zahtjev:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorizacija:" + nosilac + "\ r / n" + "Korisnički agent: BuildFailureDetectorESP8266 / r / n" + "Veza: održava-u životu / r / n / r / n"); Serial.println ("zahtjev poslan"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("primljena zaglavlja"); break; }} Linija niza = client.readStringUntil ('\ n');

Rezultat ove naredbe bit će pohranjen u linijskoj varijabli.

Korak 5: JSON & NOKIA LCD

Da biste postigli sličan projekat, morat ćete prikazati slike, tekstove i simbole na Nokia 5110 LCD -u. Ovaj detaljni vodič možete pogledati od prošlogodišnjih inženjera.

Za rukovanje JSON -om u Arduinu C ++ upotrijebite ArduinoJson web stranicu koja će vam reći sve o tome!

Ne ustručavajte se postaviti pitanja ako ih imate ili objavite ono što ste napravili s ovim izvornim kodom / vodičem.

Preporučuje se: