Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Tere! Selles õpetuses saate teada, kuidas ühendada mis tahes Arduinoga ühilduv seade, mis on varustatud WiFi -ga, REST API -dega! Kasutage GitKraken Glo Board veebirakendust, et luua tahvleid, veerge ja kaarte asjade korraldamiseks!
Vaja on mõningaid teadmisi avaliku API toimimise kohta. Selle projekti eesmärk on kasutada GitKraken Glo API -d, et jälgida aega, mida kulutate ülesannete loendites ülesannetele.
Näiteks peate tegema järgmised ülesanded:
- Joo kohvi
Kui alustate, vajutate nuppu Start, kui olete lõpetanud, vajutate nuppu Valmis ja voilà, teie kulutatud aega kommenteeritakse.
Samm: ehitage
Ehitamiseks võite mõelda kõigele. Väike stopper oleks suurepärane, kuid ma ei teinud midagi väikest.
Nii et papp ja arkaadnupud olid õige tee!
Tahvel, mida ma kasutasin, on ESP8266 WeMos D1 Mini. See on odavam kui Arduino ja sellel on WiFi!
Ekraan on Nokia 5110 LCD.
n
Osade loend AliExpressis:
- Nokia 5110
- 2 arcade nuppu
- ESP8266
- Jumper juhtmed
- Pappkast
Kuid põhimõtteliselt leiate selle kõikjalt või muudelt veebisaitidelt, nagu Amazon või eBay.
Koguarve: 5 € 86
Tihvtide ühendused:
ESP8266 WeMos D1 Mini või Nokia 5110 LCD
- D2 (GPIO4) ↔ 0 RST
- D1 (GPIO5) ↔ 1 CE
- D6 (GPIO12) ↔ 2 DC
- D7 (GPIO13) ↔ 3 DIN
- D5 (GPIO14) ↔ 4 CLK
- 3V3 kuni 5 VCC
- D0 (GPIO16) ↔ 6 BL
- G (GND) ↔ 7 GND
ESP8266 WeMos D1 Mini ja arkaadnupud
D3 (GPI18) ↔ vasak nupp
D4 (GPI17): parempoolne nupp
Nupu teine tihvt on maandusega ühendatud (GND).
2. samm: kood
Lihtsalt anna mulle kood
Täieliku lähtekoodi leiate siit:
github.com/antoinech/glo-stopwatch
Et see teie jaoks toimiks, peate muutma järgmisi muutujaid:
// Pange oma WiFi volikirjad siiacon* ssid = "-teie-ssid--"; const char* parool = "-sinu-parool--"; // Pane oma isiklik juurdepääsuluba (https://support.gitkraken.com/developers/pats/) const char *bearer = "Kandja XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Teil on vaja ka kahte Adafruit raamatukogu:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Ja see suurepärane Arduino Json:
arduinojson.org/
Selgitused
Lähtekoodist saate teada:
- kuidas luua ühendus HTTPS -i lõpp -punktiga
- kuidas teha POST- või GET -päringut
- kuidas järjestada JSON -vastust objektide ja massiivide saamiseks
- kuidas kuvada teksti ja pilte Nokia 5110 LCD -ekraanil
Kui soovite selle API kohta rohkem teada saada:
support.gitkraken.com/developers/overview/
Need taotlused võivad töötada eemalt mis tahes API -ga, mis kasutab POST- ja GET -päringuid:)
Samm: looge ühendus HTTPS -i veebisaidiga
See pseudokood selgitab teile, kuidas HTTPS-i veebisaidiga ühenduse luua. Selle esimesed sammud on samad, mis a -ga
WiFiClient klient
kuid kinnitamisetapiga. Peate minema API lõpp -punkti, mida soovite kontrollida, ja kontrollima sertifikaadi SHA1 sõrmejälge. Kopeerige see koodina stringina ja helistage client.verify (sõrmejälg, hosturl).
WiFiClientSecure klient;
// Ühenda WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, parool); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Seeria.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("ühendus nurjus"); tagasipöördumine; } if (client.verify (sõrmejälg, host)) {Serial.println ("sertifikaat sobib"); } else {Serial.println ("sertifikaat ei sobi"); }
4. samm: esitage POST / GET taotlused
POSTITA
See on POST -päringu esitamise süntaks:
String PostData = "{"; PostData += "\" text / ": \" minu sõnum / ""; Postiandmed += "}"; Serial.print (PostData); client.print (String ("POST") + URL + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autoriseerimine:" + kandja + "\ r / n" + "User-Agent: BuildFailureDetectESESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. pikkus () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("päring saadetud");
PostData on andmed, mille saadate JSONina, antud juhul:
{
"text": "minu sõnum"}
URL -i muutuja on lõpp -punkti URL, host, veebisaidi URL, kandja on API juurdepääsuluba.
GET
See on GET-päringu pseudokood:
client.print (String ("GET") + URL + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Autoriseerimine:" + kandja + "\ r / n" + "Kasutajaagent: BuildFailureDetectESESP8266 / r / n" + "Ühendus: hoidke elus / r / n / r / n"); Serial.println ("päring saadetud"); while (client.connected ()) {Stringirida = klient.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("päised saadud"); murda; }} Stringirida = client.readStringUntil ('\ n');
Selle käsu tulemus salvestatakse rea muutujale.
Samm: JSON & NOKIA LCD
Sarnase projekti saavutamiseks peate Nokia 5110 LCD -ekraanile kuvama pilte, tekste ja sümboleid. Seda saate vaadata lastminuteengineersi põhjalikust õpetusest.
JSON -i käsitsemiseks Arduino C ++ -is kasutage ArduinoJsoni veebisaiti, mis räägib teile sellest kõigest!
Kui teil on küsimusi, postitage julgelt küsimusi või postitage selle lähtekoodi / õpetuse abil tehtud tööd.