Cuprins:

Cronometru conectat: 5 pași
Cronometru conectat: 5 pași

Video: Cronometru conectat: 5 pași

Video: Cronometru conectat: 5 pași
Video: HOW to Turn OFF 📶5 GHz to Connect Smart Devices to 2.4 GHz 2024, Noiembrie
Anonim
Cronometru conectat
Cronometru conectat
Cronometru conectat
Cronometru conectat
Cronometru conectat
Cronometru conectat

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

Construi
Construi
Construi
Construi

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

Cod
Cod
Cod
Cod
Cod
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: