Мазмұны:

Қосылған секундомер: 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 СКД.

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 тұрақты ток
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 ~ 5 VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 шағын, аркадалық түймелер

D3 (GPI18) ↔ Сол жақ түймешік

D4 (GPI17) ↔ Оң жақ түймешік

Түйменің басқа түйреуі жерге қосылған (GND).

2 -қадам: код

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

Маған кодты беріңіз

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

github.com/antoinech/glo-stopwatch

Сізге жұмыс істеу үшін сізге келесі айнымалыларды өзгерту қажет:

// WiFi есептік жазбаңызды hereconst char* ssid = «--your-ssid--» қойыңыз; const char* password = «-сіздің-құпия сөзіңіз-»; // Жеке кіру белгісін қойыңыз (https://support.gitkraken.com/developers/pats/) const char *bearer = «Тасымалдаушы XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX»;

Сізге Adafruit 2 кітапханасы қажет:

github.com/adafruit/Adafruit-GFX-Library

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

Және бұл керемет Ардуино Джсон:

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 (хост, 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» + «Хост:» + хост + «\ r / n» + «Авторизация:» + тасымалдаушы + «\ 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 ретінде жіберетін деректер, бұл жағдайда:

{

«мәтін»: «менің хабарым»}

Url айнымалысы - бұл соңғы нүктенің url, хост, веб -сайт url, тасымалдаушы - API кіру белгісі.

АЛУ

Бұл GET сұранысының жалған коды:

client.print (Жол («GET») + url + «HTTP/1.1 / r / n» + «Хост:» + хост + «\ r / n» + «Авторизация:» + тасымалдаушы + «\ r / n» + «User-Agent: 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 LCD -де суреттер, мәтіндер мен символдарды көрсету қажет болады. Бұл тереңдіктегі оқулықты соңғы минуттық инженерлерден қарауға болады.

JSON -ды Arduino C ++ - те өңдеу үшін сізге бұл туралы айтатын ArduinoJson веб -сайтын пайдаланыңыз!

Егер сізде сұрақтар туындаса немесе осы бастапқы кодпен / оқулықпен жасағаныңызды жариялаудан тартынбаңыз.

Ұсынылған: