Агуулгын хүснэгт:

Холбогдсон секундомер: 5 алхам
Холбогдсон секундомер: 5 алхам

Видео: Холбогдсон секундомер: 5 алхам

Видео: Холбогдсон секундомер: 5 алхам
Видео: ЛОМИТ ТЕЛО? РЕШАЕМ БЫСТРО ЭТОТ ВОПРОС! 2024, Арванхоёрдугаар сар
Anonim
Холбогдсон секундомер
Холбогдсон секундомер
Холбогдсон секундомер
Холбогдсон секундомер
Холбогдсон секундомер
Холбогдсон секундомер

Сайн байна уу! Энэхүү гарын авлагад та WiFi -ээр тоноглогдсон Arduino -тэй нийцтэй төхөөрөмжийг REST API -т хэрхэн холбох талаар олж мэдэх болно. Энэ нь GitKraken Glo Board вэб апп ашиглан аливаа зүйлийг цэгцлэх самбар, багана, карт үүсгэж болно!

Олон нийтийн API хэрхэн ажилладаг талаар зарим мэдлэг хэрэгтэй. Энэхүү төсөл нь хийх ажлын жагсаалтан дахь ажлуудад зарцуулж буй хугацааг хянах зорилгоор GitKraken Glo API -ийг ашиглах зорилготой юм.

Жишээлбэл, та дараахь ажлуудыг хийх ёстой.

- Кофе уух

Та эхлэхдээ эхлэх товчийг дарж, хийж дууссаныхаа дараа Дууссан товчлуурыг дарна, мөн voilà -д зарцуулсан цаг нь тайлбарлагдана.

Алхам 1: Бүтээх

Бүтээх
Бүтээх
Бүтээх
Бүтээх

Бүтээхийн тулд та юу ч бодож болно. Жижигхэн секунд хэмжигч маш сайн байх болно, гэхдээ би жижиг зүйл тойруулчихсангүй.

Тиймээс картон болон аркад товчлуурууд нь хамгийн сайн арга байсан!

Миний ашигласан самбар бол ESP8266 WeMos D1 Mini юм. Энэ нь Arduino -аас хямд бөгөөд усан онгоцонд WiFi байна!

Дэлгэц нь Nokia 5110 LCD юм.

n

AliExpress дээрх эд ангиудын жагсаалт:

  • Nokia 5110
  • 2 аркад товчлуур
  • ESP8266
  • Холбогч утас
  • Цаасан хайрцаг

Гэхдээ та үүнийг хаа сайгүй эсвэл 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 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini, аркад товчлуурууд

D3 (GPI18) ↔ Зүүн товчлуур

D4 (GPI17) ↔ Баруун товчлуур

Товчлуурын бусад зүүг газардуулгатай холбож байна (GND).

Алхам 2: Код

Код
Код
Код
Код
Код
Код

Надад кодыг өгөөч

Та бүрэн эх кодыг эндээс олж болно.

github.com/antoinech/glo-stopwatch

Үүнийг ажиллуулахын тулд та эдгээр хувьсагчдыг өөрчлөх шаардлагатай болно.

// WiFi-ийнхээ итгэмжлэлийг хоёр дахь удаагаа тавих char* ssid = "--your-ssid--"; const char* password = "-таны-нууц үг--"; // Хувийн хандалтын жетоноо тавь (https://support.gitkraken.com/developers/pats/) const char *bearer = "Агуулагч XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Танд бас 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/

Эдгээр хүсэлт нь POST болон GET хүсэлтийг ашигладаг ямар ч API -тай алсаас ажиллах боломжтой:)

Алхам 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 ("сертификат таарч байна"); } өөр {Serial.println ("сертификат таарахгүй байна"); }

Алхам 4: POST / GET хүсэлт гаргах

POST

Энэ бол POST хүсэлт гаргах синтакс юм.

PostData мөр = "{"; PostData += "\" текст / ": \" миний зурвас / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Зөвшөөрөл:" + зөөгч + "\ r / n" + "Хэрэглэгч-Агент: 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 хэлбэрээр илгээдэг өгөгдөл бөгөөд энэ тохиолдолд:

{

"текст": "миний зурвас"}

Url хувьсагч нь төгсгөлийн цэгийн url, хост, вэбсайтын url, дамжуулагч нь API хандалтын жетон юм.

АВАХ

Энэ бол GET хүсэлтийн псевдо код юм:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Зөвшөөрөл:" + зөөгч + "\ r / n" + "Хэрэглэгч-Агент: BuildFailureDetectorESP8266 / r / n" + "Холболт: амьд байлгах / r / n / r / n"); Serial.println ("хүсэлт илгээсэн"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (мөр == "\ r") {Serial.println ("толгой хүлээн авсан"); завсарлага; }} String line = client.readStringUntil ('\ n');

Энэ командын үр дүн нь шугамын хувьсагчид хадгалагдах болно.

Алхам 5: JSON & NOKIA LCD

Үүнтэй төстэй төсөл хэрэгжүүлэхийн тулд та зураг, текст, тэмдгийг Nokia 5110 LCD дэлгэц дээр харуулах хэрэгтэй болно.

JSON -ийг Arduino C ++ дээр зохицуулахын тулд энэ тухай бүгдийг хэлж өгөх ArduinoJson вэбсайтыг ашиглаарай!

Хэрэв танд асуулт байгаа бол асуулт бичихээс бүү эргэлзээрэй, эсвэл энэ эх код / хичээлээр хийсэн зүйлээ бичээрэй.

Зөвлөмж болгож буй: