Índice:

Cronômetro conectado: 5 etapas
Cronômetro conectado: 5 etapas

Vídeo: Cronômetro conectado: 5 etapas

Vídeo: Cronômetro conectado: 5 etapas
Vídeo: Ponteiro de Segundos Parando, Função ou Defeito? Cronógrafo Quartz - Ezequias Relojoeiro 2024, Dezembro
Anonim
Cronômetro conectado
Cronômetro conectado
Cronômetro conectado
Cronômetro conectado
Cronômetro conectado
Cronômetro conectado

Olá! Neste tutorial você descobrirá como conectar qualquer dispositivo compatível com Arduino, equipado com WiFi, a APIs REST! Isso usa o webapp GitKraken Glo Board para criar placas, colunas e cartões para organizar as coisas!

É necessário algum conhecimento de como a API pública funciona. Este projeto tem como objetivo usar a API do GitKraken Glo para rastrear o tempo que você gasta em tarefas em suas listas de tarefas.

Por exemplo, você deve fazer estas tarefas:

- Beba café

Você pressiona iniciar ao iniciar, quando terminar, pressiona Concluído e voilà, o tempo que você gasta é comentado.

Etapa 1: construir

Construir
Construir
Construir
Construir

Para construir, você pode pensar em qualquer coisa. Um pequeno cronômetro seria ótimo, mas eu não fiz nada pequeno por aí.

Então, botões de papelão e fliperama eram o caminho a percorrer!

A placa que usei é uma ESP8266 WeMos D1 Mini. É mais barato do que um Arduino e tem WiFi a bordo!

A tela é um LCD Nokia 5110.

n

Lista de peças no AliExpress:

  • Nokia 5110
  • 2 botões de arcade
  • ESP8266
  • Fios de ligação
  • Caixa de papelão

Mas você pode basicamente encontrá-lo em qualquer lugar ou em outros sites como Amazon ou eBay.

Conta geral: 5 € 86

Conexões de pinos:

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 ↔ Botões Arcade

D3 (GPI18) ↔ Botão esquerdo

D4 (GPI17) ↔ Botão direito

O outro pino do botão sendo conectado ao aterramento (GND).

Etapa 2: Código

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

Apenas me dê o código

Você pode encontrar o código-fonte completo aqui:

github.com/antoinech/glo-stopwatch

Para que funcione para você, você precisará alterar estas variáveis:

// Coloque suas credenciais WiFi hereconst char * ssid = "--your - ssid--"; const char * password = "--sua - senha--"; // Coloque seu token de acesso pessoal (https://support.gitkraken.com/developers/pats/) const char * bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Você também precisará de 2 bibliotecas Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

E este incrível Arduino Json:

arduinojson.org/

Explicações

No código-fonte você descobrirá:

  • como se conectar a um endpoint
  • como fazer uma solicitação POST ou GET
  • como serializar uma resposta JSON para obter objetos e matrizes
  • como exibir texto e imagens em um LCD Nokia 5110

Se você quiser saber mais sobre esta API:

support.gitkraken.com/developers/overview/

Essa solicitação pode funcionar remotamente com qualquer API que use solicitações POST e GET:)

Etapa 3: Conecte-se a um site

Este pseudocódigo explica como se conectar a um site HTTPS. Seus primeiros passos são os mesmos de um

Cliente WiFiClient

mas com uma etapa de verificação. Você precisa ir para o endpoint da API que deseja verificar e verificar a impressão digital SHA1 do certificado. Copie, cole-o como uma string em seu código e chame client.verify (impressão digital, hosturl).

Cliente WiFiClientSecure;

// Conectar ao WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, senha); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("conexão falhou"); Retorna; } if (client.verify (fingerprint, host)) {Serial.println ("certificado corresponde"); } else {Serial.println ("o certificado não corresponde"); }

Etapa 4: fazer solicitações POST / GET

PUBLICAR

Esta é a sintaxe para fazer uma solicitação POST:

String PostData = "{"; PostData + = "\" text / ": \" minha mensagem / ""; PostData + = "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorização:" + bearer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application / json / r / n" + "Content-Length:" + PostData. comprimento () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("solicitação enviada");

o PostData são os dados que você envia como JSON, neste caso:

{

"text": "minha mensagem"}

A variável url é o url do terminal, host, url do site, portador é o token de acesso da API.

PEGUE

Este é o pseudocódigo para uma solicitação GET:

client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Autorização:" + bearer + "\ r / n" + "Agente do usuário: BuildFailureDetectorESP8266 / r / n" + "Conexão: keep-alive / r / n / r / n"); Serial.println ("solicitação enviada"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (linha == "\ r") {Serial.println ("cabeçalhos recebidos"); pausa; }} String line = client.readStringUntil ('\ n');

O resultado deste comando será armazenado na variável de linha.

Etapa 5: JSON e NOKIA LCD

Para realizar um projeto semelhante, você precisará exibir imagens, textos e símbolos no LCD do Nokia 5110. Você pode assistir a este Tutorial em profundidade dos últimos minuteengineers.

Para lidar com JSON no Arduino C ++, use o site do ArduinoJson que lhe contará tudo sobre isso!

Não hesite em postar perguntas, se tiver alguma, ou postar o que você fez com este código-fonte / tutorial.

Recomendado: