Taula de continguts:

Cronòmetre connectat: 5 passos
Cronòmetre connectat: 5 passos

Vídeo: Cronòmetre connectat: 5 passos

Vídeo: Cronòmetre connectat: 5 passos
Vídeo: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Desembre
Anonim
Cronòmetre connectat
Cronòmetre connectat
Cronòmetre connectat
Cronòmetre connectat
Cronòmetre connectat
Cronòmetre connectat

Hola, en aquest tutorial descobrireu com connectar qualsevol dispositiu compatible amb Arduino equipat amb WiFi a les API REST. Utilitzeu l'aplicació web GitKraken Glo Board per crear taulers, columnes i targetes per organitzar les coses.

Es necessita un cert coneixement de com funciona l'API pública. Aquest projecte està destinat a utilitzar l'API de GitKraken Glo per fer un seguiment del temps que dediqueu a tasques a les vostres llistes de tasques.

Per exemple, heu de fer aquestes tasques:

- Beure cafè

Premeu Start quan comenceu, quan hàgiu acabat, premeu Fet i voilà, es comentarà el temps que passeu.

Pas 1: construeix

Construeix
Construeix
Construeix
Construeix

Per construir, es pot pensar en qualsevol cosa. Un petit cronòmetre seria fantàstic, però no tenia res de petit.

Per tant, els botons de premsa de cartró i arcade eren el camí a seguir.

La placa que he utilitzat és un ESP8266 WeMos D1 Mini. És més barat que un Arduino i té WiFi a bord.

La pantalla és un Nokia 5110 LCD.

n

Llista de peces a AliExpress:

  • Nokia 5110
  • 2 botons arcade
  • ESP8266
  • Filferros de pont
  • Caixa de cartró

Però bàsicament el podeu trobar a qualsevol lloc o en altres llocs web com Amazon o eBay.

Factura global: 5 86 €

Connexions de pins:

ESP8266 WeMos D1 Mini ↔ LCD LCD Nokia 5110

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 CC
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ↔ 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini ↔ Botons Arcade

D3 (GPI18) ↔ Botó esquerre

D4 (GPI17) ↔ Botó dret

L'altre pin del botó està connectat a terra (GND).

Pas 2: Codi

Codi
Codi
Codi
Codi
Codi
Codi

Només cal que em doneu el codi

Podeu trobar el codi font complet aquí:

github.com/antoinech/glo-stopwatch

Perquè us funcioni, haureu de canviar aquestes variables:

// Posa les teves credencials WiFi hereconst char * ssid = "--our - ssid--"; const char * password = "--your - password--"; // Poseu el vostre testimoni d'accés personal (https://support.gitkraken.com/developers/pats/) const char * bearer = "Portador XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

També necessitareu 2 biblioteques Adafruit:

github.com/adafruit/Adafruit-GFX-Library

github.com/adafruit/Adafruit-PCD8544-Nokia…

I aquest impressionant Arduino Json:

arduinojson.org/

Explicacions

Al codi font trobareu:

  • com connectar-se a un punt final
  • com fer una sol·licitud POST o GET
  • com serialitzar una resposta JSON per obtenir objectes i matrius
  • com es mostren text i imatges en una pantalla LCD Nokia 5110

Si voleu obtenir més informació sobre aquesta API:

support.gitkraken.com/developers/overview/

Aquestes sol·licituds poden funcionar de forma remota amb qualsevol API que utilitzi sol·licituds POST i GET:)

Pas 3: connecteu-vos a un lloc web

Aquest pseudocodi explica com connectar-se a un lloc web HTTPS. Els seus primers passos són els mateixos que amb un

Client WiFiClient

però amb un pas de verificació. Heu d’anar al punt final de l’API que voleu verificar i comprovar l’empremta digital SHA1 del certificat. Copieu-lo, enganxeu-lo com una cadena al codi i truqueu client.verify (empremta digital, hosturl).

Client WiFiClientSecure;

// Connectar-se a WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, contrasenya); while (WiFi.status ()! = WL_CONNECTED) {demora (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("connexió fallida"); tornar; } if (client.verify (empremta digital, amfitrió)) {Serial.println ("coincidències del certificat"); } else {Serial.println ("el certificat no coincideix"); }

Pas 4: feu sol·licituds POST / GET

POST

Aquesta és la sintaxi per fer una sol·licitud POST:

String PostData = "{"; PostData + = "\" text / ": \" el meu missatge / ""; PostData + = "}"; Serial.print (PostData); client.print (Cadena ("POST") + url + "HTTP / 1.1 / r / n" + "Amfitrió:" + amfitrió + "\ r / n" + "Autorització:" + portador + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "control cache: no-cache / r / n" + "Content-Type: application / json / r / n" + "Content-Length:" + PostData. length () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("sol·licitud enviada");

les dades de correu són les dades que envieu com a JSON, en aquest cas:

{

"text": "el meu missatge"}

La variable URL és l'URL del punt final, l'amfitrió, l'URL del lloc web, el portador és el testimoni d'accés a l'API.

ACONSEGUIR

Aquest és el pseudocodi per a una sol·licitud GET:

client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Amfitrió:" + amfitrió + "\ r / n" + "Autorització:" + portador + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Connection: keep-alive / r / n / r / n"); Serial.println ("sol·licitud enviada"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (línia == "\ r") {Serial.println ("capçaleres rebudes"); trencar; }} String line = client.readStringUntil ('\ n');

El resultat d'aquesta ordre s'emmagatzemarà a la variable de línia.

Pas 5: LCD JSON i NOKIA

Per aconseguir un projecte similar, haureu de mostrar imatges, textos i símbols a la pantalla LCD del Nokia 5110. Podeu consultar aquest tutorial en profunditat dels enginyers d’última hora.

Per gestionar JSON a Arduino C ++, utilitzeu el lloc web ArduinoJson que us ho explicarà.

No dubteu a publicar preguntes si en teniu, o a publicar el que heu fet amb aquest codi font / tutorial.

Recomanat: