Tabla de contenido:
- Paso 1: construir
- Paso 2: Código
- Paso 3: Conéctese a un sitio web
- Paso 4: Realizar solicitudes POST / GET
- Paso 5: JSON y NOKIA LCD
Video: Cronómetro conectado: 5 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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
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
¡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:
Smart B.A.L (buzón de correo conectado): 4 pasos
Smart B.A.L (buzón conectado): está cansado de revisar cada vez su buzón cuando no hay nada dentro. Quieres saber si recibes tu correo o un paquete durante un viaje, así que el buzón conectado es para ti. Le notificará si el cartero ha depositado un correo o un par
Sistema de riego por goteo conectado a Internet controlado por retroalimentación de humedad del suelo (ESP32 y Blynk): 5 pasos
Sistema de riego por goteo conectado a Internet controlado por retroalimentación de humedad del suelo (ESP32 y Blynk): preocúpese por su jardín o sus plantas cuando se vaya de vacaciones, u olvídese de regar su planta a diario. Bueno, aquí está la solución Es un sistema de riego por goteo controlado por la humedad del suelo y conectado globalmente controlado por ESP32 en la parte frontal del software i
Cree su propio termostato de calefacción conectado y ahorre con la calefacción: 53 pasos (con imágenes)
Haga su propio termostato de calefacción conectado y ahorre con la calefacción: ¿Cuál es el propósito? Aumente la comodidad calentando su casa exactamente como lo desee Ahorre y reduzca las emisiones de gases de efecto invernadero calentando su casa solo cuando lo necesite Mantenga el control de la calefacción esté donde esté Siéntase orgulloso de haberlo hecho y
Un teclado USB y Bluetooth conectado a mano con tecnología Python: 5 pasos
Un teclado USB y Bluetooth con cable a mano alimentado por Python: este es un teclado mecánico con cable a mano. Es compatible con USB y Bluetooth, y ejecuta Python en el microcontrolador del teclado. Quizás se pregunte cómo funciona. Sigue los pasos para construir uno, lo descubrirás
Encuentre la contraseña de WLAN (solo necesita estar conectado): 4 pasos
Encuentre la contraseña de WLAN (solo necesita estar conectado): Lo que quiero mostrarle hoy es en realidad solo un comando. Sin embargo, ¡también puedes hacerle bromas a tus amigos! Atención: esto no es un truco para piratear una contraseña WLAN. Es solo una forma de averiguar la contraseña wlan del wlan conectado