Satura rādītājs:

Pievienots hronometrs: 5 soļi
Pievienots hronometrs: 5 soļi

Video: Pievienots hronometrs: 5 soļi

Video: Pievienots hronometrs: 5 soļi
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Decembris
Anonim
Pievienots hronometrs
Pievienots hronometrs
Pievienots hronometrs
Pievienots hronometrs
Pievienots hronometrs
Pievienots hronometrs

Labdien! Šajā apmācībā jūs uzzināsit, kā savienot jebkuru ar Arduino saderīgu ierīci, kas aprīkota ar WiFi, REST API! Izmantojiet tīmekļa lietotni GitKraken Glo Board, lai izveidotu dēļus, kolonnas un kartītes lietu kārtošanai!

Ir vajadzīgas zināmas zināšanas par publiskās API darbību. Šis projekts ir paredzēts, lai izmantotu GitKraken Glo API, lai izsekotu laiku, ko pavadāt uzdevumiem savos uzdevumos.

Piemēram, jums ir jāveic šādi uzdevumi:

- Dzert kafiju

Kad sākat, nospiediet sākuma pogu, kad esat pabeidzis, nospiediet Gatavs, un, voilà, jūsu pavadītais laiks tiek komentēts.

1. darbība. Veidojiet

Būvēt
Būvēt
Būvēt
Būvēt

Lai izveidotu, jūs varat domāt par jebko. Neliels hronometrs būtu lieliski, bet es neko mazu nenovietoju.

Tātad kartona un arkādes spiedpogas bija pareizais ceļš!

Tāfele, kuru izmantoju, ir ESP8266 WeMos D1 Mini. Tas ir lētāk nekā Arduino, un tajā ir WiFi!

Ekrāns ir Nokia 5110 LCD.

n

Daļu saraksts vietnē AliExpress:

  • Nokia 5110
  • 2 arkādes pogas
  • ESP8266
  • Jumper vadi
  • Kartona kastē

Bet jūs to galvenokārt varat atrast jebkur vai citās vietnēs, piemēram, Amazon vai eBay.

Kopējais rēķins: 5 € 86

Tapu savienojumi:

ESP8266 WeMos D1 Mini un Nokia 5110 LCD

  • D2 (GPIO4) ↔ 0 RST
  • D1 (GPIO5) ↔ 1 CE
  • D6 (GPIO12) ↔ 2 līdzstrāvas
  • D7 (GPIO13) ↔ 3 DIN
  • D5 (GPIO14) ↔ 4 CLK
  • 3V3 un 5VCC
  • D0 (GPIO16) ↔ 6 BL
  • G (GND) ↔ 7 GND

ESP8266 WeMos D1 Mini, arkādes pogas

D3 (GPI18), kreisā poga

D4 (GPI17) ↔ labā poga

Pogas otra tapa ir savienota ar zemi (GND).

2. darbība: kods

Kods
Kods
Kods
Kods
Kods
Kods

Vienkārši dodiet man kodu

Pilnu avota kodu varat atrast šeit:

github.com/antoinech/glo-stopwatch

Lai tas jums noderētu, jums būs jāmaina šie mainīgie:

// Ievietojiet savus WiFi akreditācijas datus šeit* char* ssid = "-jūsu-ssid--"; const char* parole = "-jūsu-parole-"; // Put your Personal Access Token (https://support.gitkraken.com/developers/pats/) const char *bearer = "Nesējs XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Jums būs nepieciešamas arī 2 Adafruit bibliotēkas:

github.com/adafruit/Adafruit-GFX-Library

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

Un šis brīnišķīgais Arduino Json:

arduinojson.org/

Skaidrojumi

Avota kodā jūs uzzināsit:

  • kā izveidot savienojumu ar HTTPS galapunktu
  • kā izveidot POST vai GET pieprasījumu
  • kā serializēt JSON atbildi, lai iegūtu objektus un masīvus
  • kā parādīt tekstu un attēlus Nokia 5110 LCD

Ja vēlaties uzzināt vairāk par šo API:

support.gitkraken.com/developers/overview/

Šis pieprasījums varētu darboties ar attālināti jebkuru API, kas izmanto POST un GET pieprasījumus:)

3. darbība: izveidojiet savienojumu ar HTTPS vietni

Šis pseidokods paskaidro, kā izveidot savienojumu ar HTTPS vietni. Pirmie soļi ir tādi paši kā a

WiFiClient klients

bet ar verifikācijas soli. Jums jāiet uz API galapunktu, kuru vēlaties pārbaudīt, un pārbaudiet sertifikāta SHA1 pirkstu nospiedumu. Kopējiet un ielīmējiet to kā virkni savā kodā un zvaniet client.verify (pirkstu nospiedums, hosturl).

WiFiClientSecure klients;

// Savienojuma izveide ar WiFi WiFi.mode (WIFI_STA); WiFi.begin (ssid, parole); while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); Sērijas nospiedums ("."); } if (! client.connect (host, httpsPort)) {Serial.println ("savienojums neizdevās"); atgriešanās; } if (client.verify (pirkstu nospiedums, resursdators)) {Serial.println ("sertifikāts atbilst"); } else {Serial.println ("sertifikāts neatbilst"); }

4. darbība. Sūtiet POST / GET pieprasījumus

POST

Šī ir POST pieprasījuma sintakse:

String PostData = "{"; PostData += "\" text / ": \" mans ziņojums / ""; PostData += "}"; Serial.print (PostData); client.print (String ("POST") + url + "HTTP/1.1 / r / n" + "Host:" + resursdators + "\ r / n" + "Autorizācija:" + nesējs + "\ r / n" + "User-Agent: BuildFailureDetectESESP8266 / r / n" + "cache-control: no-cache / r / n" + "Content-Type: application/json / r / n" + "Content-Length:" + PostData. garums () + "\ r / n" + "\ r / n" + PostData + "\ n"); Serial.println ("pieprasījums nosūtīts");

PostData ir dati, kurus jūs sūtāt kā JSON, šajā gadījumā:

{

"text": "mans ziņojums"}

URL mainīgais ir galapunkta URL, resursdators, vietnes URL, nesējs ir API piekļuves pilnvara.

GŪT

Šis ir GET pieprasījuma pseidokods:

client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + resursdators + "\ r / n" + "Autorizācija:" + nesējs + "\ r / n" + "User-Agent: BuildFailureDetectESESP8266 / r / n" + "Savienojums: saglabāt dzīvu / r / n / r / n"); Serial.println ("pieprasījums nosūtīts"); while (client.connected ()) {String line = client.readStringUntil ('\ n'); if (line == "\ r") {Serial.println ("galvenes saņemtas"); pārtraukums; }} String line = client.readStringUntil ('\ n');

Šīs komandas rezultāts tiks saglabāts rindas mainīgajā.

5. darbība: JSON & NOKIA LCD

Lai sasniegtu līdzīgu projektu, Nokia 5110 LCD displejā būs jāparāda attēli, teksti un simboli. Jūs varat apskatīt šo padziļināto pamācību no lastminuteengineers.

Lai apstrādātu JSON Arduino C ++, izmantojiet ArduinoJson vietni, kas jums visu pastāstīs!

Nevilcinieties publicēt jautājumus, ja jums tādi ir, vai publicējiet to, ko esat izveidojis, izmantojot šo avota kodu / apmācību.

Ieteicams: