สารบัญ:
- ขั้นตอนที่ 1:
- ขั้นตอนที่ 2:
- ขั้นตอนที่ 3:
- ขั้นตอนที่ 4:
- ขั้นตอนที่ 5:
- ขั้นตอนที่ 6:
- ขั้นตอนที่ 7:
- ขั้นตอนที่ 8:
- ขั้นตอนที่ 9:
- ขั้นตอนที่ 10:
- ขั้นตอนที่ 11:
- ขั้นตอนที่ 12:
- ขั้นตอนที่ 13:
- ขั้นตอนที่ 14:
- ขั้นตอนที่ 15:
- ขั้นตอนที่ 16:
วีดีโอ: รับอีเมลแจ้งเตือนเมื่อช่องของ ThingSpeak ไม่ได้รับการอัพเดตชั่วขณะ: 16 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
เรื่องราวเบื้องหลัง
ฉันมีโรงเรือนอัตโนมัติหกแห่งที่กระจายอยู่ทั่วเมืองดับลิน ประเทศไอร์แลนด์ เมื่อใช้แอปโทรศัพท์มือถือแบบกำหนดเอง ฉันสามารถตรวจสอบและโต้ตอบกับคุณลักษณะอัตโนมัติในเรือนกระจกแต่ละแห่งได้จากระยะไกล ฉันสามารถเปิด/ปิดหน้าต่างด้วยตนเองเมื่ออุณหภูมิสูง/ต่ำเกินไป ฉันสามารถเริ่ม/หยุดการให้น้ำได้เมื่อความชื้นในดินต่ำ/สูงเกินไป และฉันสามารถเริ่ม/หยุดพัดลมระบายอากาศได้เมื่อมีความชื้นในอากาศสูง/ต่ำเกินไป หรือฉันเพียงแค่เปลี่ยนระบบเป็นโหมดอัตโนมัติ แล้วสมอง Arduino จะดูแลผัก รายละเอียดเพิ่มเติมเกี่ยวกับโครงการนี้สามารถพบได้ที่นี่ -
การเชื่อมต่อระยะไกลกับบอร์ด Arduino ที่เรือนกระจกทั้งหกนั้นทำได้โดยใช้ดองเกิล USB GPRS หนึ่งอันในแต่ละตำแหน่ง (ฉันซื้อของฉันจากที่นี่https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html?spm=a2g0s.9042311.0.0.44cb4c4dzVUThU) เนื่องจากเป็นกรณีของการเชื่อมต่อข้อมูลมือถือ (อย่างน้อยในดับลิน) จะลดลงแบบสุ่ม บางครั้งเป็นเวลาสองสามนาที บางครั้งอาจใช้เวลาสองสามชั่วโมง หากการเชื่อมต่อหลุด Arduino จะถูกตั้งโปรแกรมให้รีเซ็ตดองเกิล USB ทุก 10 นาที เพื่อลองเริ่มต้นการเชื่อมต่อใหม่ อย่างไรก็ตาม บางครั้งเนื่องจาก (ยัง) ไม่ทราบสาเหตุที่แม้ว่าการเชื่อมต่อข้อมูล GPRS จะเปิดขึ้น แต่ Arduino (และแผงป้องกันอีเทอร์เน็ตที่ต่ออยู่) ก็ไม่สามารถสังเกตเหตุการณ์ได้ นี่คือช่วงเวลาที่ฉันต้องไปที่ตำแหน่งนั้นและรีเซ็ตทั้งระบบด้วยตนเอง
เมื่อการเชื่อมต่อข้อมูลลดลงในบางตำแหน่ง ฉันต้องการรับการแจ้งเตือนทางอีเมลโดยเร็วที่สุด เพื่อที่ฉันจะได้คอยจับตาดูสถานที่นั้นโดยเฉพาะ เนื่องจากการสื่อสารระหว่างแอพโทรศัพท์และ Arduino เกิดขึ้นผ่านบริการออนไลน์ที่ให้บริการโดย https://thingspeak.com จนกระทั่งเมื่อเร็วๆ นี้ (และจนถึงวันที่ 31 มีนาคม 2019) จึงเป็นไปได้โดยการใช้บริการอื่นของ https:// ifttt.com/discover และการตั้งค่า ThingHTTP และ React ในแต่ละช่องสัญญาณ การตรวจสอบข้อเท็จจริงว่าช่องนั้น ๆ นั้นไม่ได้รับการอัปเดตมาสักระยะหนึ่งหรือไม่ อย่างไรก็ตาม ตามอีเมลที่ฉันได้รับจาก Google ตั้งแต่วันที่ 31 มีนาคม 2019 เนื่องจากการไม่ปฏิบัติตามข้อกำหนดความเป็นส่วนตัวของข้อมูลที่อัปเดต (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems) การเข้าถึงข้อมูลบางอย่างในบัญชี Google ของฉันจะไม่สามารถใช้ได้อีกต่อไปสำหรับ IFTTT และในกรณีของฉันอีเมลเป็นทรัพยากรเดียวที่ IFTTT เข้าถึงได้ ความเข้าใจของฉันก็คือการแจ้งเตือน บริการที่อธิบายไว้ข้างต้นจะหยุดทำงาน
ดังนั้น เราจึงกำลังใช้โซลูชันทางเลือกเพื่อให้การแจ้งเตือนทางอีเมลมาถึงต่อไปเมื่อการเชื่อมต่อข้อมูลในสถานที่ของฉันลดลง สิ่งนี้ยังคงใช้ฟีเจอร์ ThingHTTP และ React ในช่องของฉัน เฉพาะลิงก์ไปยัง IFTTT เท่านั้นที่ชี้ไปที่ Google Drive อีกครั้ง นอกเหนือจากฮาร์ดแวร์ (ในกรณีของฉัน Arduino) คุณอาจมีการสื่อสารกับบัญชี ThingSpeak ของคุณ คุณจะต้องสร้างบัญชี Google ก่อน ในกรณีที่คุณยังไม่มี… และเริ่มกันเลย!
ขั้นตอนที่ 1:
ใน Google ไดรฟ์
อันดับแรก ใน Google ไดรฟ์ (https://drive.google.com) เราจำเป็นต้องสร้างสเปรดชีตและแบบฟอร์มง่ายๆ เปิด Google ไดรฟ์ของคุณแล้วคลิกใหม่ – Google ชีต – สเปรดชีตเปล่า
ขั้นตอนที่ 2:
ฉันเปลี่ยนชื่อของฉันเป็น "Location down spreadsheet" จากนั้นไปที่เครื่องมือ – สร้างแบบฟอร์ม
ขั้นตอนที่ 3:
ฉันเปลี่ยนชื่อแบบฟอร์มเป็น "Location down form " และเปลี่ยน "Untitled question" เป็น "Status" และเปลี่ยนประเภทจาก "Multiple choice" เป็น "Short answer"
ขั้นตอนที่ 4:
จากนั้นฉันก็ลบตัวเลือกสำหรับรวบรวมที่อยู่อีเมล – คลิกที่ "เปลี่ยนการตั้งค่า" และยกเลิกการเลือกตัวเลือกทั้งหมดในหน้าต่างที่ปรากฏขึ้น คลิกที่ "บันทึก"
ขั้นตอนที่ 5:
ปิดแท็บเบราว์เซอร์ปัจจุบันที่มีแบบฟอร์มของคุณ และคุณควรกลับไปที่แท็บหลักของ Google ไดรฟ์ ซึ่งคุณควรมีทั้งแบบฟอร์มและสเปรดชีตที่คุณเพิ่งสร้างขึ้น เปิดสเปรดชีตและไปที่ "ไฟล์ – แชร์…" ในหน้าต่างใหม่คลิกที่ "ขั้นสูง"
ขั้นตอนที่ 6:
จากนั้นคลิกที่ "เปลี่ยน…" ข้างป้ายกำกับ "ส่วนตัว – คุณเท่านั้นที่เข้าถึงได้"
ขั้นตอนที่ 7:
และเปลี่ยนเป็น "เปิด – ทุกคนที่มีลิงก์" และเปลี่ยนเป็น "แก้ไขได้"
ขั้นตอนที่ 8:
คลิก "บันทึก" และ "เสร็จสิ้น" เพื่อกลับไปที่สเปรดชีตของคุณ ขณะอยู่ที่นั่น ให้คลิกที่ "ไฟล์ – เผยแพร่ไปยังเว็บ…" จากนั้นคลิก "เผยแพร่" และ "ตกลง" สำหรับหน้าต่างโต้ตอบ ปิดหน้าต่าง "เผยแพร่ไปยังเว็บ"
ขณะที่ยังอยู่ในสเปรดชีต ให้คลิกที่ "แบบฟอร์ม – ไปที่แบบฟอร์มที่ใช้งานจริง" คลิกขวาด้วยเมาส์ของคุณ (ฉันกำลังใช้เบราว์เซอร์ Google Chrome) และเลือก "ดูแหล่งที่มาของหน้า"
ขั้นตอนที่ 9:
ในหน้าใหม่ที่เปิดขึ้นให้ค้นหา "form action" จากนั้นค้นหาลิงก์ที่คล้ายกับ https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse เลือกลิงก์นั้นแล้วคัดลอกและวางลงในเอกสารข้อความ คุณจะใช้มันเพื่อสร้างลิงก์สุดท้ายที่ต้องป้อนใน ThingHTTP สำหรับ ThingSpeak
ขั้นตอนที่ 10:
กลับไปที่มุมมองต้นทางของแบบฟอร์ม แล้วค้นหา "รายการ" ค้นหาและเลือกข้อความทั้งหมด เช่น "entry. XXXXX" คัดลอกและวางในเอกสารข้อความเดียวกันกับด้านบน ขณะนี้คุณสามารถปิดมุมมองแหล่งที่มาของแบบฟอร์ม Google ของคุณได้
ขั้นตอนที่ 11:
ในเอกสารข้อความใหม่ (ซึ่งขณะนี้คุณมีลิงก์และรายการที่เราวางก่อนหน้านี้) ให้สร้างลิงก์สุดท้ายที่ควรมีลักษณะดังนี้
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX =LOCATION+NAME&submit=Submit
ในกรณีของฉัน "LOCATION+NAME" จะถูกแทนที่ด้วยชื่อจริงของแต่ละตำแหน่งที่ฉันต้องการตรวจสอบ อีเมลแจ้งเตือนทางอีเมลที่ฉันจะได้รับเมื่อการเชื่อมต่อขาดหายจะมีข้อความนี้อยู่ด้วย เพื่อที่ฉันจะได้ทราบว่าตำแหน่งใดมีปัญหา อันที่จริงแล้ว ข้อความนี้จะถูกส่งเป็นเนื้อหาข้อความสั้นสำหรับฟิลด์ "สถานะ" ในแบบฟอร์มของ Google "&submit=Submit " จะส่งแบบฟอร์มโดยไม่จำเป็นต้องมีการดำเนินการใดๆ เพิ่มเติม เมื่อเรียกใช้โดย ThingHTTP และ React
สุดท้าย เราต้องเพิ่มสคริปต์ที่จะส่งการแจ้งเตือนทางอีเมลโดยอัตโนมัติทุกครั้งที่มีการเพิ่มรายการใหม่ในสเปรดชีต เปิดสเปรดชีต แล้วคลิก "เครื่องมือ – ตัวแก้ไขสคริปต์" ในหน้าต่างใหม่ที่เปิดขึ้น ให้เพิ่มรหัสต่อไปนี้ (พร้อมการเปลี่ยนแปลงที่จำเป็นเพื่อสะท้อนความต้องการของคุณ):
ฟังก์ชัน newEntryNotification (e)
{
ลอง
{
var timestamp = e.values[0];
ตำแหน่ง var = e.values[1];
var message = ตำแหน่ง + ' ตำแหน่งลง\n' + เวลาประทับ;
MailApp.sendEmail("ที่อยู่อีเมลของคุณ", "โปรดทราบ, ตำแหน่งลง!", ข้อความ);
}
จับ (จ)
{
MailApp.sendEmail("ที่อยู่อีเมลของคุณ", "ข้อผิดพลาด - คำเตือน, ตำแหน่งลง!", e.message);
}
}
แทนที่ข้อความ "YOUR EMAIL ADDRESS" ด้วยที่อยู่อีเมลที่ควรส่งการแจ้งเตือนและข้อความแจ้งเตือนจริง หากคุณต้องการ
ขั้นตอนที่ 12:
ต้องเรียกใช้สคริปต์นี้เมื่อมีการเพิ่มรายการใหม่ในสเปรดชีต ขณะที่อยู่ในหน้าต่างเดียวกัน (ด้วยรหัสสคริปต์ด้านบน) ให้คลิกที่ไอคอน "นาฬิกาจับเวลา" ในแถบเครื่องมือ – "ทริกเกอร์ของโครงการปัจจุบัน" คุณจะถูกขอให้ตั้งชื่อโครงการของคุณ (ฉันตั้งชื่อของฉันว่า "locationDown") และแท็บเบราว์เซอร์อื่นจะเปิดขึ้นเพื่อรายงานว่าไม่พบผลลัพธ์ (ไม่พบทริกเกอร์) คลิกที่ "สร้างทริกเกอร์ใหม่"
ขั้นตอนที่ 13:
ในหน้าต่างใหม่ เลือก "จากสเปรดชีต" สำหรับ "เลือกแหล่งที่มาของเหตุการณ์" "ส่งแบบฟอร์ม" สำหรับ "เลือกประเภทเหตุการณ์"; "แจ้งให้ฉันทราบทันที" สำหรับ "การตั้งค่าการแจ้งเตือนความล้มเหลว" คลิกที่ "บันทึก" คุณจะถูกขอให้ลงชื่อเข้าใช้บัญชี Google ของคุณและ "อนุญาต" เพื่อให้ทริกเกอร์นี้เข้าถึงบัญชีของคุณเมื่อจำเป็น
ขั้นตอนที่ 14:
ตอนนี้คุณควรมีทริกเกอร์ในรายการทริกเกอร์ ซึ่งจะเชื่อมโยงกับสคริปต์ที่เราสร้างไว้ก่อนหน้านี้ ดังนั้น เมื่อใส่ข้อมูลใหม่ลงในสเปรดชีต (โดยใช้ลิงก์แบบฟอร์มอัตโนมัติและวิธีการปิดเสียงที่อธิบายข้างต้น) ทริกเกอร์จะเรียกสคริปต์ทันที ซึ่งจะส่งการแจ้งเตือนไปยังที่อยู่อีเมลที่ให้ไว้ ซึ่งมีข้อความที่คุณเลือก
เราเสร็จสิ้นในด้าน Google Drive และตอนนี้เรากำลังย้ายไปที่ ThingSpeak
ขั้นตอนที่ 15:
ใน ThingSpeak ลงชื่อเข้าใช้บัญชีของคุณ (https://thingspeak.com/login) ไปที่ "Apps - ThingHTTP" จากนั้นคลิกที่ "New ThingHTTP" ตั้งชื่อ (ฉันได้เลือกชื่อจริงของแต่ละตำแหน่งแล้ว "MyLocationName" สำหรับจุดประสงค์ของบทช่วยสอนนี้) และในฟิลด์ "URL" ให้วางลิงก์จากไฟล์ข้อความของคุณ ลิงก์ที่ดูเหมือน
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX =LOCATION+NAME&submit=Submit
ปล่อยให้ฟิลด์อื่นๆ ทั้งหมดเป็นเหมือนเดิม และคลิกที่ "บันทึก ThingHTTP"
ขั้นตอนที่ 16:
จากนั้นไปที่ "Apps - React" และคลิกที่ "New React" ตั้งชื่อ (อีกครั้ง ฉันเลือกชื่อสถานที่แล้วตามด้วยคำว่า "ตอบสนอง" แต่คุณสามารถเลือกชื่อใดก็ได้ที่ต้องการ) "ไม่มีการตรวจสอบข้อมูล" สำหรับ "ประเภทเงื่อนไข"; "ทุก 10 นาที" สำหรับ "ความถี่ในการทดสอบ"; ชื่อช่องที่คุณต้องการตรวจสอบการอัปเดตสำหรับ "ถ้าช่อง"; เวลาที่ช่องไม่ได้รับการอัปเดต (ฉันเลือกไว้ 15 นาที) สำหรับ "ยังไม่ได้รับการอัปเดตสำหรับ"; "ThingHTTP" สำหรับ "การกระทำ"; " MyLocationName " สำหรับ "จากนั้นดำเนินการ ThingHTTP"; "เรียกใช้การดำเนินการในครั้งแรกที่ตรงตามเงื่อนไขเท่านั้น" เนื่องจากฉันต้องการรับการแจ้งเตือนเพียงครั้งเดียว การดำเนินการนี้จะรีเซ็ตตัวเองเมื่อช่องได้รับการอัปเดตอีกครั้งด้วยข้อมูลที่เข้ามาใหม่ คลิกที่ "บันทึกปฏิกิริยา" และคุณทำเสร็จแล้ว
จากนี้ไปเมื่อช่องของคุณไม่ได้รับการอัปเดตเป็นเวลา 15 นาที (หรือเวลาอื่นขึ้นอยู่กับสิ่งที่คุณได้เลือกไว้) React จะตรวจจับข้อยกเว้นนั้นซึ่งจะเรียกใช้ ThingHTTP ซึ่งจะสร้างรายการใหม่ใน สเปรดชีต ทริกเกอร์และสคริปต์บน Google สเปรดชีตจะนำไปใช้ตามที่อธิบายไว้ข้างต้น
แนะนำ:
อ่านมิเตอร์ไฟฟ้าและก๊าซ (เบลเยียม/ดัตช์) และอัปโหลดไปยัง Thingspeak: 5 ขั้นตอน
อ่านมิเตอร์ไฟฟ้าและก๊าซ (เบลเยียม/ดัตช์) และอัปโหลดไปยัง Thingspeak: หากคุณกังวลเกี่ยวกับการใช้พลังงานหรือเป็นเพียงเรื่องเล็กน้อย คุณอาจต้องการดูข้อมูลจากมิเตอร์ดิจิทัลแบบใหม่บนสมาร์ทโฟนของคุณ ในส่วนนี้ โครงการ เราจะรับข้อมูลปัจจุบันจากเครื่องไฟฟ้าดิจิทัลเบลเยี่ยมหรือดัตช์
IoT ESP8266 Series: 2- ตรวจสอบข้อมูลผ่าน ThingSpeak.com: 5 ขั้นตอน
IoT ESP8266 Series: 2- ตรวจสอบข้อมูลผ่าน ThingSpeak.com: นี่คือส่วนที่สองของ IoT ESP8266 Series หากต้องการดูส่วนที่ 1 อ้างถึง IoT ESP8266 Series ที่สอนได้นี้: 1 เชื่อมต่อกับเราเตอร์ไร้สาย ส่วนนี้มีจุดมุ่งหมายเพื่อแสดงวิธีส่งข้อมูลเซ็นเซอร์ของคุณไปยังหนึ่งในบริการคลาวด์ฟรียอดนิยมของ IoT https://thingspeak.com
IOT - โพสต์ข้อมูลไปที่ Thingspeak โดยใช้ ESP8266: 3 ขั้นตอน
IOT | โพสต์ข้อมูลไปที่ Thingspeak โดยใช้ ESP8266: ปัจจุบัน IoT กำลังเป็นที่นิยมและมีเครื่องจำนวนมากมีข้อมูลที่จะอัปโหลดผ่านคลาวด์และวิเคราะห์ข้อมูล เซ็นเซอร์ขนาดเล็กอัปเดตข้อมูลบนคลาวด์และแอคทูเอเตอร์ในส่วนอื่นทำหน้าที่เกี่ยวกับข้อมูลนั้น ฉันจะอธิบายหนึ่งในตัวอย่างหนึ่งของ IoT ฉันบทความนี้และฉัน
ส่งการแจ้งเตือน ThingSpeak ไปยัง Mi Band 4: 6 ขั้นตอน
ส่งการแจ้งเตือน ThingSpeak ไปยัง Mi Band 4: เนื่องจากฉันซื้อ Xiaomi Mi Band 4 มา ฉันจึงคิดเกี่ยวกับความเป็นไปได้ในการติดตามข้อมูลบางส่วนจากสถานีตรวจอากาศของฉันซึ่งมีอยู่ใน ThingSpeak ผ่าน Mi Band 4 ของฉัน อย่างไรก็ตาม หลังจากการวิจัยบางอย่าง ฉันพบว่า ความสามารถของ Mi Band 4 แ
สถานีตรวจอากาศขนาดเล็กโดยใช้ Arduino และ ThingSpeak: 4 ขั้นตอน
สถานีตรวจอากาศขนาดเล็กโดยใช้ Arduino และ ThingSpeak: สวัสดีทุกคน ในคำแนะนำนี้ ฉันจะแนะนำคุณผ่านขั้นตอนต่างๆ เพื่อสร้างสถานีตรวจอากาศขนาดเล็กในแบบของคุณ นอกจากนี้ เราจะใช้ ThingSpeak API เพื่ออัปโหลดข้อมูลสภาพอากาศของเราไปยังเซิร์ฟเวอร์ของพวกเขา มิฉะนั้นจุดประสงค์ของการตรวจวัดสภาพอากาศคืออะไร