สารบัญ:

GmailBox พร้อม Zapier และ Adafruit: 14 ขั้นตอน
GmailBox พร้อม Zapier และ Adafruit: 14 ขั้นตอน

วีดีโอ: GmailBox พร้อม Zapier และ Adafruit: 14 ขั้นตอน

วีดีโอ: GmailBox พร้อม Zapier และ Adafruit: 14 ขั้นตอน
วีดีโอ: How to Send No Code Email Notifications with @Zapier and Gmail 2024, พฤศจิกายน
Anonim
GmailBox พร้อม Zapier และ Adafruit
GmailBox พร้อม Zapier และ Adafruit

ในคำแนะนำนี้ฉันจะอธิบายคุณทีละขั้นตอนเกี่ยวกับวิธีสร้างตัวแจ้งเตือน Gmail ด้วย ESP8266

อะไรที่คุณต้องการ:

- บัญชี Gmail

- บัญชี Zapier

- บัญชีอดาฟรุต

- Arduino IDE

- NodeMCU ESP8266

- เซอร์โวมอเตอร์ (ฉันใช้ SG90)

- ไฟ LED (ฉันใช้แถบ LED Neopixel ไฟอื่นๆ ก็ใช้งานได้เช่นกัน แต่อาจต้องใช้ไลบรารีอื่น)

ขั้นตอนที่ 1: การตั้งค่า Zapier

การตั้งค่า Zapier
การตั้งค่า Zapier
การตั้งค่า Zapier
การตั้งค่า Zapier

สร้างบัญชี Zapier และสร้าง Zap ใหม่ คุณจะต้องใช้ Zapier เพื่อรับข้อมูลจาก Gmail และไปที่ Adafruit ในภายหลัง ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง

ขั้นตอนที่ 2: การสร้างทริกเกอร์

การสร้างทริกเกอร์
การสร้างทริกเกอร์
การสร้างทริกเกอร์
การสร้างทริกเกอร์

เราต้องการตรวจสอบให้แน่ใจว่าหากคุณได้รับอีเมลใน Gmail จะต้องมีสิ่งอื่นๆ เกิดขึ้น ดังนั้นคุณจะต้องมีบัญชี Gmail ของคุณ ใน Zap ใหม่ของคุณ ให้เลือก Gmail เป็นแอปพลิเคชันทริกเกอร์และลงชื่อเข้าใช้ Gmail

ขั้นตอนที่ 3: เชื่อมต่อ Zapier กับ Adafruit

เชื่อมต่อ Zapier กับ Adafruit
เชื่อมต่อ Zapier กับ Adafruit
เชื่อมต่อ Zapier กับ Adafruit
เชื่อมต่อ Zapier กับ Adafruit
เชื่อมต่อ Zapier กับ Adafruit
เชื่อมต่อ Zapier กับ Adafruit

ตอนนี้คุณต้องการส่งข้อมูลที่คุณได้รับใน Gmail ไปยัง Adafruit ในส่วน "ทำเช่นนี้" ค้นหา Adafruit และเชื่อมต่อกับบัญชี Adafruit ของคุณ จากนั้นเลือก "สร้างข้อมูลฟีด" เป็นกิจกรรมการดำเนินการ

ขั้นตอนที่ 4: การตั้งค่า Adafruit

การตั้งค่า Adafruit
การตั้งค่า Adafruit
การตั้งค่า Adafruit
การตั้งค่า Adafruit
การตั้งค่า Adafruit
การตั้งค่า Adafruit

ตอนนี้ไปที่ io.adafruit.com และสร้างบัญชี หากคุณยังไม่มี ไปที่ฟีดของคุณและสร้างฟีดใหม่ ในกรณีนี้ ชื่อฟีดของฉันคือ "gmailbox" คุณจะต้องใช้ในภายหลัง

หากคุณไม่พบ Adafruit Key ของคุณ คุณสามารถค้นหาได้ที่มุมขวาบน

ขั้นตอนที่ 5: ดึงข้อมูลจาก Zapier

ฟีดข้อมูลจาก Zapier
ฟีดข้อมูลจาก Zapier
ฟีดข้อมูลจาก Zapier
ฟีดข้อมูลจาก Zapier

กลับไปที่ Zapier เพื่อจัดเรียงส่วนข้อมูลฟีดของคุณ ที่ปุ่มฟีด ให้เลือกตัวเลือก "ใช้ค่าที่กำหนดเอง" "ค่าคัสตัมสำหรับคีย์ฟีด" จะต้องเหมือนกับชื่อจากฟีดของคุณใน Adafruit ดังนั้นโปรดใช้ความระมัดระวังด้วยตัวพิมพ์ใหญ่

ที่ "ค่า" กรอกวัดที่ต้องการเห็นเป็นค่าใน Adafruit ค่าเดียวกันนี้จะปรากฏในภายหลังในมอนิเตอร์แบบอนุกรมใน Arduino

ขั้นตอนที่ 6: ทดสอบกับ Zapier, Adafruit และ Gmail

กำลังทดสอบกับ Zapier, Adafruit และ Gmail
กำลังทดสอบกับ Zapier, Adafruit และ Gmail
กำลังทดสอบกับ Zapier, Adafruit และ Gmail
กำลังทดสอบกับ Zapier, Adafruit และ Gmail

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

ขั้นตอนที่ 7: การตั้งค่า Arduino

การตั้งค่า Arduino
การตั้งค่า Arduino

เสียบปลั๊ก ESP8266 ของคุณและเปิด Arduino สร้างร่างใหม่และแท็บใหม่ตามที่ระบุในภาพด้านบน ตั้งชื่อเป็น "config.h" (ตั้งชื่ออะไรก็ได้ตามต้องการ) วางโค้ดด้านล่างลงในแท็บ "config"

ด้วยรหัสนี้ คุณสามารถเชื่อมต่อกับ WiFi และ Adafruit ของคุณได้ ฉันได้รับจากโครงการที่ใช้ก่อนหน้านี้ ฉันยังคงใช้มันและทำงานได้ดีสำหรับฉัน

/************************ Adafruit IO Config ************************ *********/

// ไปที่ io.adafruit.com หากคุณต้องการสร้างบัญชี // หรือหากคุณต้องการรหัส Adafruit IO #define IO_USERNAME "ชื่อผู้ใช้ adafruit ของคุณ" #define IO_KEY "คีย์ adafruit" /******************************* WIFI ** ******************************************/ #define WIFI_SSID " wifi ssd ของคุณ" #define WIFI_PASS "wifi รหัสผ่าน" #include "AdafruitIO_WiFi.h"

ขั้นตอนที่ 8: การตั้งค่า NodeMCU. ของคุณ

การตั้งค่า NodeMCU. ของคุณ
การตั้งค่า NodeMCU. ของคุณ

เชื่อมต่อเซอร์โวมอเตอร์และแถบ LED กับ ESP8266 ของคุณ

สายไฟจากเซอร์โวมอเตอร์ (SG90): สีน้ำตาลไปที่ G (กราวด์) สีแดงไปที่ 3V สีส้มไปที่ D6 (หรือพินดิจิตอลอื่น) ฉันยังใช้สายเคเบิลพิเศษเพื่อต่อขยาย

สายไฟจาก Neopixel: GDN ไปที่ G (กราวด์), DIN ไปที่ D4 (หรือพินดิจิทัลอื่น), +5V ไปที่ 3V

ขั้นตอนที่ 9: การตั้งค่าไลบรารีและฮาร์ดแวร์

ตอนนี้ไปที่ร่าง Arduino ของคุณที่คุณเพิ่งสร้างขึ้น ขั้นแรกคุณต้องรวมไลบรารีที่คุณต้องการไว้ในแบบร่าง คุณจะต้องใช้ config.h ที่คุณเพิ่งสร้างขึ้น ไลบรารีสำหรับ ESP8622 และสำหรับแถบ LED Neopixel

คุณใส่สิ่งนี้ในรหัสดังนี้:

#include "config.h"

#รวม #รวม

ต่อไปคุณจะต้องรวมฮาร์ดแวร์ที่คุณใช้อยู่

#รวม

เซอร์โวเซอร์โว; #define PIXEL_PIN D4 #define PIXEL_COUNT 10 #define PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

เพิ่มบรรทัดนี้เพื่อเชื่อมโยงภาพร่างนี้กับฟีดใน Adafruit:

AdafruitIO_Feed *gmailbox = io.feed("ชื่อฟีดของคุณ");

ขั้นตอนที่ 10: รหัสการตั้งค่าเป็นโมฆะ

ใน "การตั้งค่าเป็นโมฆะ" คุณจะเชื่อมต่อกับ Adafruit, WiFi และตั้งค่าเซอร์โวมอเตอร์เป็นพินที่กำหนด หลังจากนี้คุณสามารถตรวจสอบในมอนิเตอร์แบบอนุกรมว่ามีการเชื่อมต่อหรือไม่

ฉันแนะนำให้คุณพิมพ์รหัสใหม่แทนการคัดลอกและวาง ทำให้ง่ายต่อการจดจำในภายหลัง และคุณเริ่มเรียนรู้สิ่งที่คุณเขียนอย่างแม่นยำ

รหัสจะมีลักษณะดังนี้:

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

// ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้หนึ่งครั้ง: // เริ่มการเชื่อมต่อแบบอนุกรมด้วยจอภาพอนุกรม Serial.begin(115200) // รอให้มอนิเตอร์แบบอนุกรมเปิดในขณะที่ (!Serial); // เชื่อมต่อกับ io.adafruit.com Serial.print ("กำลังเชื่อมต่อกับ Adafruit IO"); io.connect(); // ตั้งค่าตัวจัดการข้อความสำหรับฟีด 'ชื่อฟีดของคุณ' // ฟังก์ชัน handleMessage (กำหนดไว้ด้านล่าง) จะถูกเรียกทุกครั้งที่มีข้อความ // ได้รับจาก Adafruit // รอการเชื่อมต่อ while(io.status() get(); // pin of servomotor servo.attach(D6); servo.write(0); nameofyourfeed->onMessage(handleMessage); }

ขั้นตอนที่ 11: โมฆะรหัสวนรอบ

ต่อไปคุณต้องแน่ใจว่า Adafruit ทำงานอย่างต่อเนื่อง เราต้องใส่สิ่งนี้ใน void loop ดังนั้นฉันจึงทำงานอย่างต่อเนื่อง

ทำเช่นนี้:

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

// ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: io.run(); }

ขั้นตอนที่ 12: ฟังก์ชันสำหรับเซอร์โวมอเตอร์และไฟ LED เป็นเอาต์พุต

ตอนนี้เรากำลังจะทำให้แน่ใจว่าเมื่อคุณได้รับอีเมล เซอร์โวมอเตอร์และไฟ LED จะตอบสนอง เราจะสร้างฟังก์ชันที่รับรองสิ่งนี้ ฟังก์ชันจะมีชื่อว่า "handleMessage" ที่เราใช้ก่อนหน้านี้ในโค้ด เราจะใช้ค่าที่เราเห็นอดาฟรุตนี่แหละค่ะ

หากคุณได้รับอีเมลใหม่ เซอร์โวมอเตอร์จะต้องหมุน 90 องศาและไฟ LED จะต้องติดสว่าง สำหรับไฟ LED เราใช้สีแดงเป็นสี แต่คุณสามารถเปลี่ยนได้ตามที่คุณต้องการ คุณยังต้องการให้แน่ใจว่าไม่ได้เปิดแค่ LED แรกของแถบเท่านั้น ดังนั้นคุณต้องร้อยเป็นวงเพื่อให้แสงทั้งแถบ

และอีกครั้ง ให้ลองพิมพ์โค้ดใหม่แทนการคัดลอกและวาง

รหัสจะมีลักษณะดังนี้:

โมฆะ handleMessage (AdafruitIO_Data * data) {

ถ้า (ข้อมูล > 0) { servo.write (90); ล่าช้า (1000); Serial.println("คุณมีจดหมายแล้ว!"); สำหรับ(int i = 0; i

ขั้นตอนที่ 13: อัปโหลดไปยัง NodeMCU ของคุณและทดสอบ

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

อัปโหลดภาพร่างไปยัง ESP8266 ของคุณ คุณสามารถทำได้โดยคลิกที่ลูกศรชี้ขวาถัดจากเครื่องหมายถูกที่มุมบนซ้าย

หลังจากนั้น คุณสามารถลองส่งอีเมลถึงตัวเองเพื่อทดสอบและตรวจสอบว่าใช้งานได้

ขั้นตอนที่ 14: สัมผัสสุดท้าย

คุณทำกับส่วนการเข้ารหัสเสร็จแล้ว รู้สึกสร้างสรรค์? สร้างกล่องรับจดหมายสำหรับสิ่งที่คุณเพิ่งทำและติดธงบนเซอร์โวมอเตอร์ ธงจะสูงขึ้นทุกครั้งที่คุณได้รับอีเมล!

ขอบคุณสำหรับการติดตามคู่มือนี้และฉันหวังว่ามันจะช่วย

แนะนำ: