Оглавление:

Подключенный секундомер: 5 шагов
Подключенный секундомер: 5 шагов

Видео: Подключенный секундомер: 5 шагов

Видео: Подключенный секундомер: 5 шагов
Видео: Как запустить встроенный шагомер в телефоне Xiaomi ? 2024, Ноябрь
Anonim
Подключенный секундомер
Подключенный секундомер
Подключенный секундомер
Подключенный секундомер
Подключенный секундомер
Подключенный секундомер

Здравствуйте! Из этого туториала Вы узнаете, как подключить любое Arduino-совместимое устройство, оснащенное Wi-Fi, к REST API! Для этого используйте веб-приложение GitKraken Glo Board для создания досок, столбцов и карточек для упорядочивания вещей!

Требуются некоторые знания о том, как работает общедоступный API. Этот проект предназначен для использования API GitKraken Glo для отслеживания времени, которое вы тратите на задачи из ваших списков дел.

Например, вам необходимо выполнить следующие задачи:

- Пить кофе

Вы нажимаете start, когда начинаете, когда все готово, вы нажимаете Done, и вуаля, время, которое вы потратили, комментируется.

Шаг 1. Сборка

Строить
Строить
Строить
Строить

Строить можно что угодно. Небольшой секундомер было бы здорово, но у меня не было ничего мелкого.

Итак, картонные и аркадные кнопки были лучшим выбором!

Я использовал плату ESP8266 WeMos D1 Mini. Это дешевле, чем Arduino, и на борту есть Wi-Fi!

Экран - ЖК-дисплей Nokia 5110.

п

Список запчастей на AliExpress:

  • Nokia 5110
  • 2 кнопки аркады
  • ESP8266
  • Провода перемычки
  • Картонная коробка

Но вы можете найти его где угодно или на других сайтах, таких как Amazon или eBay.

Общий счет: 5 86 €

Штыревые соединения:

ESP8266 WeMos D1 Mini ↔ ЖК-дисплей Nokia 5110

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 постоянного тока
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ↔ 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (ЗЕМЛЯ) ↔ 7 ЗЕМЛЯ

ESP8266 WeMos D1 Mini ↔ Кнопки для аркад

D3 (GPI18) ↔ Левая кнопка

D4 (GPI17) ↔ Правая кнопка

Другой контакт кнопки подключен к земле (GND).

Шаг 2: Код

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

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

Вы можете найти полный исходный код здесь:

github.com/antoinech/glo-stopwatch

Чтобы он работал на вас, вам нужно будет изменить эти переменные:

// Поместите сюда свои учетные данные WiFiconst char * ssid = "--your - ssid--"; const char * password = "--ваш - пароль--"; // Поместите свой токен персонального доступа (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/

Пояснения

В исходном коде вы узнаете:

  • как подключиться к конечной точке
  • как сделать запрос POST или GET
  • как сериализовать ответ JSON для получения объектов и массивов
  • как отображать текст и изображения на ЖК-дисплее Nokia 5110

Если вы хотите узнать больше об этом API:

support.gitkraken.com/developers/overview/

Этот запрос может удаленно работать с любым API, использующим запросы POST и GET:)

Шаг 3. Подключитесь к веб-сайту

Этот псевдокод объясняет, как подключиться к веб-сайту HTTPS. Его первые шаги такие же, как и с

Клиент WiFiClient

но с этапом проверки. Вам нужно перейти к конечной точке API, которую вы хотите проверить, и проверить отпечаток SHA1 сертификата. Скопируйте, вставьте его как строку в свой код и вызовите client.verify (fingerprint, hosturl).

Клиент WiFiClientSecure;

// Подключаемся к WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, пароль); в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); } if (! client.connect (host, httpsPort)) {Serial.println («соединение не удалось»); возвращение; } if (client.verify (fingerprint, host)) {Serial.println ("сертификат соответствует"); } else {Serial.println ("сертификат не соответствует"); }

Шаг 4. Сделайте запросы POST / GET

ПОЧТА

Это синтаксис для выполнения запроса POST:

Строка PostData = "{"; PostData + = "\" текст / ": \" мое сообщение / ""; PostData + = "}"; Serial.print (PostData); client.print (String ("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. length () + "\ 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" + "Authorization:" + bearer + "\ r / n" + "User-Agent: BuildFailureDetectorESP8266 / r / n" + "Connection: keep-alive / r / n / r / n"); Serial.println («запрос отправлен»); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("заголовки получены"); перерыв; }} Строка line = client.readStringUntil ('\ n');

Результат этой команды будет сохранен в строковой переменной.

Шаг 5: ЖК-дисплей JSON и NOKIA

Для реализации аналогичного проекта вам потребуется отображать изображения, текст и символы на ЖК-дисплее Nokia 5110. Вы можете просмотреть это подробное руководство от инженеров lastminute.

Чтобы обрабатывать JSON в Arduino C ++, используйте веб-сайт ArduinoJson, который расскажет вам все об этом!

Не стесняйтесь задавать вопросы, если они у вас есть, или размещать то, что вы сделали с помощью этого исходного кода / руководства.

Рекомендуемые: