Mündəricat:

Bağlı Saniyəölçən: 5 addım
Bağlı Saniyəölçən: 5 addım

Video: Bağlı Saniyəölçən: 5 addım

Video: Bağlı Saniyəölçən: 5 addım
Video: Yaş məsələsi 5 qızıl qayda.İmtahana qədər addım-addım. 2024, Dekabr
Anonim
Bağlı Saniyəölçən
Bağlı Saniyəölçən
Bağlı Saniyəölçən
Bağlı Saniyəölçən
Bağlı Saniyəölçən
Bağlı Saniyəölçən

Salam! Bu dərsdə WiFi ilə təchiz edilmiş Arduino ilə uyğun hər hansı bir cihazı REST API -lərinə necə bağlayacağınızı öyrənəcəksiniz! Bu şeyləri təşkil etmək üçün lövhələr, sütunlar və kartlar yaratmaq üçün GitKraken Glo Board veb tətbiqindən istifadə edin!

İctimai API -nin necə işlədiyinə dair bəzi məlumatlara ehtiyac var. Bu layihə, GitKraken Glo -nun API -dən istifadə etməklə işlər siyahılarınızdakı tapşırıqlara sərf etdiyiniz vaxtı izləmək üçündür.

Məsələn, bu vəzifələri yerinə yetirməlisiniz:

- Qəhvə iç

Başladığınız zaman start düyməsini, bitirdikdən sonra Bitti düyməsini və voilà düyməsini basaraq sərf etdiyiniz vaxt şərh olunacaq.

Addım 1: Qurmaq

Qurmaq
Qurmaq
Qurmaq
Qurmaq

Qurmaq üçün hər şeyi düşünə bilərsiniz. Kiçik bir saniyəölçən əla olardı, amma ətrafda kiçik bir şey qoymadım.

Beləliklə, karton və arcade düymələri getmək üçün bir yoldur!

İstifadə etdiyim lövhə ESP8266 WeMos D1 Mini -dir. Bu, Arduinodan daha ucuzdur və təyyarədə WiFi var!

Ekran Nokia 5110 LCD -dir.

n

AliExpress -də hissə siyahısı:

  • Nokia 5110
  • 2 arcade düymələri
  • ESP8266
  • Jumper telləri
  • Karton qutu

Ancaq əsasən hər yerdə və ya Amazon və ya eBay kimi digər saytlarda tapa bilərsiniz.

Ümumi hesab: 5 € 86

Pins əlaqələri:

ESP8266 WeMos D1 Mini, Nokia 5110 LCD

  • D2 (GPIO4) və 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üymələri

D3 (GPI18) ↔ Sol Düymə

D4 (GPI17) ↔ Sağ Düymə

Düymənin digər pimi yerə (GND) bağlıdır.

Addım 2: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Mənə kodu ver

Tam mənbə kodunu burada tapa bilərsiniz:

github.com/antoinech/glo-stopwatch

Bunun sizin üçün işləməsi üçün bu dəyişənləri dəyişdirməlisiniz:

// Wi-Fi etimadnamənizi qeyd edin char* ssid = "-sizin-ssid--"; const char* parol = "-sənin-parolun--"; // Şəxsi Giriş Tokeninizi qoyun (https://support.gitkraken.com/developers/pats/) const char *daşıyıcısı = "Taşıyıcı XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Ayrıca 2 Adafruit kitabxanasına ehtiyacınız olacaq:

github.com/adafruit/Adafruit-GFX-Library

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

Və bu möhtəşəm Arduino Json:

arduinojson.org/

İzahatlar

Mənbə kodunda bunları öyrənəcəksiniz:

  • HTTPS son nöqtəsinə necə qoşulmaq olar
  • POST və ya GET sorğusu necə edilir
  • obyektləri və serialları əldə etmək üçün JSON cavabını necə seriallaşdırmaq olar
  • Nokia 5110 LCD -də mətn və şəkilləri necə göstərmək olar

Bu API haqqında daha çox məlumat əldə etmək istəyirsinizsə:

support.gitkraken.com/developers/overview/

Bu sorğu POST və GET sorğularından istifadə edən hər hansı bir API ilə uzaqdan işləyə bilər:)

Addım 3: HTTPS veb saytına qoşulun

Bu saxta kod bir HTTPS veb saytına necə qoşulacağınızı izah edir. İlk addımları a ilə olduğu kimidir

WiFi Müştəri

lakin yoxlama addımı ilə. Doğrulamaq istədiyiniz API son nöqtəsinə getməlisiniz və sertifikatın SHA1 barmaq izini yoxlamalısınız. Kodunuza bir simli olaraq yapışdırıb kopyalayın və client.verify (barmaq izi, hosturl) zəng edin.

WiFiClientSecure müştəri;

// WiFi WiFi.mode -a qoşulun (WIFI_STA); WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("bağlantı uğursuz oldu"); qayıtmaq; } if (client.verify (barmaq izi, host)) {Serial.println ("sertifikat uyğun gəlir"); } başqa {Serial.println ("sertifikat uyğun gəlmir"); }

Addım 4: POST / GET İstəkləri edin

POST

POST sorğusu etmək üçün sintaksis budur:

String PostData = "{"; PostData += "\" text / ": \" mesajım / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + daşıyıcısı + "\ r / n" + "İstifadəçi Agent: BuildFailureDetectorESP8266 / r / n" + "önbelleğe nəzarət: heç bir önbellek / r / n" + "Məzmun Növü: application/json / r / n" + "Məzmun Uzunluğu:" + PostData. uzunluq () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("sorğu göndərildi");

PostData, bu vəziyyətdə JSON olaraq göndərdiyiniz məlumatdır:

{

"text": "mesajım"}

Url dəyişən, son nöqtənin url, host, veb saytın url, daşıyıcısı API giriş simvoludur.

ALIN

GET sorğusu üçün yalançı kod budur:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + daşıyıcısı + "\ r / n" + "İstifadəçi-Agent: BuildFailureDetectorESP8266 / r / n" + "Bağlantı: canlı qal / r / n / r / n"); Serial.println ("sorğu göndərildi"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (sətir == "\ r") {Serial.println ("başlıqlar alındı"); fasilə; }} String xətti = client.readStringUntil ('\ n');

Bu əmrin nəticəsi xətt dəyişənində saxlanılacaq.

Addım 5: JSON & NOKIA LCD

Bənzər bir layihə əldə etmək üçün Nokia 5110 LCD -də şəkilləri, mətnləri və simvolları göstərməlisiniz.

JSON -u Arduino C ++ ilə idarə etmək üçün hər şeyi sizə izah edəcək ArduinoJson veb saytından istifadə edin!

Əgər suallarınız varsa və ya bu mənbə kodu / dərs ilə etdiklərinizi yazmaqdan çəkinməyin.

Tövsiyə: