Cuprins:
- Pasul 1: Construiți
- Pasul 2: Cod
- Pasul 3: conectați-vă la un site web
- Pasul 4: Faceți cereri POST / GET
- Pasul 5: LCD JSON & NOKIA
Video: Cronometru conectat: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Bună ziua! În acest tutorial veți afla cum să conectați orice dispozitiv compatibil Arduino, echipat cu WiFi, la API-urile REST! Aceasta folosește aplicația web GitKraken Glo Board pentru a crea tablouri, coloane și carduri pentru a organiza lucrurile!
Este necesară o anumită cunoaștere a modului în care funcționează API-ul public. Acest proiect este menit să utilizeze API-ul GitKraken Glo pentru a urmări timpul petrecut pe sarcini pe listele dvs. de făcut.
De exemplu, trebuie să faceți următoarele sarcini:
- Beau cafea
Apăsați Start când începeți, când ați terminat, apăsați Terminat și voilà, timpul petrecut este comentat.
Pasul 1: Construiți
Pentru a construi, vă puteți gândi la orice. Un mic cronometru ar fi grozav, dar nu am făcut nimic mic.
Deci butoanele din carton și arcade erau calea de urmat!
Placa pe care am folosit-o este un ESP8266 WeMos D1 Mini. Acesta este mai ieftin decât un Arduino și are WiFi la bord!
Ecranul este un LCD Nokia 5110.
n
Lista pieselor pe AliExpress:
- Nokia 5110
- 2 butoane arcade
- ESP8266
- Sârme de jumper
- Cutie de carton
Dar, practic, îl puteți găsi oriunde sau pe alte site-uri web, cum ar fi Amazon sau eBay.
Factură totală: 5 € 86
Conexiuni pin:
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 ↔ Butoane Arcade
D3 (GPI18) ↔ Butonul stânga
D4 (GPI17) ↔ Butonul din dreapta
Celălalt pin al butonului este conectat la masă (GND).
Pasul 2: Cod
Doar dă-mi codul
Puteți găsi codul sursă complet aici:
github.com/antoinech/glo-stopwatch
Pentru ca acesta să funcționeze pentru dvs., va trebui să modificați aceste variabile:
// Puneți acreditările WiFi hereconst char * ssid = "--your - ssid--"; const char * password = "--your - password--"; // Puneți-vă jetonul de acces personal (https://support.gitkraken.com/developers/pats/) const char * bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
De asemenea, veți avea nevoie de 2 biblioteci Adafruit:
github.com/adafruit/Adafruit-GFX-Library
github.com/adafruit/Adafruit-PCD8544-Nokia…
Și acest minunat Arduino Json:
arduinojson.org/
Explicații
În codul sursă veți afla:
- cum să vă conectați la un punct final
- cum se face o cerere POST sau GET
- cum să serializăm un răspuns JSON pentru a obține obiecte și tablouri
- cum să afișați text și imagini pe un ecran LCD Nokia 5110
Dacă doriți să aflați mai multe despre acest API:
support.gitkraken.com/developers/overview/
Aceste solicitări pot funcționa de la distanță cu orice API care utilizează cereri POST și GET:)
Pasul 3: conectați-vă la un site web
Acest pseudo-cod vă explică cum să vă conectați la un site web HTTPS. Primii pași sunt aceiași ca la un
Client WiFiClient
dar cu un pas de verificare. Trebuie să mergeți la punctul final API pe care doriți să îl verificați și să verificați amprenta SHA1 a certificatului. Copiați lipiți-l ca șir în codul dvs. și apelați client.verify (amprentă, hosturl).
Client WiFiClientSecure;
// Conectați-vă la WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, parolă); while (WiFi.status ()! = WL_CONNECTED) {întârziere (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("conexiunea a eșuat"); întoarcere; } if (client.verify (amprentă digitală, gazdă)) {Serial.println ("potriviri certificate"); } else {Serial.println ("certificatul nu se potrivește"); }
Pasul 4: Faceți cereri POST / GET
POST
Aceasta este sintaxa pentru a efectua o cerere POST:
String PostData = "{"; PostData + = "\" text / ": \" mesajul meu / ""; PostData + = "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP / 1.1 / r / n" + "Gazdă:" + gazdă + "\ r / n" + "Autorizare:" + purtător + "\ 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 („cerere trimisă”);
PostData este datele pe care le trimiteți ca JSON, în acest caz:
{
"text": "mesajul meu"}
Variabila URL este adresa URL a punctului final, gazda, adresa URL a site-ului web, purtătorul este simbolul de acces API.
OBȚINE
Acesta este pseudo-codul pentru o cerere GET:
client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Gazdă:" + gazdă + "\ r / n" + "Autorizare:" + purtător + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Conexiune: păstrare în viață / r / n / r / n"); Serial.println („cerere trimisă”); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("anteturi primite"); pauză; }} Linie șir = client.readStringUntil ('\ n');
Rezultatul acestei comenzi va fi stocat în variabila de linie.
Pasul 5: LCD JSON & NOKIA
Pentru a realiza un proiect similar, va trebui să afișați imagini, texte și simboluri pe ecranul LCD Nokia 5110. Puteți consulta acest tutorial în profunzime de la inginerii de ultimă oră.
Pentru a gestiona JSON în Arduino C ++, utilizați site-ul web ArduinoJson care vă va spune totul despre asta!
Nu ezitați să postați întrebări dacă aveți, sau să publicați ceea ce ați făcut cu acest cod sursă / tutorial.
Recomandat:
Sistem de irigare prin picurare conectat la internet controlat de feedback al umidității solului (ESP32 și Blynk): 5 pași
Sistemul de irigare prin picurare conectat la internet controlat de umiditatea solului (ESP32 și Blynk): vă faceți griji în legătură cu grădina sau plantele dvs. atunci când mergeți în vacanțe lungi, sau uitați să vă udați planta zilnic. Ei bine, iată soluția. Este un sistem de irigare prin picurare controlat de umiditatea solului și conectat la nivel global controlat de ESP32 pe software-ul frontal i
Asigurați-vă propriul termostat de încălzire conectat și faceți economii cu încălzirea: 53 de pași (cu imagini)
Asigurați-vă propriul termostat de încălzire conectat și faceți economii cu încălzirea: Care este scopul? Sporiți confortul încălzind casa exact așa cum doriți. Economisiți și reduceți emisiile de gaze cu efect de seră încălzind casa numai atunci când aveți nevoie Păstrați controlul asupra încălzirii oriunde vă aflați Fii mândru că ai făcut-o
Controlul unui televizor și a Raspberry Pi conectat cu aceeași telecomandă: 4 pași
Controlul unui televizor și Raspberry Pi conectat cu aceeași telecomandă: Pentru a controla un Raspberry Pi cu telecomandă cu infraroșu, am putut folosi LIRC. Acest lucru a funcționat până la Kernel 4.19.X, când a devenit mult mai dificil să faci LIRC să funcționeze. În acest proiect avem un Raspberry Pi 3 B + conectat la un televizor și noi
Găsiți parola WLAN (trebuie doar să fiți conectat): 4 pași
Găsiți parola WLAN (trebuie doar să fiți conectat): ceea ce vreau să vă arăt astăzi este de fapt doar o comandă. Cu toate acestea, vă puteți păcăli și prietenii! Atenție: Acesta nu este un hack pentru a hack o parolă wlan. Este doar o modalitate de a afla parola wlan a wlan-ului conectat
MOS - IoT: Sistemul dvs. Fogponic conectat: 4 pași
MOS - IoT: Sistemul dvs. Fogponic conectat: Atenuarea șocului de către Superflux: Site-ul nostru Acest Instructables este continuitatea sistemului Fogponic. Aici, veți putea avea mai multe opțiuni pentru a măsura datele de pe computerul dvs. de sere și pentru a controla mai multe operațiuni precum wate