İçindekiler:

Bağlı Kronometre: 5 Adım
Bağlı Kronometre: 5 Adım

Video: Bağlı Kronometre: 5 Adım

Video: Bağlı Kronometre: 5 Adım
Video: Elimi kestim. Demir kanaması deneyi #kimya #shorts 2024, Kasım
Anonim
Bağlı Kronometre
Bağlı Kronometre
Bağlı Kronometre
Bağlı Kronometre
Bağlı Kronometre
Bağlı Kronometre

Merhaba!Bu eğitimde, WiFi ile donatılmış herhangi bir Arduino uyumlu cihazı REST API'lerine nasıl bağlayacağınızı öğreneceksiniz! Bu, şeyleri düzenlemek için panolar, sütunlar ve kartlar oluşturmak için GitKraken Glo Board web uygulamasını kullanır!

Genel API'nin nasıl çalıştığına dair biraz bilgi gereklidir. Bu proje, Yapılacaklar listenizdeki görevlere harcadığınız zamanı izlemek için GitKraken Glo'nun API'sini kullanmak içindir.

Örneğin, bu görevleri yapmanız gerekir:

- Kahve içmek

Başladığınızda başlat'a basıyorsunuz, işiniz bittiğinde Bitti'ye basıyorsunuz ve işte, harcadığınız zaman yorumlanıyor.

1. Adım: Oluşturun

Yapı
Yapı
Yapı
Yapı

İnşa etmek için her şeyi düşünebilirsiniz. Küçük bir kronometre harika olurdu, ama etrafta küçük bir şey yapmadım.

Yani karton ve arcade butonları gitmenin yoluydu!

Kullandığım kart bir ESP8266 WeMos D1 Mini. Bu bir Arduino'dan daha ucuz ve yerleşik WiFi var!

Ekran Nokia 5110 LCD'dir.

n

AliExpress'teki parça listesi:

  • Nokia 5110
  • 2 arcade Düğmesi
  • ESP8266
  • Atlama telleri
  • Karton kutu

Ancak temelde onu herhangi bir yerde veya Amazon veya eBay gibi diğer web sitelerinde bulabilirsiniz.

Toplam fatura: 5€86

Pim bağlantıları:

ESP8266 WeMos D1 Mini ve 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 ↔ Arcade Düğmeleri

D3 (GPI18) ↔ Sol Düğme

D4 (GPI17) ↔ Sağ Düğme

Düğmenin diğer pimi toprağa bağlı (GND).

2. Adım: Kodlayın

kod
kod
kod
kod
kod
kod

Sadece bana kodu ver

Tam kaynak kodunu burada bulabilirsiniz:

github.com/antoinech/glo-stopwatch

Sizin için çalışmasını sağlamak için şu değişkenleri değiştirmeniz gerekecektir:

//WiFi kimlik bilgilerinizi buraya girinconst char* ssid = "--your--ssid--"; const char* password = "--your--password--"; //Kişisel Erişim Simgenizi (https://support.gitkraken.com/developers/pats/) girin const char *bearer = "Taşıyıcı XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Ayrıca 2 Adafruit kütüphanesine de ihtiyacınız olacak:

github.com/adafruit/Adafruit-GFX-Library

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

Ve bu harika Arduino Json:

arduinojson.org/

Açıklamalar

Kaynak kodunda şunları bulacaksınız:

  • HTTPS uç noktasına nasıl bağlanılır
  • POST veya GET isteği nasıl yapılır
  • nesneleri ve dizileri almak için bir JSON yanıtının nasıl seri hale getirileceği
  • Nokia 5110 LCD'de metin ve resimlerin nasıl görüntüleneceği

Bu API hakkında daha fazla bilgi edinmek istiyorsanız:

support.gitkraken.com/developers/overview/

Bu istek, POST ve GET isteklerini kullanan herhangi bir API ile uzaktan çalışabilir:)

3. Adım: Bir HTTPS Web Sitesine Bağlanın

Bu sözde kod, bir HTTPS web sitesine nasıl bağlanacağınızı açıklar. İlk adımları bir ile aynıdır

WiFiClient istemcisi

ancak bir doğrulama adımıyla. Doğrulamak istediğiniz API uç noktasına gitmeniz ve sertifikanın SHA1 parmak izini kontrol etmeniz gerekir. Kopyalayın ve kodunuza bir dize olarak yapıştırın ve client.verify(fingerprint, hosturl) arayın.

WiFiClientSecure istemcisi;

//WiFi WiFi'ye bağlanın.mode(WIFI_STA); WiFi.begin(ssid, şifre); while (WiFi.status() != WL_CONNECTED) { gecikme(500); Seri.print("."); } if (!client.connect(host, httpsPort)) { Serial.println("bağlantı başarısız"); dönüş; } if (client.verify(parmak izi, ana bilgisayar)) { Serial.println("sertifika eşleşiyor"); } else { Serial.println("sertifika uyuşmuyor"); }

Adım 4: POST / GET İstekleri Yapın

İLETİ

Bu, POST isteği yapmak için kullanılan sözdizimidir:

String PostData = "{"; PostData +="\"text\":\"mesajım\""; PostData += "}"; Serial.print(PostData); client.print(String("POST ") + url + " HTTP/1.1\r\n" + "Ana Bilgisayar: " + ana bilgisayar + "\r\n" + "Yetkilendirme: " + taşıyıcı + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "önbellek denetimi: önbellek yok\r\n" + "İçerik Türü: application/json \r\n" + "İçerik Uzunluğu: " + PostData. uzunluk() + "\r\n" + "\r\n" + PostData + "\n"); Serial.println("istek gönderildi");

PostData, bu durumda JSON olarak gönderdiğiniz verilerdir:

{

"metin": "mesajım" }

url değişkeni uç noktanın url'si, ana bilgisayar, web sitesinin url'sidir, taşıyıcı API erişim belirtecidir.

ELDE ETMEK

Bu, bir GET isteğinin sözde kodudur:

client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Ana Bilgisayar: " + ana bilgisayar + "\r\n" + "Yetkilendirme: " + taşıyıcı + "\r\n" + "Kullanıcı Aracısı: BuildFailureDetectorESP8266\r\n" + "Bağlantı: canlı tutma\r\n\r\n"); Serial.println("istek gönderildi"); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { Serial.println("alınan başlıklar"); kırmak; } } Dize satırı = client.readStringUntil('\n');

Bu komutun sonucu satır değişkeninde saklanacaktır.

Adım 5: JSON ve NOKIA LCD

Benzer bir projeyi başarmak için Nokia 5110 LCD'de resimleri, metinleri ve sembolleri görüntülemeniz gerekecek. Lastminuteengineers'ın bu Derinlemesine Eğitimine bakabilirsiniz.

JSON'u Arduino C++'da işlemek için, size her şeyi anlatacak olan ArduinoJson web sitesini kullanın!

Sorularınız varsa göndermekten veya bu kaynak kodu/eğiticiyle yaptıklarınızı göndermekten çekinmeyin.

Önerilen: