Innehållsförteckning:

Ansluten stoppur: 5 steg
Ansluten stoppur: 5 steg

Video: Ansluten stoppur: 5 steg

Video: Ansluten stoppur: 5 steg
Video: ЗЛО ЕЩЕ ЗДЕСЬ ЖУТКАЯ НОЧЬ В СТРАШНОМ ДОМЕ / EVIL IS STILL HERE A TERRIBLE NIGHT IN A TERRIBLE HOUSE 2024, November
Anonim
Ansluten stoppur
Ansluten stoppur
Ansluten stoppur
Ansluten stoppur
Ansluten stoppur
Ansluten stoppur

Hej! I den här självstudien får du veta hur du ansluter alla Arduino -kompatibla enheter, utrustade med WiFi, till REST API: er! Detta använder GitKraken Glo Board webapp för att skapa tavlor, kolumner och kort för att organisera saker!

Viss kunskap om hur offentligt API fungerar behövs. Det här projektet är avsett att använda GitKraken Glos API för att spåra tiden du spenderar på uppgifter på dina att göra -listor.

Till exempel måste du utföra följande uppgifter:

- Dricka kaffe

Du trycker på start när du börjar, när du är klar, trycker du på Klar och voilà, den tid du spenderar blir kommenterad.

Steg 1: Bygg

Bygga
Bygga
Bygga
Bygga

För att bygga kan du tänka på vad som helst. Ett litet stoppur skulle vara jättebra, men jag gjorde inget litet.

Så tryckknappar i kartong och arkad var vägen att gå!

Kortet jag använde är en ESP8266 WeMos D1 Mini. Detta är billigare än en Arduino och har WiFi ombord!

Skärmen är en Nokia 5110 LCD.

n

Reservdelar på AliExpress:

  • Nokia 5110
  • 2 arkadknappar
  • ESP8266
  • Bygelkablar
  • Kartong låda

Men du kan i princip hitta den var som helst eller på andra webbplatser som Amazon eller eBay.

Totalräkning: 5 € 86

Pins -anslutningar:

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 ↔ Arkadknappar

D3 (GPI18) ↔ Vänster knapp

D4 (GPI17) ↔ Höger knapp

Knappens andra stift är ansluten till jord (GND).

Steg 2: Kod

Koda
Koda
Koda
Koda
Koda
Koda

Ge mig bara koden

Du hittar hela källkoden här:

github.com/antoinech/glo-stopwatch

För att få det att fungera för dig måste du ändra dessa variabler:

// Sätt in dina WiFi-uppgifter här: char* ssid = "--your-ssid--"; const char* password = "--your-password--"; // Lägg din personliga åtkomsttoken (https://support.gitkraken.com/developers/pats/) const char *bearer = "Bärare XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Du behöver också 2 Adafruit -bibliotek:

github.com/adafruit/Adafruit-GFX-Library

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

Och denna fantastiska Arduino Json:

arduinojson.org/

Förklaringar

I källkoden får du reda på:

  • hur man ansluter till en HTTPS -slutpunkt
  • hur man gör en POST eller en GET -begäran
  • hur man serialiserar ett JSON -svar för att få objekt och matriser
  • hur man visar text och bilder i en Nokia 5110 LCD

Om du vill lära dig mer om detta API:

support.gitkraken.com/developers/overview/

Denna begäran kan fungera på distans med alla API: er som använder POST- och GET -förfrågningar:)

Steg 3: Anslut till en HTTPS -webbplats

Denna pseudokod förklarar hur du ansluter till en HTTPS-webbplats. Dess första steg är desamma som med a

WiFiClient -klient

men med ett verifieringssteg. Du måste gå till API -slutpunkten som du vill verifiera och kontrollera certifikatets SHA1 -fingeravtryck. Kopiera klistra in den som en sträng i din kod och ring client.verify (fingeravtryck, hosturl).

WiFiClientSecure -klient;

// Anslut till WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("anslutningen misslyckades"); lämna tillbaka; } if (client.verify (fingeravtryck, värd)) {Serial.println ("certifikat matchar"); } else {Serial.println ("certifikatet matchar inte"); }

Steg 4: Skicka POST / GET -förfrågningar

POSTA

Detta är syntaxen för att göra en POST -begäran:

String PostData = "{"; PostData += "\" text / ": \" mitt meddelande / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + bärare + "\ 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 ("begäran skickad");

PostData är data du skickar som JSON, i det här fallet:

{

"text": "mitt meddelande"}

URL -variabeln är slutpunktens url, värd, webbplatsens URL, bärare är API -åtkomsttoken.

SKAFFA SIG

Detta är pseudokoden för en GET-begäran:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + bärare + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Connection: keep-alive / r / n / r / n"); Serial.println ("begäran skickad"); medan (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("rubriker mottagna"); ha sönder; }} String line = client.readStringUntil ('\ n');

Resultatet av detta kommando kommer att lagras i radvariabeln.

Steg 5: JSON & NOKIA LCD

För att uppnå ett liknande projekt måste du visa bilder, texter och symboler till Nokia 5110 LCD. Du kan titta på denna In Depth Tutorial från lastminuteengineers.

För att hantera JSON i Arduino C ++, använd ArduinoJson -webbplatsen som berättar allt om det!

Tveka inte att ställa frågor om du har några, eller posta det du gjorde med den här källkoden / självstudien.

Rekommenderad: