Съдържание:

Свързан хронометър: 5 стъпки
Свързан хронометър: 5 стъпки

Видео: Свързан хронометър: 5 стъпки

Видео: Свързан хронометър: 5 стъпки
Видео: 4 лучших упражнения от СУДОРОГ и БОЛИ в НОГАХ. Боль пройдёт за 5 минут 2024, Ноември
Anonim
Свързан хронометър
Свързан хронометър
Свързан хронометър
Свързан хронометър
Свързан хронометър
Свързан хронометър

Здравейте! В този урок ще разберете как да свържете всяко съвместимо с Arduino устройство, оборудвано с WiFi, към REST API! Това използва уеб приложението GitKraken Glo Board за създаване на табла, колони и карти за организиране на неща!

Необходими са известни познания за това как работи публичният API. Този проект е предназначен да използва приложния програмен интерфейс на GitKraken Glo за проследяване на времето, което отделяте за задачи в списъците си със задачи.

Например, трябва да изпълните тези задачи:

- Пия кафе

Натискате старт, когато започнете, когато приключите, натискате Готово, и voilà, времето, което прекарвате, се коментира.

Стъпка 1: Изградете

Изграждане
Изграждане
Изграждане
Изграждане

За да изградите, можете да мислите за всичко. Малък хронометър би бил чудесен, но не направих нищо дребно.

Така че картонените и аркадни бутони бяха пътят!

Платката, която използвах, е ESP8266 WeMos D1 Mini. Това е по -евтино от Arduino и има WiFi на борда!

Екранът е Nokia 5110 LCD.

н

Списък на частите на AliExpress:

  • Nokia 5110
  • 2 аркадни бутона
  • ESP8266
  • Кабелни проводници
  • Картонена кутия

Но по принцип можете да го намерите навсякъде или на други уебсайтове като Amazon или eBay.

Обща сметка: 5 € 86

Щифтови връзки:

ESP8266 WeMos D1 Mini, 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 ↔ Аркадни бутони

D3 (GPI18) ↔ Ляв бутон

D4 (GPI17) ↔ Десен бутон

Другият щифт на бутона е свързан към земята (GND).

Стъпка 2: Код

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

Просто ми дайте кода

Пълният изходен код можете да намерите тук:

github.com/antoinech/glo-stopwatch

За да работи за вас, ще трябва да промените тези променливи:

// Поставете вашите идентификационни данни за WiFi тук conc char* ssid = "--your-ssid--"; const char* password = "-твоята-парола--"; // Поставете вашия личен маркер за достъп (https://support.gitkraken.com/developers/pats/) const char *bearer = "Носител XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Ще ви трябват и 2 библиотеки Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

И този страхотен Arduino Json:

arduinojson.org/

Обяснения

В изходния код ще разберете:

  • как да се свържете с HTTPS крайна точка
  • как да направите POST или GET заявка
  • как да сериализирате JSON отговор, за да получите обекти и масиви
  • как да показвате текст и снимки на LCD дисплей на Nokia 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

Това е синтаксисът за отправяне на POST заявка:

Низ PostData = "{"; PostData += "\" текст / ": \" моето съобщение / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Хост:" + хост + "\ r / n" + "Упълномощаване:" + носител + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "кеш-контрол: 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 (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 ("получени заглавки"); прекъсване; }} Низов ред = client.readStringUntil ('\ n');

Резултатът от тази команда ще се съхранява в променливата на реда.

Стъпка 5: JSON & NOKIA LCD

За да постигнете подобен проект, ще трябва да изведете изображения, текстове и символи на дисплея на Nokia 5110. Можете да разгледате този задълбочен урок от lastminuteengineers.

За да работите с JSON в Arduino C ++, използвайте уебсайта ArduinoJson, който ще ви разкаже всичко за него!

Не се колебайте да публикувате въпроси, ако имате такива, или да публикувате това, което сте направили с този изходен код / урок.

Препоръчано: