สารบัญ:

นาฬิกาจับเวลาที่เชื่อมต่อ: 5 ขั้นตอน
นาฬิกาจับเวลาที่เชื่อมต่อ: 5 ขั้นตอน

วีดีโอ: นาฬิกาจับเวลาที่เชื่อมต่อ: 5 ขั้นตอน

วีดีโอ: นาฬิกาจับเวลาที่เชื่อมต่อ: 5 ขั้นตอน
วีดีโอ: วิธีใช้ บริการนาฬิกาจับเวลาออนไลน์ (Online Stopwatch) บนเว็บไซต์ Thaiware.com 2024, พฤศจิกายน
Anonim
เชื่อมต่อนาฬิกาจับเวลา
เชื่อมต่อนาฬิกาจับเวลา
เชื่อมต่อนาฬิกาจับเวลา
เชื่อมต่อนาฬิกาจับเวลา
เชื่อมต่อนาฬิกาจับเวลา
เชื่อมต่อนาฬิกาจับเวลา

สวัสดี!ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีเชื่อมต่ออุปกรณ์ที่เข้ากันได้กับ Arduino ที่ติดตั้ง WiFi เข้ากับ REST API! ใช้เว็บแอป GitKraken Glo Board เพื่อสร้างบอร์ด คอลัมน์ & การ์ดเพื่อจัดระเบียบสิ่งต่างๆ!

จำเป็นต้องมีความรู้เกี่ยวกับวิธีการทำงานของ API สาธารณะ โครงการนี้มีขึ้นเพื่อใช้ API ของ GitKraken Glo เพื่อติดตามเวลาที่คุณใช้กับงานในรายการสิ่งที่ต้องทำของคุณ

ตัวอย่างเช่น คุณต้องทำงานนี้:

- ดื่มกาแฟ

คุณกดเริ่มเมื่อคุณเริ่ม เมื่อเสร็จสิ้น คุณกดเสร็จสิ้น และ voila เวลาที่คุณใช้ไปจะถูกแสดงความคิดเห็น

ขั้นตอนที่ 1: สร้าง

สร้าง
สร้าง
สร้าง
สร้าง

ในการสร้างคุณสามารถคิดอะไรได้ นาฬิกาจับเวลาขนาดเล็กจะดีมาก แต่ฉันไม่ได้วางอะไรเล็ก ๆ ไว้

ดังนั้นปุ่มกระดาษแข็งและอาร์เคดจึงเป็นทางไป!

บอร์ดที่ฉันใช้คือ ESP8266 WeMos D1 Mini ราคาถูกกว่า Arduino และมี WiFi ในตัว!

หน้าจอเป็น Nokia 5110 LCD

NS

รายการอะไหล่ใน AliExpress:

  • โนเกีย 5110
  • 2 ปุ่มอาร์เคด
  • ESP8266
  • สายจัมเปอร์
  • กล่องกระดาษแข็ง

แต่โดยทั่วไปคุณจะพบได้ทุกที่หรือบนเว็บไซต์อื่น ๆ เช่น Amazon หรือ eBay

บิลทั้งหมด: 5€86

การเชื่อมต่อพิน:

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 ↔ ปุ่มอาร์เคด

D3 (GPI18) ↔ ปุ่มซ้าย

D4 (GPI17) ↔ ปุ่มขวา

หมุดอีกอันของปุ่มเชื่อมต่อกับกราวด์ (GND)

ขั้นตอนที่ 2: รหัส

รหัส
รหัส
รหัส
รหัส
รหัส
รหัส

แค่ให้รหัสกับฉัน

คุณสามารถค้นหาซอร์สโค้ดแบบเต็มได้ที่นี่:

github.com/antoinech/glo-stopwatch

เพื่อให้ได้ผล คุณจะต้องเปลี่ยนตัวแปรเหล่านี้:

//ใส่ข้อมูลรับรอง WiFi ของคุณที่นี่const char* ssid = "--your--ssid--"; const char* password = "--ของคุณ--รหัสผ่าน--"; //ใส่โทเค็นการเข้าถึงส่วนบุคคลของคุณ (https://support.gitkraken.com/developers/pats/) const char *bearer = "Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

คุณจะต้องมีห้องสมุด Adafruit 2 แห่ง:

github.com/adafruit/Adafruit-GFX-Library

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

และ Arduino Json ที่ยอดเยี่ยมนี้:

arduinojson.org/

คำอธิบาย

ในซอร์สโค้ดคุณจะพบ:

  • วิธีเชื่อมต่อกับปลายทาง
  • วิธีสร้างคำขอ POST หรือ GET
  • วิธีทำให้เป็นอันดับการตอบสนอง JSON เพื่อรับวัตถุและอาร์เรย์
  • วิธีแสดงข้อความและรูปภาพใน Nokia 5110 LCD

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ API นี้:

support.gitkraken.com/developers/overview/

คำขอเหล่านี้สามารถทำงานกับ API ใด ๆ ที่ใช้คำขอ POST และ GET จากระยะไกลได้:)

ขั้นตอนที่ 3: เชื่อมต่อกับเว็บไซต์

รหัสเทียมนี้อธิบายวิธีเชื่อมต่อกับเว็บไซต์ HTTPS ขั้นตอนแรกเหมือนกับ a

ไคลเอนต์ WiFiClient

แต่มีขั้นตอนการตรวจสอบ คุณต้องไปที่ปลายทาง API ที่คุณต้องการตรวจสอบ และตรวจสอบลายนิ้วมือ SHA1 ของใบรับรอง คัดลอกวางเป็นสตริงในรหัสของคุณและโทร client.verify(ลายนิ้วมือ, 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 (ลายนิ้วมือ, โฮสต์)) { Serial.println ("ใบรับรองที่ตรงกัน"); } else { Serial.println("ใบรับรองไม่ตรงกัน"); }

ขั้นตอนที่ 4: สร้างคำขอ POST / GET

โพสต์

นี่คือไวยากรณ์สำหรับส่งคำขอ POST:

สตริง PostData = "{"; PostData +="\"text\":\"ข้อความของฉัน\""; 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 ในกรณีนี้:

{

"text": "ข้อความของฉัน" }

ตัวแปร url คือ url ของ endpoint, โฮสต์, url ของเว็บไซต์, bearer คือโทเค็นการเข้าถึง API

รับ

นี่คือรหัสเทียมสำหรับคำขอ GET:

client.print(String("GET") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Authorization: " + bearer + "\r\n" + "ตัวแทนผู้ใช้: BuildFailureDetectorESP8266\r\n" + "การเชื่อมต่อ: keep-alive\r\n\r\n"); Serial.println("ส่งคำขอแล้ว"); while (client.connected()) { String line = client.readStringUntil('\n'); ถ้า (บรรทัด == "\r") { Serial.println ("ส่วนหัวที่ได้รับ"); หยุดพัก; } } สายอักขระ = client.readStringUntil('\n');

ผลลัพธ์ของคำสั่งนี้จะถูกเก็บไว้ในตัวแปรบรรทัด

ขั้นตอนที่ 5: JSON & NOKIA LCD

เพื่อให้บรรลุโครงการที่คล้ายคลึงกัน คุณจะต้องแสดงรูปภาพ ข้อความ และสัญลักษณ์บน Nokia 5110 LCD คุณสามารถดูบทช่วยสอนแบบเจาะลึกนี้ได้จากวิศวกรล่าสุด

ในการจัดการ JSON ใน Arduino C++ ให้ใช้เว็บไซต์ ArduinoJson ที่จะบอกคุณทุกอย่างเกี่ยวกับมัน!

อย่าลังเลที่จะโพสต์คำถามถ้าคุณมี หรือโพสต์สิ่งที่คุณสร้างด้วยซอร์สโค้ด / บทช่วยสอนนี้

แนะนำ: