Daftar Isi:

Stopwatch Terhubung: 5 Langkah
Stopwatch Terhubung: 5 Langkah

Video: Stopwatch Terhubung: 5 Langkah

Video: Stopwatch Terhubung: 5 Langkah
Video: Bagaimana Memperbaiki masalah Perangkat Fitpro yang terputus 2024, November
Anonim
Stopwatch Terhubung
Stopwatch Terhubung
Stopwatch Terhubung
Stopwatch Terhubung
Stopwatch Terhubung
Stopwatch Terhubung

Halo! Dalam tutorial ini Anda akan menemukan cara menghubungkan perangkat apa pun yang kompatibel dengan Arduino, yang dilengkapi dengan WiFi, ke REST API! Ini menggunakan aplikasi web GitKraken Glo Board untuk membuat papan, kolom & kartu untuk mengatur berbagai hal!

Beberapa pengetahuan tentang cara kerja API publik diperlukan. Proyek ini dimaksudkan untuk menggunakan API GitKraken Glo untuk melacak waktu yang Anda habiskan untuk tugas-tugas di daftar Tugas Anda.

Misalnya, Anda harus melakukan tugas ini:

- Minum kopi

Anda menekan mulai ketika Anda mulai, ketika Anda selesai, Anda menekan Selesai, dan voila, waktu yang Anda habiskan akan dikomentari.

Langkah 1: Bangun

Membangun
Membangun
Membangun
Membangun

Untuk membangun, Anda bisa memikirkan apa saja. Stopwatch kecil akan bagus, tapi saya tidak meletakkan sesuatu yang kecil.

Jadi tombol tekan kardus dan arcade adalah cara yang tepat!

Papan yang saya gunakan adalah ESP8266 WeMos D1 Mini. Ini lebih murah daripada Arduino, dan memiliki WiFi onboard!

Layarnya adalah LCD Nokia 5110.

n

Daftar bagian di AliExpress:

  • Nokia 5110
  • 2 Tombol arcade
  • ESP8266
  • Kabel jumper
  • Kotak kardus

Tetapi pada dasarnya Anda dapat menemukannya di mana saja atau di situs web lain seperti Amazon atau eBay.

Tagihan keseluruhan: 5€86

Koneksi pin:

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 Tombol Arkade

D3 (GPI18) Tombol Kiri

D4 (GPI17) Tombol Kanan

Pin tombol lainnya yang terhubung ke ground (GND).

Langkah 2: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Berikan saja kodenya

Anda dapat menemukan kode sumber lengkap di sini:

github.com/antoinech/glo-stopwatch

Untuk membuatnya bekerja untuk Anda, Anda perlu mengubah variabel-variabel ini:

//Masukkan kredensial WiFi Anda di siniconst char* ssid = "--your--ssid--"; const char* password = "--your--password--"; //Masukkan Token Akses Pribadi Anda (https://support.gitkraken.com/developers/pats/) const char *bearer = "Pembawa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Anda juga membutuhkan 2 perpustakaan Adafruit:

github.com/adafruit/Adafruit-GFX-Library

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

Dan Arduino Json yang luar biasa ini:

arduinojson.org/

penjelasan

Dalam kode sumber Anda akan menemukan:

  • cara menghubungkan ke titik akhir
  • cara membuat POST atau permintaan GET
  • cara membuat serial respons JSON untuk mendapatkan objek dan array
  • cara menampilkan teks dan gambar di LCD Nokia 5110

Jika Anda ingin mempelajari lebih lanjut tentang API ini:

support.gitkraken.com/developers/overview/

Permintaan ini dapat bekerja dengan API apa pun dari jarak jauh yang menggunakan permintaan POST dan GET:)

Langkah 3: Hubungkan ke Situs Web

Kode semu ini menjelaskan cara terhubung ke situs web HTTPS. Langkah pertamanya sama dengan a

Klien WiFiClient

tetapi dengan langkah verifikasi. Anda harus pergi ke titik akhir API yang ingin Anda verifikasi, dan periksa sidik jari SHA1 sertifikat. Salin tempel sebagai string dalam kode Anda dan panggil client.verify(sidik jari, hosturl).

Klien WiFiClientSecure;

//Hubungkan ke WiFi WiFi.mode(WIFI_STA); WiFi.begin(ssid, kata sandi); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } if (!client.connect(host, httpsPort)) { Serial.println("koneksi gagal"); kembali; } if (klien.verifikasi(sidik jari, host)) { Serial.println("sertifikat cocok"); } else { Serial.println("sertifikat tidak cocok"); }

Langkah 4: Buat POST / DAPATKAN Permintaan

POS

Ini adalah sintaks untuk membuat permintaan POST:

String PostData = "{"; PostData +="\"teks\":\"pesan saya\""; PostData += "}"; Serial.print(Data Pos); client.print(String("POST") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Otorisasi: " + pembawa + "\r\n" + "Agen-Pengguna: BuildFailureDetectorESP8266\r\n" + "kontrol cache: tanpa-cache\r\n" + "Jenis Konten: aplikasi/json \r\n" + "Panjang Konten: " + PostData. panjang() + "\r\n" + "\r\n" + PostData + "\n"); Serial.println("permintaan terkirim");

PostData adalah data yang Anda kirim sebagai JSON, dalam hal ini:

{

"teks": "pesan saya" }

Variabel url adalah url titik akhir, host, url situs web, pembawa adalah token akses API.

DAPATKAN

Ini adalah pseudo-code untuk permintaan GET:

client.print(String("GET") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Otorisasi: " + pembawa + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Koneksi: keep-alive\r\n\r\n"); Serial.println("permintaan terkirim"); while (client.connected()) { String baris = client.readStringUntil('\n'); if (baris == "\r") { Serial.println("header diterima"); merusak; } } String baris = client.readStringUntil('\n');

Hasil dari perintah ini akan disimpan dalam variabel baris.

Langkah 5: JSON & NOKIA LCD

Untuk mencapai proyek serupa, Anda perlu menampilkan gambar, teks, dan simbol ke LCD Nokia 5110. Anda dapat melihat Tutorial Mendalam ini dari teknisi menit terakhir.

Untuk menangani JSON di Arduino C++, gunakan situs web ArduinoJson yang akan memberi tahu Anda semuanya!

Jangan ragu untuk memposting pertanyaan jika ada, atau memposting apa yang Anda buat dengan kode sumber / tutorial ini.

Direkomendasikan: