Indholdsfortegnelse:

Tilsluttet stopur: 5 trin
Tilsluttet stopur: 5 trin

Video: Tilsluttet stopur: 5 trin

Video: Tilsluttet stopur: 5 trin
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Tilsluttet stopur
Tilsluttet stopur
Tilsluttet stopur
Tilsluttet stopur
Tilsluttet stopur
Tilsluttet stopur

Hej! I denne vejledning finder du ud af, hvordan du tilslutter enhver Arduino -kompatibel enhed, udstyret med WiFi, til REST API'er! Dette bruger GitKraken Glo Board webapp til at oprette tavler, kolonner og kort til at organisere ting!

Der er brug for en vis viden om, hvordan offentlig API fungerer. Dette projekt er beregnet til at bruge GitKraken Glos API til at spore den tid, du bruger på opgaver på dine to Do -lister.

For eksempel skal du udføre disse opgaver:

- Drikke kaffe

Du trykker på start, når du starter, når du er færdig, trykker du på Udført, og voilà, den tid, du bruger, bliver kommenteret.

Trin 1: Byg

Byg
Byg
Byg
Byg

For at bygge kan du tænke på alt. Et lille stopur ville være fantastisk, men jeg lagde ikke noget lille rundt.

Så trykknapper i pap og arkade var vejen frem!

Tavlen jeg brugte er en ESP8266 WeMos D1 Mini. Dette er billigere end en Arduino og har WiFi ombord!

Skærmen er en Nokia 5110 LCD.

n

Reservedelsliste på AliExpress:

  • Nokia 5110
  • 2 arkadeknapper
  • ESP8266
  • Jumper ledninger
  • Papkasse

Men du kan dybest set finde det overalt eller på andre websteder som Amazon eller eBay.

Samlet regning: 5 € 86

Pins forbindelser:

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 ↔ Arcade -knapper

D3 (GPI18) ↔ Venstre knap

D4 (GPI17) ↔ Højre knap

Knappens anden pin er forbundet til jorden (GND).

Trin 2: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Giv mig bare koden

Du kan finde den fulde kildekode her:

github.com/antoinech/glo-stopwatch

For at få det til at fungere for dig, skal du ændre disse variabler:

// Sæt dine WiFi-legitimationsoplysninger hereconst char* ssid = "--your-ssid--"; const char* password = "-din-password-"; // Sæt dit personlige adgangstoken (https://support.gitkraken.com/developers/pats/) const char *bearer = "Bærer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Du skal også bruge 2 Adafruit -biblioteker:

github.com/adafruit/Adafruit-GFX-Library

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

Og denne fantastiske Arduino Json:

arduinojson.org/

Forklaringer

I kildekoden finder du ud af:

  • hvordan du opretter forbindelse til et HTTPS -slutpunkt
  • hvordan man laver en POST eller en GET -anmodning
  • hvordan man serialiserer et JSON -svar for at hente objekter og arrays
  • hvordan man viser tekst og billeder i en Nokia 5110 LCD

Hvis du vil lære mere om denne API:

support.gitkraken.com/developers/overview/

Denne anmodning kan fungere eksternt med enhver API, der bruger POST- og GET -anmodninger:)

Trin 3: Opret forbindelse til et HTTPS -websted

Denne pseudokode forklarer dig, hvordan du opretter forbindelse til et HTTPS-websted. Dens første trin er de samme som med en

WiFiClient -klient

men med et verifikationstrin. Du skal gå til det API -slutpunkt, du vil kontrollere, og kontrollere certifikatets SHA1 -fingeraftryk. Kopier indsæt den som en streng i din kode, og ring til client.verify (fingeraftryk, hosturl).

WiFiClientSecure klient;

// Opret forbindelse til WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, adgangskode); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (500); Serial.print ("."); } hvis (! client.connect (host, httpsPort)) {Serial.println ("forbindelsen mislykkedes"); Vend tilbage; } if (client.verify (fingeraftryk, vært)) {Serial.println ("certifikat matcher"); } else {Serial.println ("certifikat matcher ikke"); }

Trin 4: Indgiv POST / GET -anmodninger

STOLPE

Dette er syntaksen til at lave en POST -anmodning:

String PostData = "{"; PostData += "\" tekst / ": \" min besked / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorisation:" + bærer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("anmodning sendt");

PostData er de data, du sender som JSON, i dette tilfælde:

{

"text": "min besked"}

URL -variablen er slutpunktets url, vært, webstedets url, bærer er API -adgangstokenet.

Dette er pseudokoden for en GET-anmodning:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorisation:" + bærer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Connection: keep-alive / r / n / r / n"); Serial.println ("anmodning sendt"); mens (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("overskrifter modtaget"); pause; }} String line = client.readStringUntil ('\ n');

Resultatet af denne kommando vil blive gemt i linievariablen.

Trin 5: JSON & NOKIA LCD

For at opnå et lignende projekt skal du vise billeder, tekster og symboler til Nokia 5110 LCD. Du kan se denne In Depth Tutorial fra lastminuteengineers.

For at håndtere JSON i Arduino C ++ skal du bruge ArduinoJson -webstedet, der fortæller dig alt om det!

Tøv ikke med at stille spørgsmål, hvis du har nogen, eller post hvad du lavede med denne kildekode / tutorial.

Anbefalede: