Բովանդակություն:

Միացված վայրկյանաչափ. 5 քայլ
Միացված վայրկյանաչափ. 5 քայլ

Video: Միացված վայրկյանաչափ. 5 քայլ

Video: Միացված վայրկյանաչափ. 5 քայլ
Video: «Կապիտուլյացիայի է պատրաստում» Զելենսկին. Բլինքենը պնդում է՝ պատերազմը կավարտվի միայն Կիևի ծրագրով 2024, Նոյեմբեր
Anonim
Միացված վայրկյանաչափ
Միացված վայրկյանաչափ
Միացված վայրկյանաչափ
Միացված վայրկյանաչափ
Միացված վայրկյանաչափ
Միացված վայրկյանաչափ

Ողջույն: Այս ձեռնարկում դուք կիմանաք, թե ինչպես միացնել Arduino- ով համատեղելի ցանկացած սարք, որը հագեցած է WiFi- ով, REST API- ներին: Սա GitKraken Glo Board webapp- ի միջոցով ստեղծում է տախտակներ, սյուներ և քարտեր ՝ իրերը կազմակերպելու համար:

Անհրաժեշտ է որոշակի գիտելիքներ այն մասին, թե ինչպես է աշխատում հանրային API- ն: Այս նախագիծը նախատեսված է օգտագործել GitKraken Glo- ի API- ն ՝ ձեր անելիքների ցուցակներում առաջադրանքների վրա ծախսվող ժամանակը հետևելու համար:

Օրինակ, դուք պետք է կատարեք հետևյալ առաջադրանքները.

- Սուրճ խմել

Դուք սեղմում եք սկսել, երբ սկսում եք, երբ ավարտում եք, սեղմում եք Կատարված է, և voilà, ձեր ծախսած ժամանակը մեկնաբանվում է:

Քայլ 1: Կառուցեք

Կառուցել
Կառուցել
Կառուցել
Կառուցել

Կառուցելու համար կարող ես մտածել ամեն ինչի մասին: Մի փոքր վայրկյանաչափը հիանալի կլիներ, բայց ես փոքր բան չէի դնում:

Այսպիսով, ստվարաթղթե և արկադային սեղմման կոճակները ճանապարհն էին:

Իմ օգտագործած տախտակը ESP8266 WeMos D1 Mini է: Սա ավելի էժան է, քան Arduino- ն և ունի WiFi WiFi:

Էկրանը Nokia 5110 LCD է:

n

Մասերի ցուցակ AliExpress- ում.

  • Nokia 5110
  • 2 արկադային կոճակներ
  • ESP8266
  • Jumper լարերը
  • Ստվարաթղթե տուփ

Բայց դուք հիմնականում կարող եք գտնել այն ցանկացած վայրում կամ այլ կայքերում, ինչպիսիք են Amazon- ը կամ eBay- ը:

Ընդհանուր հաշիվ ՝ 5 € 86

Կապում կապեր.

ESP8266 WeMos D1 Mini ↔ Nokia 5110 LCD

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 մ.թ
  • D6 (GPIO12) ↔ 2 DC
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ↔ 5 ԵԿԿ
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini c Արկադային կոճակներ

D3 (GPI18) ↔ Ձախ կոճակ

D4 (GPI17) ↔ Աջ կոճակ

Կոճակի մյուս քորոցը միացված է գետնին (GND):

Քայլ 2: Կոդ

Կոդ
Կոդ
Կոդ
Կոդ
Կոդ
Կոդ

Պարզապես տվեք ինձ կոդը:

Ամբողջ աղբյուրի կոդը կարող եք գտնել այստեղ ՝

github.com/antoinech/glo-stopwatch

Ձեզ համար այն աշխատեցնելու համար ձեզ հարկավոր է փոխել այս փոփոխականները.

// Տեղադրեք ձեր WiFi հավատարմագրերը այստեղ ՝ char* ssid = "--your-ssid--"; const char* գաղտնաբառ = "-ձեր-գաղտնաբառը--"; // Տեղադրեք ձեր անձնական մուտքի նշանը (https://support.gitkraken.com/developers/pats/) const char *bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Ձեզ նույնպես պետք կլինի 2 Adafruit գրադարան.

github.com/adafruit/Adafruit-GFX-Library

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

Եվ այս հիանալի Arduino Json- ը.

arduinojson.org/

Բացատրություններ

Աղբյուրի կոդում դուք կգտնեք.

  • ինչպես միանալ HTTPS վերջնակետին
  • ինչպես կատարել POST կամ GET հարցում
  • ինչպես սերիալացնել JSON պատասխանը ՝ օբյեկտներ և զանգվածներ ստանալու համար
  • ինչպես ցուցադրել տեքստը և նկարները Nokia 5110 LCD- ով

Եթե ցանկանում եք ավելին իմանալ այս 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 (հյուրընկալող, httpsPort)) {Serial.println («կապը ձախողվեց»); վերադարձ; } if (client.verify (մատնահետք, հաղորդավար)) {Serial.println («վկայականը համընկնում է»); } else {Serial.println ("վկայականը չի համընկնում"); }

Քայլ 4. Կատարեք POST / GET հարցումներ

ՓՈՍՏ

Սա POST հարցում կատարելու շարահյուսությունն է.

Լարային PostData = "{"; PostData += "\" տեքստ / ": \" իմ հաղորդագրությունը / ""; PostData += "}"; Serial.print (PostData); client.print (Լարային ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + bearer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. երկարություն () + "\ 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:" + 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 ("վերնագրերը ստացվել են"); ընդմիջում; }} Լարային գիծ = client.readStringUntil ('\ n');

Այս հրամանի արդյունքը կպահվի տողի փոփոխականում:

Քայլ 5: JSON և NOKIA LCD

Նմանատիպ նախագծին հասնելու համար ձեզ հարկավոր է պատկերներ, տեքստեր և խորհրդանիշներ ցուցադրել Nokia 5110 LCD- ում: Կարող եք դիտել այս խորքային ձեռնարկը վերջին րոպեների ինժեներներից:

Arduino C ++ - ում JSON գործածելու համար օգտագործեք ArduinoJson կայքը, որը ձեզ կպատմի ամեն ինչի մասին:

Մի հապաղեք, եթե ունեք հարցեր, կամ տեղադրեք այն, ինչ պատրաստել եք այս աղբյուրի կոդով / ձեռնարկով:

Խորհուրդ ենք տալիս: