Tabla de contenido:

Cronómetro conectado: 5 pasos
Cronómetro conectado: 5 pasos

Video: Cronómetro conectado: 5 pasos

Video: Cronómetro conectado: 5 pasos
Video: Conexión y Programación de un Interruptor Horario / Bien Explicado. 2024, Noviembre
Anonim
Cronómetro conectado
Cronómetro conectado
Cronómetro conectado
Cronómetro conectado
Cronómetro conectado
Cronómetro conectado

Hola, en este tutorial descubrirás cómo conectar cualquier dispositivo compatible con Arduino, equipado con WiFi, a las API REST. ¡Utilice la aplicación web GitKraken Glo Board para crear tableros, columnas y tarjetas para organizar las cosas!

Se necesita algún conocimiento de cómo funciona la API pública. Este proyecto está destinado a utilizar la API de GitKraken Glo para realizar un seguimiento del tiempo que dedica a las tareas de sus listas de tareas pendientes.

Por ejemplo, tienes que hacer estas tareas:

- Beber café

Presionas inicio cuando comienzas, cuando terminas, presionas Listo, y listo, se comenta el tiempo que pasas.

Paso 1: construir

Construir
Construir
Construir
Construir

Para construir, puedes pensar en cualquier cosa. Un pequeño cronómetro sería genial, pero no tenía nada pequeño por ahí.

¡Así que los botones de cartón y arcade eran el camino a seguir!

La placa que utilicé es una ESP8266 WeMos D1 Mini. ¡Es más barato que un Arduino y tiene WiFi a bordo!

La pantalla es una LCD Nokia 5110.

norte

Lista de piezas en AliExpress:

  • Nokia 5110
  • 2 botones de arcade
  • ESP8266
  • Cables de puente
  • Caja de cartón

Pero básicamente puedes encontrarlo en cualquier lugar o en otros sitios web como Amazon o eBay.

Factura total: 5 86 €

Conexiones de pines:

ESP8266 WeMos D1 Mini ↔ Nokia 5110 LCD

  • 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 (TIERRA) ↔ 7 TIERRA

ESP8266 WeMos D1 Mini ↔ Botones de arcade

D3 (GPI18) ↔ Botón izquierdo

D4 (GPI17) ↔ Botón derecho

El otro pin del botón está conectado a tierra (GND).

Paso 2: Código

Código
Código
Código
Código
Código
Código

¡Solo dame el código

Puede encontrar el código fuente completo aquí:

github.com/antoinech/glo-stopwatch

Para que funcione para usted, deberá cambiar estas variables:

// Pon tus credenciales de WiFi aquí const char * ssid = "--your - ssid--"; const char * contraseña = "--su - contraseña--"; // Pon tu token de acceso personal (https://support.gitkraken.com/developers/pats/) const char * bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

También necesitará 2 bibliotecas de Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

Y este increíble Arduino Json:

arduinojson.org/

Explicaciones

En el código fuente encontrarás:

  • cómo conectarse a un punto final
  • cómo hacer una solicitud POST o GET
  • cómo serializar una respuesta JSON para obtener objetos y matrices
  • cómo mostrar texto e imágenes en una pantalla LCD Nokia 5110

Si desea obtener más información sobre esta API:

support.gitkraken.com/developers/overview/

Estas solicitudes podrían funcionar de forma remota con cualquier API que utilice solicitudes POST y GET:)

Paso 3: Conéctese a un sitio web

Este pseudocódigo explica cómo conectarse a un sitio web HTTPS. Sus primeros pasos son los mismos que con un

Cliente WiFiClient

pero con un paso de verificación. Debe ir al punto final de la API que desea verificar y verificar la huella digital SHA1 del certificado. Copie, péguelo como una cadena en su código y llame a client.verify (huella digital, hosturl).

Cliente WiFiClientSecure;

// Conectarse a WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, contraseña); while (WiFi.status ()! = WL_CONNECTED) {retraso (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("conexión fallida"); regreso; } if (client.verify (huella digital, host)) {Serial.println ("certificado coincide"); } else {Serial.println ("el certificado no coincide"); }

Paso 4: Realizar solicitudes POST / GET

CORREO

Esta es la sintaxis para realizar una solicitud POST:

String PostData = "{"; PostData + = "\" texto / ": \" mi mensaje / ""; PostData + = "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorización:" + portador + "\ r / n" + "Agente de usuario: BuildFailureDetectorESP8266 / r / n" + "control de caché: no-cache / r / n" + "Tipo de contenido: aplicación / json / r / n" + "Longitud de contenido:" + PostData. longitud () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("solicitud enviada");

PostData son los datos que envía como JSON, en este caso:

{

"texto": "mi mensaje"}

La variable url es la URL del punto final, el host, la URL del sitio web, el portador es el token de acceso a la API.

OBTENER

Este es el pseudocódigo para una solicitud GET:

client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorización:" + portador + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Conexión: keep-alive / r / n / r / n"); Serial.println ("solicitud enviada"); while (cliente.conectado ()) {Línea de cadena = cliente.readStringUntil ('\ n'); if (línea == "\ r") {Serial.println ("encabezados recibidos"); rotura; }} Línea de cadena = client.readStringUntil ('\ n');

El resultado de este comando se almacenará en la variable de línea.

Paso 5: JSON y NOKIA LCD

Para lograr un proyecto similar, deberá mostrar imágenes, textos y símbolos en la pantalla LCD del Nokia 5110. Puede ver este tutorial en profundidad de lastminuteengineers.

Para manejar JSON en Arduino C ++, use el sitio web ArduinoJson que le dirá todo al respecto.

No dude en publicar preguntas si tiene alguna, o publicar lo que hizo con este código fuente / tutorial.

Recomendado: