Table des matières:

Chronomètre connecté : 5 étapes
Chronomètre connecté : 5 étapes

Vidéo: Chronomètre connecté : 5 étapes

Vidéo: Chronomètre connecté : 5 étapes
Vidéo: Régler sa montre chronographe Charlie Paris 2024, Décembre
Anonim
Chronomètre connecté
Chronomètre connecté
Chronomètre connecté
Chronomètre connecté
Chronomètre connecté
Chronomètre connecté

Bonjour ! Dans ce tutoriel vous découvrirez comment connecter n'importe quel appareil compatible Arduino, équipé du WiFi, aux API REST ! Cela utilise l'application Web GitKraken Glo Board pour créer des tableaux, des colonnes et des cartes pour organiser les choses !

Une certaine connaissance du fonctionnement de l'API publique est nécessaire. Ce projet est destiné à utiliser l'API de GitKraken Glo pour suivre le temps que vous passez sur les tâches de vos listes de tâches.

Par exemple, vous devez effectuer ces tâches:

- Boire du café

Vous appuyez sur Démarrer lorsque vous commencez, lorsque vous avez terminé, vous appuyez sur Terminé, et voilà, le temps que vous passez est commenté.

Étape 1: Construire

Construire
Construire
Construire
Construire

Pour construire, vous pouvez penser à tout. Un petit chronomètre serait bien, mais je n'ai rien fait de petit.

Donc, les boutons poussoirs en carton et d'arcade étaient la voie à suivre!

La carte que j'ai utilisée est une ESP8266 WeMos D1 Mini. C'est moins cher qu'un Arduino et dispose du WiFi à bord !

L'écran est un Nokia 5110 LCD.

m

Liste des pièces sur AliExpress:

  • Nokia 5110
  • 2 boutons d'arcade
  • ESP8266
  • Fils de cavalier
  • Boîte en carton

Mais vous pouvez le trouver n'importe où ou sur d'autres sites Web comme Amazon ou eBay.

Facture globale: 5€86

Connexions des broches:

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 (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini ↔ Boutons d'arcade

D3 (GPI18) Bouton gauche

D4 (GPI17) Bouton droit

L'autre broche du bouton étant connectée à la masse (GND).

Étape 2: Coder

Code
Code
Code
Code
Code
Code

Donnez-moi juste le code

Vous pouvez trouver le code source complet ici:

github.com/antoiech/glo-stopwatch

Pour que cela fonctionne pour vous, vous devrez modifier ces variables:

// Mettez vos identifiants WiFi iciconst char* ssid = "--your--ssid--"; const char* mot de passe = "--votre--mot de passe--"; //Mettez votre jeton d'accès personnel (https://support.gitkraken.com/developers/pats/) const char *bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Vous aurez également besoin de 2 bibliothèques Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

Et cet Arduino Json génial:

arduinojson.org/

Explications

Dans le code source, vous découvrirez:

  • comment se connecter à un point de terminaison
  • comment faire une requête POST ou GET
  • comment sérialiser une réponse JSON pour obtenir des objets et des tableaux
  • comment afficher du texte et des images sur un écran LCD Nokia 5110

Si vous souhaitez en savoir plus sur cette API:

support.gitkraken.com/developers/overview/

Ces requêtes pourraient fonctionner à distance avec n'importe quelle API utilisant les requêtes POST et GET:)

Étape 3: Connectez-vous à un site Web

Ce pseudo-code vous explique comment vous connecter à un site Web HTTPS. Ses premières étapes sont les mêmes qu'avec un

WiFiClient client

mais avec une étape de vérification. Vous devez accéder au point de terminaison de l'API que vous souhaitez vérifier et vérifier l'empreinte SHA1 du certificat. Copiez-collez-le sous forme de chaîne dans votre code et appelez client.verify(fingerprint, hosturl).

Client WiFiClientSecure;

//Connectez-vous au WiFi WiFi.mode(WIFI_STA); WiFi.begin(ssid, mot de passe); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } if (!client.connect(host, httpsPort)) { Serial.println("la connexion a échoué"); revenir; } if (client.verify(empreinte digitale, hôte)) { Serial.println("le certificat correspond"); } else { Serial.println("le certificat ne correspond pas"); }

Étape 4: Faire des requêtes POST / GET

PUBLIER

Voici la syntaxe pour faire une requête POST:

Chaîne PostData = "{"; PostData +="\"texte\":\"mon message\""; PostData += "}"; Serial.print(PostData); client.print(String("POST ") + url + " HTTP/1.1\r\n" + "Hôte: " + hôte + "\r\n" + "Autorisation: " + porteur + "\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("demande envoyée");

les PostData sont les données que vous envoyez en tant que JSON, dans ce cas:

{

"texte": "mon message" }

La variable url est l'url du point de terminaison, l'hôte, l'url du site Web, le porteur est le jeton d'accès à l'API.

AVOIR

Voici le pseudo-code d'une requête GET:

client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Hôte: " + hôte + "\r\n" + "Autorisation: " + porteur + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Connexion: keep-alive\r\n\r\n"); Serial.println("demande envoyée"); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { Serial.println("en-têtes reçus"); Pause; } } Ligne de chaîne = client.readStringUntil('\n');

Le résultat de cette commande sera stocké dans la variable de ligne.

Étape 5: LCD JSON & NOKIA

Pour réaliser un projet similaire, vous devrez afficher des images, des textes et des symboles sur l'écran LCD du Nokia 5110. Vous pouvez consulter ce didacticiel détaillé de lastminuteengineers.

Pour gérer JSON dans Arduino C++, utilisez le site Web ArduinoJson qui vous dira tout !

N'hésitez pas à poster des questions si vous en avez, ou à poster ce que vous avez fait avec ce code source / tutoriel.

Conseillé: