فهرست مطالب:

کرونومتر متصل: 5 قدم
کرونومتر متصل: 5 قدم

تصویری: کرونومتر متصل: 5 قدم

تصویری: کرونومتر متصل: 5 قدم
تصویری: با یه دختر این کارو نکن😰 2024, دسامبر
Anonim
کرونومتر متصل
کرونومتر متصل
کرونومتر متصل
کرونومتر متصل
کرونومتر متصل
کرونومتر متصل

سلام! در این آموزش نحوه اتصال هر دستگاه سازگار با Arduino مجهز به WiFi به REST API ها را خواهید آموخت! این از webapp GitKraken Glo Board برای ایجاد تخته ، ستون و کارت برای سازماندهی چیزها استفاده می کند!

برخی از دانش نحوه عملکرد API عمومی مورد نیاز است. این پروژه به منظور استفاده از API GitKraken Glo برای ردیابی زمان صرف شده در کارهای فهرستهای To Do شما می باشد.

به عنوان مثال ، شما باید این کارها را انجام دهید:

- قهوه بنوش

وقتی شروع می کنید ، start را فشار می دهید ، وقتی کارتان تمام شد ، Done را فشار می دهید و voilà ، زمانی که صرف می کنید نظر داده می شود.

مرحله 1: ساختن

ساختن
ساختن
ساختن
ساختن

برای ساختن ، می توانید به هر چیزی فکر کنید. یک کرنومتر کوچک عالی خواهد بود ، اما من هیچ چیز کوچکی در اطراف نداشتم.

بنابراین دکمه های مقوایی و آرکید راهی برای حرکت بود!

برد مورد استفاده من ESP8266 WeMos D1 Mini است. این ارزانتر از آردوینو است و WiFi روی آن نصب شده است!

صفحه نمایش از نوع LCD 5110 نوکیا است.

n

لیست قطعات در AliExpress:

  • نوکیا 5110
  • 2 دکمه بازی
  • ESP8266
  • سیم های بلوز
  • جعبه مقوایی

اما اساساً می توانید آن را در هر کجا یا در وب سایت های دیگر مانند آمازون یا eBay پیدا کنید.

صورت حساب کلی: 5 یورو 86

اتصالات پین:

ESP8266 WeMos D1 Mini ↔ نوکیا 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) BL 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini ↔ دکمه های بازی

D3 (GPI18) ton دکمه سمت چپ

D4 (GPI17) ton دکمه سمت راست

پین دیگر دکمه به زمین متصل است (GND).

مرحله 2: کد

کد
کد
کد
کد
کد
کد

فقط کد را به من بدهید

منبع کامل را می توانید در اینجا بیابید:

github.com/antoinech/glo-stopwatch

برای کارکردن آن برای شما ، باید این متغیرها را تغییر دهید:

// اعتبار WiFi خود را در اینجا قرار دهید char* ssid = "--your-ssid--"؛ const char* password = "--your-password--"؛ // نشانه دسترسی شخصی خود را (https://support.gitkraken.com/developers/pats/) const char *bearer = "حامل XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"؛

شما همچنین به 2 کتابخانه Adafruit نیاز دارید:

github.com/adafruit/Adafruit-GFX-Library

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

و این آردوینو جسون عالی:

arduinojson.org/

توضیحات

در کد منبع متوجه خواهید شد:

  • نحوه اتصال به نقطه پایانی
  • نحوه ایجاد درخواست POST یا GET
  • چگونه می توان یک پاسخ JSON را برای به دست آوردن اشیاء و آرایه ها سریال سازی کرد
  • نحوه نمایش متن و تصاویر در LCD 5110 نوکیا

اگر می خواهید در مورد این API بیشتر بدانید:

support.gitkraken.com/developers/overview/

این درخواست می تواند از راه دور با هر API که از درخواست های POST و GET استفاده می کند کار کند:)

مرحله 3: به وب سایت HTTPS متصل شوید

این شبه کد نحوه اتصال به وب سایت HTTPS را برای شما توضیح می دهد. اولین مراحل آن مشابه a است

مشتری WiFiClient

اما با یک مرحله تأیید باید به نقطه پایانی API که می خواهید تأیید کنید بروید و اثر انگشت SHA1 گواهی را بررسی کنید. کپی آن را به عنوان یک رشته در کد خود جایگذاری کرده و با client.verify (اثر انگشت ، hosturl) تماس بگیرید.

مشتری WiFiClientSecure ؛

// اتصال به WiFi WiFi.mode (WIFI_STA) ؛ WiFi.begin (ssid ، رمز عبور) ؛ while (WiFi.status ()! = WL_CONNECTED) {تأخیر (500)؛ Serial.print (".") ؛ } if (! client.connect (host، httpsPort)) {Serial.println ("اتصال انجام نشد")؛ برگشت؛ } if (client.verify (اثر انگشت ، میزبان)) {Serial.println ("گواهی مطابقت دارد") ؛ } else {Serial.println ("گواهی مطابقت ندارد")؛ }

مرحله 4: درخواست های POST / GET را انجام دهید

پست

این نحو برای درخواست POST است:

String PostData = "{"؛ PostData += "\" متن / ": \" پیام من / ""؛ PostData += "}"؛ Serial.print (PostData) ؛ client.print (رشته ("POST") + url + "HTTP/1.1 / r / n" + "میزبان:" + host + "\ r / n" + "مجوز:" + حامل + "\ 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 ("درخواست ارسال شد") ؛

در این مورد PostData داده ای است که به عنوان JSON ارسال می کنید:

{

"text": "پیام من"}

متغیر url url نقطه پایانی ، میزبان ، url وب سایت ، حامل توکن دسترسی API است.

گرفتن

این شبه کد برای درخواست GET است:

client.print (رشته ("GET") + url + "HTTP/1.1 / r / n" + "میزبان:" + host + "\ r / n" + "مجوز:" + حامل + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Connection: keep-live / r / n / r / n")؛ Serial.println ("درخواست ارسال شد") ؛ while (client.connected ()) {String line = client.readStringUntil ('\ n')؛ if (line == "\ r") {Serial.println ("سرصفحه دریافت شد")؛ زنگ تفريح؛ }} String line = client.readStringUntil ('\ n')؛

نتیجه این دستور در متغیر خط ذخیره می شود.

مرحله 5: JSON و NOKIA LCD

برای دستیابی به یک پروژه مشابه ، باید تصاویر ، متون و نمادها را در LCD Nokia 5110 نمایش دهید. می توانید از مهندسان lastminute به این آموزش In Depth نگاه کنید.

برای مدیریت JSON در Arduino C ++ ، از وب سایت ArduinoJson استفاده کنید که همه چیز را در مورد آن به شما می گوید!

در صورت داشتن س toال دریغ نکنید ، یا آنچه را که با این کد منبع / آموزش ساخته اید ارسال کنید.

توصیه شده: