Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Hei! Tässä opetusohjelmassa saat selville, kuinka voit liittää minkä tahansa Arduino -yhteensopivan laitteen, jossa on WiFi, REST -sovellusliittymiin! Käytä GitKraken Glo Board -sovellusta luomaan tauluja, sarakkeita ja kortteja asioiden järjestämiseen!
Jotain tietoa julkisen sovellusliittymän toiminnasta tarvitaan. Tämä projekti on tarkoitettu käyttämään GitKraken Glo -sovellusliittymää tehtävälistojen tehtäviin käyttämäsi ajan seurantaan.
Sinun on esimerkiksi tehtävä seuraavat tehtävät:
- Juoda kahvia
Kun painat Start -painiketta, kun aloitat, kun olet valmis, painat Valmis, ja voilà, käyttämäsi aika kommentoidaan.
Vaihe 1: Rakenna
Rakentamiseen voi ajatella mitä tahansa. Pieni sekuntikello olisi hienoa, mutta en tehnyt mitään pientä.
Joten pahvi ja arcade -painikkeet olivat oikea tapa!
Käytetty levy on ESP8266 WeMos D1 Mini. Tämä on halvempaa kuin Arduino, ja siinä on WiFi!
Näyttö on Nokia 5110 LCD.
n
Osaluettelo AliExpressissä:
- Nokia 5110
- 2 arcade -painiketta
- ESP8266
- Hyppyjohdot
- Pahvilaatikko
Mutta voit periaatteessa löytää sen mistä tahansa tai muilta sivustoilta, kuten Amazon tai eBay.
Kokonaislasku: 5 € 86
Liitännät:
ESP8266 WeMos D1 Mini ja 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 -painikkeet
D3 (GPI18) ↔ Vasen painike
D4 (GPI17) ↔ Oikea painike
Painikkeen toinen nasta on kytketty maahan (GND).
Vaihe 2: Koodi
Anna vain koodi
Löydät koko lähdekoodin täältä:
github.com/antoinech/glo-stopwatch
Jotta se toimisi sinulle, sinun on muutettava nämä muuttujat:
// Laita WiFi-kirjautumistietosi tähän: char* ssid = "-sinun-ssid--"; const char* password = "-sinun-salasanasi-"; // Laita henkilökohtainen käyttöoikeustunnuksesi (https://support.gitkraken.com/developers/pats/) const char *bearer = "Kantaja XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Tarvitset myös kaksi Adafruit -kirjastoa:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Ja tämä mahtava Arduino Json:
arduinojson.org/
Selitykset
Lähdekoodista saat selville:
- kuinka muodostaa yhteys HTTPS -päätepisteeseen
- kuinka tehdä POST- tai GET -pyyntö
- kuinka sarjoittaa JSON -vastaus objekteja ja matriiseja varten
- kuinka näyttää tekstiä ja kuvia Nokia 5110 LCD -näytössä
Jos haluat lisätietoja tästä sovellusliittymästä:
support.gitkraken.com/developers/overview/
Nämä pyynnöt voivat toimia etäyhteydessä minkä tahansa sovellusliittymän kanssa, joka käyttää POST- ja GET -pyyntöjä:)
Vaihe 3: Muodosta yhteys HTTPS -verkkosivustoon
Tämä pseudokoodi selittää, miten muodostat yhteyden HTTPS-verkkosivustoon. Sen ensimmäiset vaiheet ovat samat kuin kohdassa
WiFiClient -asiakas
mutta vahvistusvaiheella. Sinun on siirryttävä API -päätepisteeseen, jonka haluat vahvistaa, ja tarkista varmenteen SHA1 -sormenjälki. Kopioi ja liitä se merkkijonoksi koodiin ja soita client.verify (sormenjälki, hosturl).
WiFiClientSecure -asiakas;
// Yhdistä WiFi WiFi -tilaan (WIFI_STA); WiFi.begin (ssid, salasana); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } if (! client.connect (isäntä, httpsPort)) {Serial.println ("yhteys epäonnistui"); palata; } if (client.verify (sormenjälki, isäntä)) {Serial.println ("sertifikaatti vastaa"); } else {Serial.println ("varmenne ei täsmää"); }
Vaihe 4: Tee POST / GET -pyynnöt
LÄHETTÄÄ
Tämä on syntaksi POST -pyynnön tekemiselle:
Jono PostData = "{"; PostData += "\" text / ": \" viestini / ""; PostData += "}"; Serial.print (PostData); client.print (Merkkijono ("POST") + url + "HTTP/1.1 / r / n" + "Isäntä:" + isäntä + "\ r / n" + "Valtuutus:" + kantaja + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. pituus () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("pyyntö lähetetty");
PostData on tiedot, jotka lähetät JSON -muodossa, tässä tapauksessa:
{
"text": "viestini"}
URL -muuttuja on päätepisteen URL -osoite, isäntä, verkkosivuston URL -osoite, siirtotie on sovellusliittymän käyttöoikeustunnus.
SAADA
Tämä on GET-pyynnön pseudokoodi:
client.print (Merkkijono ("GET") + url + "HTTP/1.1 / r / n" + "Isäntä:" + isäntä + "\ r / n" + "Valtuutus:" + siirtotie + "\ r / n" + "Käyttäjäagentti: BuildFailureDetectorESP8266 / r / n" + "Yhteys: pidä hengissä / r / n / r / n"); Serial.println ("pyyntö lähetetty"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("otsikot vastaanotettu"); tauko; }} Merkkijono = client.readStringUntil ('\ n');
Tämän komennon tulos tallennetaan rivimuuttujaan.
Vaihe 5: JSON & NOKIA LCD
Jotta voit saavuttaa samanlaisen projektin, sinun on näytettävä kuvia, tekstejä ja symboleja Nokia 5110 LCD -näytöllä.
Käyttääksesi JSONia Arduino C ++: ssa, käytä ArduinoJson -verkkosivustoa, joka kertoo sinulle kaiken!
Älä epäröi lähettää kysymyksiä, jos sinulla on kysymyksiä, tai julkaista tekemäsi tämän lähdekoodin / opetusohjelman avulla.