สารบัญ:

เชื่อมต่อ Arduino ของคุณกับบริการภายนอก: 6 ขั้นตอน
เชื่อมต่อ Arduino ของคุณกับบริการภายนอก: 6 ขั้นตอน

วีดีโอ: เชื่อมต่อ Arduino ของคุณกับบริการภายนอก: 6 ขั้นตอน

วีดีโอ: เชื่อมต่อ Arduino ของคุณกับบริการภายนอก: 6 ขั้นตอน
วีดีโอ: 📲💡 Arduino EP.1 การติดตั้ง Arduino+ESP8266 WiFi ทีละขั้นตอน 2024, กรกฎาคม
Anonim
เชื่อมต่อ Arduino ของคุณกับบริการภายนอก
เชื่อมต่อ Arduino ของคุณกับบริการภายนอก

สวัสดี! บทช่วยสอนนี้จะแสดงวิธีเชื่อมต่ออุปกรณ์ Arduino หรือ IOT ที่เชื่อมต่อที่คุณเลือกกับบริการภายนอก เพื่อประโยชน์ของบทช่วยสอนนี้ เราจะทำงานกับ Easy Window (หน้าต่างอัจฉริยะที่สมมติขึ้นแต่ตั้งโปรแกรมได้) หากเป็นเช่นนี้ และ Adafruit IO

เราจะใช้ If This That That (IFTTT จากนี้ไป) เพื่อเปิดม่าน Easy Window ของเราเมื่อข้างนอกมีแดด

ขั้นตอนที่ 1: ข้อกำหนด

ความต้องการ
ความต้องการ

บทช่วยสอนนี้คาดว่าคุณรู้อยู่แล้วว่าจะเชื่อมต่อบอร์ด Arduino ของคุณกับ Adafruit และตั้งค่าฟีดได้อย่างไร ในกรณีที่คุณต้องการการเตือนความจำสั้นๆ เกี่ยวกับวิธีการทำเช่นนี้ คุณสามารถทำตามบทช่วยสอนนี้ (เป็นภาษาดัตช์)

- บอร์ด Arduino ที่คุณเลือก ต้องเปิดใช้งาน WiFi

- สายไมโคร USB

- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

- บัญชีบน Adafruit IO (ลิงค์สมัคร)

- บัญชีบน If This That That (ลิงค์สมัคร)

ขั้นตอนที่ 2: การตั้งค่าฟีด Adafruit IO ของคุณ

การตั้งค่าฟีด Adafruit IO ของคุณ
การตั้งค่าฟีด Adafruit IO ของคุณ

มาตั้งค่าฟีด Adafruit IO ที่เราจะต้องส่งข้อมูลของเราไปที่:

  1. เข้าสู่ระบบ Adafruit IO แล้วคลิก "ฟีด" ในแถบเมนูด้านบนซ้าย
  2. คลิกที่ "การดำเนินการ" จากนั้น "สร้างฟีดใหม่" เราจะตั้งชื่อว่า "WindowCurtains" แต่คุณสามารถตั้งชื่อได้ตามต้องการ
  3. คลิกที่ "สร้าง" และคุณทำเสร็จแล้ว!

ขั้นตอนที่ 3: การตั้งค่า If this แล้ว Applet นั้น

การตั้งค่า if this แล้ว that applet
การตั้งค่า if this แล้ว that applet
การตั้งค่า If this แล้ว That Applet
การตั้งค่า If this แล้ว That Applet
การตั้งค่า if this แล้ว that applet
การตั้งค่า if this แล้ว that applet

เราจะใช้ IFTTT เพื่อเปิดม่าน Easy Window ของเราเมื่อได้รับแสงแดดข้างนอก ในขั้นตอนนี้ เราจะเลือกเงื่อนไขทริกเกอร์และเชื่อมต่อกับ Adafruit IO เพื่อส่งข้อมูลไปยังฟีด WindowCurtains ของเรา

เมื่อคุณมีบัญชี IFTTT พร้อมแล้ว คุณสามารถสร้างแอปเพล็ตแรกได้

  1. บนเว็บไซต์ IFTTT ไปที่มุมบนขวาแล้วคลิกชื่อผู้ใช้ของคุณ จากนั้นเลือก "New Applet"
  2. ตอนนี้เราต้องเลือกทริกเกอร์ของเรา คลิกที่ปุ่ม "+นี่" ที่ไฮไลต์แล้วค้นหา Weather Underground จากนั้นเลือกบริการ
  3. มองหาไทล์ "เงื่อนไขปัจจุบันเปลี่ยนเป็น" เลือกแล้วเลือก "ล้าง" จากเมนูแบบเลื่อนลง

ด้วยการตั้งค่าทริกเกอร์ของเรา ตอนนี้เราสามารถเลือกบริการการดำเนินการของเราได้แล้ว

  1. ค้นหา Adafruit และเลือกบริการ
  2. เลือก "ส่งข้อมูลไปยัง Adafruit IO"
  3. เลือกฟีดที่คุณต้องการส่งข้อมูลไป นี่ควรเป็นสิ่งที่คุณสร้างในขั้นตอนก่อนหน้า
  4. ในช่อง "ข้อมูลที่จะบันทึก" ให้พิมพ์ "เปิด" นี่คือข้อมูลที่จะถูกส่งไปยังฟีด Adafruit
  5. คลิกที่ "สร้างการดำเนินการ" ตรวจสอบเงื่อนไขของคุณในหน้าจอถัดไป และคลิก "เสร็จสิ้น" หากเสร็จสิ้น

ขั้นตอนที่ 4: เชื่อมต่ออุปกรณ์ IOT ของเรากับ Adafruit IO และ WiFi

การเชื่อมต่ออุปกรณ์ IOT ของเรากับ Adafruit IO และ WiFi
การเชื่อมต่ออุปกรณ์ IOT ของเรากับ Adafruit IO และ WiFi

ตอนนี้เราได้ตั้งค่าฟีด Adafruit IO และแอปเพล็ต IFTTT แล้ว เราจะมาดูกันว่าเราจะให้บริการเหล่านี้สื่อสารกับอุปกรณ์ IOT ของเราได้อย่างไร

  1. เปิด Arduino IDE
  2. ไปที่ ไฟล์ > ตัวอย่าง > Adafruit IO Arduino > adafruitio_14_neopixel
  3. ไปที่แท็บที่สองชื่อ "config.h"
  4. ใต้ส่วนความคิดเห็นแรกที่ชื่อ "Adafruit IO Config" คุณจะพบบรรทัดของโค้ดเหล่านี้:

#define IO_USERNAME "ชื่อผู้ใช้ของคุณ"

#define IO_KEY "your_key"

แทนที่ "your_username" และ "your_key" ด้วยชื่อผู้ใช้ Adafruit IO และคีย์ AIO แล้วปล่อยไว้ในเครื่องหมายคำพูด

ภายใต้ส่วนความคิดเห็นที่สอง ควรมีโค้ดสองบรรทัดนี้:

#define WIFI_SSID "your_ssid"#define WIFI_PASS "your_pass"

แทนที่ "your_ssid" และ "your_pass" ด้วยข้อมูลรับรอง WiFi ของเราเตอร์ของคุณโดยปล่อยให้อยู่ในเครื่องหมายคำพูด

สำคัญ: Arduino ของคุณจะใช้งานได้บนเครือข่าย 2.4GHz เท่านั้น หากต้องการตรวจสอบว่าเครือข่ายของคุณทำงานด้วยความถี่ที่ถูกต้องหรือไม่ ให้ไปที่การตั้งค่า WiFi ของคอมพิวเตอร์ > เลือกเครือข่ายของคุณ > คุณสมบัติ มองหาบางอย่างในบรรทัดของ "แถบเครือข่าย" และตรวจสอบให้แน่ใจว่าเป็น 2.4GHz ใน Windows 10 ดูเหมือนว่าในภาพหน้าจอด้านบน

ขั้นตอนที่ 5: ทำให้มือของเราสกปรกด้วย Arduino Code

ทำให้มือเราสกปรกด้วย Arduino Code
ทำให้มือเราสกปรกด้วย Arduino Code

ในภาพสเก็ตช์ adafruit_14_neopixel เดียวกันกับขั้นตอนก่อนหน้า ให้ค้นหาทุกบรรทัดที่มี "สี" เขียนอยู่ในนั้นและแทนที่ด้วย "WindowCurtains" จากนั้นทำเช่นเดียวกันกับ "นีโอพิกเซล" และเปลี่ยนด้วย "EasyWindow"

ภายใต้ส่วนความคิดเห็นที่สองชื่อ "ตัวอย่างเริ่มต้นที่นี่" แทน

#รวม "Adafruit_NeoPixel.h"

#define WINDOW_PIN 5

#define PIXEL_COUNT 5

กับ

#include "EasyWindow.h"

#define WINDOW_PIN 5

ที่ส่วนท้ายของ handleMessage void เราจะเขียนและถ้าคำสั่งที่เปิดม่าน Easy Window ของเราหากตรงตามเงื่อนไขเหล่านี้:

ถ้า (WindowCurtain.message == เปิด) { window.open(); } รหัสสุดท้ายของคุณควรมีลักษณะดังนี้

// Adafruit IO RGB LED Output Example// // Adafruit ลงทุนเวลาและทรัพยากรโดยจัดหาโอเพ่นซอร์สโค้ดนี้ // โปรดสนับสนุน Adafruit และฮาร์ดแวร์โอเพ่นซอร์สด้วยการซื้อ // ผลิตภัณฑ์จาก Adafruit! // // เขียนโดย Todd Treece สำหรับ Adafruit Industries // ลิขสิทธิ์ (c) 2016-2017 Adafruit Industries // ได้รับอนุญาตภายใต้ใบอนุญาต MIT // // ข้อความด้านบนทั้งหมดต้องรวมอยู่ในการแจกจ่ายซ้ำ

/**************************** การกำหนดค่า ********************** *************

/ แก้ไขแท็บ config.h และป้อนข้อมูลรับรอง Adafruit IO ของคุณ

// และการกำหนดค่าเพิ่มเติมใดๆ ที่จำเป็นสำหรับ WiFi, เซลลูลาร์, // หรือไคลเอนต์อีเธอร์เน็ต #include "config.h"

/************************ ตัวอย่างเริ่มต้นที่นี่ ********************** *********/

#include "EasyWindow.h"

#define WINDOW_PIN 5

// ตั้งค่าฟีด 'WindowCurtain'

AdafruitIO_Feed *WindowCurtain = io.feed("ม่านหน้าต่าง");

การตั้งค่าเป็นโมฆะ () {

// เริ่มการเชื่อมต่อแบบอนุกรม

Serial.begin(115200);

// รอให้ซีเรียลมอนิเตอร์เปิด

ในขณะที่ (! Serial);

// เชื่อมต่อกับ io.adafruit.com

Serial.print("กำลังเชื่อมต่อกับ Adafruit IO"); io.connect();

// ตั้งค่าตัวจัดการข้อความสำหรับฟีด 'WindowCurtain'

// ฟังก์ชัน handleMessage (กำหนดด้านล่าง) // จะถูกเรียกทุกครั้งที่มีข้อความ // ได้รับจาก adafruit io WindowCurtain->onMessage (จัดการข้อความ);

// รอการเชื่อมต่อ

ในขณะที่ (io.status () < AIO_CONNECTED) { Serial.print ("."); ล่าช้า (500); }

// เราเชื่อมต่อกัน

Serial.println(); Serial.println(io.statusText()); WindowCurtain->get();

// Easy Window init

window.begin(); }

วงเป็นโมฆะ () {

// io.run(); จำเป็นสำหรับสเก็ตช์ทั้งหมด

// ควรอยู่ที่ด้านบนสุดของลูป // ฟังก์ชั่นเสมอ มันทำให้ไคลเอนต์เชื่อมต่อกับ // io.adafruit.com และประมวลผลข้อมูลที่เข้ามา io.run();

}

// ฟังก์ชั่นนี้ถูกเรียกเมื่อใดก็ตามที่มีข้อความ 'WindowCurtain'

// ได้รับจาก Adafruit IO มันถูกแนบมากับ // ฟีด WindowCurtain ในฟังก์ชัน setup() ด้านบน โมฆะ handleMessage (AdafruitIO_Data * data) {

// พิมพ์ค่า RGB และค่าฐานสิบหก

Serial.println("ได้รับคำสั่ง: "); Serial.println(data->value());

WindowCurtains แบบยาว = data->toEasyWindow();

ถ้า (WindowCurtain.message == เปิด) {

window.open(); } }

ขั้นตอนที่ 6: อัปโหลดรหัสของคุณและทดสอบ

อัปโหลดรหัสของคุณและทดสอบ
อัปโหลดรหัสของคุณและทดสอบ

ตอนนี้คุณสามารถอัปโหลดโค้ดของคุณไปยังบอร์ด Arduino ได้แล้ว เชื่อมต่อกับคอมพิวเตอร์ของคุณด้วยสาย USB แล้วกดปุ่ม "อัปโหลด" ที่มุมซ้ายบนของ Arduino IDE (ดูเหมือนลูกศรชี้ขวา)

หากทุกอย่างเป็นไปด้วยดี รหัสของคุณควรอัปโหลดไปยังบอร์ดของคุณโดยไม่สะดุด คุณสามารถตรวจสอบสถานะการเชื่อมต่อในมอนิเตอร์ซีเรียลของ IDE ได้จากเครื่องมือ > การตรวจสอบอนุกรม เมื่ออุปกรณ์ของคุณเชื่อมต่อแล้ว คุณจะได้รับข้อความว่า "เชื่อมต่อแล้ว!" และหากภายนอกปลอดโปร่ง IFTTT จะส่งข้อความ "เปิด" ไปยังฟีด "WindowCurtains" เพื่อเรียกใช้ Easy Window เพื่อเปิดม่าน สิ่งนี้ควรถูกมิเรอร์ในมอนิเตอร์แบบอนุกรมด้วย "Received command: Open"

ยินดีด้วย! คุณถึงจุดสิ้นสุดของบทช่วยสอนและเรียนรู้วิธีเชื่อมต่ออุปกรณ์ Arduino IOT ของคุณกับ IFTTT และทริกเกอร์เงื่อนไขเฉพาะ

แนะนำ: