Мазмуну:

Туташкан секундомер: 5 кадам
Туташкан секундомер: 5 кадам

Video: Туташкан секундомер: 5 кадам

Video: Туташкан секундомер: 5 кадам
Video: Casio G-SHOCK G-STEEL GSTB100-1A | G Shock GSTB100 Обзор 10 лучших вещей 2024, Ноябрь
Anonim
Туташкан секундомер
Туташкан секундомер
Туташкан секундомер
Туташкан секундомер
Туташкан секундомер
Туташкан секундомер

Саламатсызбы! Бул окуу куралында сиз WiFi менен жабдылган Arduino менен шайкеш келген түзмөктү REST APIлерине кантип туташтыруу керек экенин билесиз! Бул GitKraken Glo Board веб -колдонмосун колдонуп, нерселерди уюштуруу үчүн такталарды, мамычаларды жана карталарды түзүңүз!

Жалпыга ачык API кандай иштээри жөнүндө бир аз билим керек. Бул долбоор GitKraken Glo API'син колдонуу тизмегиндеги тапшырмаларга сарптоо убактыңызды көзөмөлдөө үчүн арналган.

Мисалы, сиз бул тапшырмаларды аткарышыңыз керек:

- Кофе ичүү

Сиз баштаганда "баштоо" баскычын, "бүткөндө" "Даяр" жана "voilà" баскычтарын басыңыз, сиз өткөргөн убакыт комментарийленет.

1 -кадам: куруу

Build
Build
Build
Build

Куруу үчүн, сиз каалаган нерсени ойлоно аласыз. Кичинекей секундомер сонун болмок, бирок мен кичинекей эч нерсе кылган жокмун.

Ошентип, картон жана аркада баскычтары басуунун жолу болчу!

Мен колдонгон такта - бул ESP8266 WeMos D1 Mini. Бул Arduino караганда арзан жана бортунда WiFi бар!

Экран Nokia 5110 ЖК болуп саналат.

п

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 -кадам: Код

Code
Code
Code
Code
Code
Code

Мага жөн эле кодду бериңиз

Толук баштапкы кодду бул жерден таба аласыз:

github.com/antoinech/glo-stopwatch

Сиз үчүн иштеши үчүн, бул өзгөрмөлөрдү өзгөртүүүңүз керек болот:

// WiFi ишеним грамоталарыңызды ар дайым кошуңуз char* ssid = "--your-ssid--"; const char* 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/

Түшүндүрмөлөр

Булак кодунда сиз билип аласыз:

  • HTTPS чекитине кантип туташуу керек
  • POST же GET өтүнүчүн кантип жасоо керек
  • объекттерди жана массивдерди алуу үчүн JSON жообун кантип сериялаштыруу керек
  • Nokia 5110 ЖКда текстти жана сүрөттөрдү кантип көрсөтүү керек

Бул API жөнүндө көбүрөөк билгиңиз келсе:

support.gitkraken.com/developers/overview/

Бул суроо POST жана GET сурамдарын колдонгон каалаган API менен иштей алат:)

3 -кадам: HTTPS вебсайтына туташыңыз

Бул жасалма код HTTPS вебсайтына кантип туташууну түшүндүрөт. Анын алгачкы кадамдары а менен бирдей

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 сурамын жасоонун синтаксиси:

StrD PostData = "{"; PostData += "\" текст / ": \" менин кабарым / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + алып жүрүүчү + "\ 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 катары жөнөткөн маалыматтар, бул учурда:

{

"text": "менин кабарым"}

Url өзгөрмөсү - бул акыркы чекиттин url, хост, веб -сайттын url, алып жүрүүчүсү - APIге жетүү белгиси.

АЛУУ

Бул GET өтүнүчү үчүн жасалма код:

client.print (String ("Get") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Authorization:" + алып жүрүүчү + "\ r / n" + "Колдонуучу-Агент: BuildFailureDetectorESP8266 / r / n" + "Байланыш: тирүү калуу / r / n / r / n"); Serial.println ("өтүнүч жөнөтүлдү"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("headers гирифта"); тыныгуу; }} Сап сабы = client.readStringUntil ('\ n');

Бул буйруктун натыйжасы саптын өзгөрмөсүндө сакталат.

5 -кадам: JSON & NOKIA ЖК

Окшош долбоорго жетүү үчүн Nokia 5110 LCDге сүрөттөрдү, тексттерди жана символдорду көрсөтүү керек болот.

JSONду Arduino C ++ менен иштетүү үчүн, бул жөнүндө баарын айтып бере турган ArduinoJson веб -сайтын колдонуңуз!

Эгер бар болсо, суроолорду жазуудан тартынбаңыз же бул булак коду / окуу куралы менен жасаган нерселериңизди жазыңыз.

Сунушталууда: