Indholdsfortegnelse:
- Trin 1: Byg
- Trin 2: Kode
- Trin 3: Opret forbindelse til et HTTPS -websted
- Trin 4: Indgiv POST / GET -anmodninger
- Trin 5: JSON & NOKIA LCD
Video: Tilsluttet stopur: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
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
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
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.
FÅ
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:
Smart B.A.L (tilsluttet postkasse): 4 trin
Smart B.A.L (tilsluttet postkasse): Du er træt af at tjekke hver gang din postkasse, mens der ikke er noget indeni. Du vil vide, om du modtager din mail eller en pakke under en rejse. Så den tilsluttede postkasse er noget for dig. Det giver dig besked, hvis postbudet har deponeret en mail eller et par
Tilsluttet orienteringsarmbånd: 6 trin
Connected Orientation Bracelet: Dette akademiske projekt, det tilsluttede orienteringsarmbånd, blev realiseret af fire studerende fra ingeniørskolen Polytech Paris-UPMC: S é bastien Potet, Pauline Pham, Kevin Antunes og Boris Bras. Hvad er vores projekt? I løbet af et semester
Styring af et tv og tilsluttet Raspberry Pi med den samme fjernbetjening: 4 trin
Styring af et tv og tilsluttet Raspberry Pi med den samme fjernbetjening: For at styre en Raspberry Pi med infrarød fjernbetjening plejede vi at kunne bruge LIRC. Det plejede at fungere indtil Kernel 4.19.X, da det blev meget mere udfordrende at få LIRC til at fungere. I dette projekt har vi en Raspberry Pi 3 B+ tilsluttet et tv, og vi
Find WLAN -adgangskode (skal bare være tilsluttet): 4 trin
Find WLAN -adgangskode (skal bare have forbindelse): Det, jeg vil vise dig i dag, er faktisk bare en kommando. Du kan dog også prakke dine venner med det! OBS: Dette er ikke et hack til at hacke en wlan -adgangskode. Det er kun en måde at finde ud af wlan -adgangskoden til den tilsluttede wlan
Tilsluttet urtepotte til mikro: bit: 4 trin
Tilsluttet urtepotte til Micro: bit: Denne urtepotte er lavet med 3D -print og har et mikrobitkort i. Denne gryde indeholder et micro: bit -kort, der er placeret under jordbeholderen. Dette modtager oplysningerne fra jordfugtighedsføleren (ledningsevne). Transskription af jordfugtighedsværdien