สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์และโปรโตคอลที่จำเป็น
- ขั้นตอนที่ 2: เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR
- ขั้นตอนที่ 3: สร้างเวิร์กโฟลว์ใน Zapier
- ขั้นตอนที่ 4: Google Scripts
- ขั้นตอนที่ 5: เชื่อมต่อโฟลว์ด้วยรหัส Arduino
- ขั้นตอนที่ 6: ทบทวน ข้อสรุป และการปรับในอนาคต
วีดีโอ: IDC2018IOT: คนโกหกในห้องประชุม: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ปัญหา
ดังที่เราทราบ แนวโน้มของพื้นที่ทำงานร่วมกันได้เพิ่มขึ้นอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา ควบคู่ไปกับเทคโนโลยีล้ำสมัยที่กำหนดทางเลือกของพื้นที่ทำงานร่วมกันเฉพาะที่เหมาะกับความต้องการของคุณ
คุณลักษณะหลักประการหนึ่งที่เสนอคือห้องประชุมที่ใช้ร่วมกันซึ่งให้บริการแก่สมาชิก co-working space ซึ่งจัดการโดย (ปกติ) แพลตฟอร์มปฏิทินที่เรียบง่าย
ปัญหาเกิดขึ้นอีกครั้งเนื่องจากกำหนดการของผู้คนมักจะไม่เปลี่ยนแปลง
บางคนอาจจองห้องโดยคิดว่าเขาอาจต้องการและไม่อยากพลาดช่วงเวลา
แม้ว่าใครจะไม่ใช้ช่วงเวลานั้นในท้ายที่สุด เขาก็จะไม่รำคาญที่จะแจ้งและยกเลิกเพื่อเห็นแก่ผู้อื่น เนื่องจากโชคไม่ดีที่นั่นเป็นธรรมชาติของมนุษย์
เราจะแก้ปัญหานี้อย่างไร?
โดยใช้เทคโนโลยี IoT - ตรวจสอบเสียงและการเคลื่อนไหวในห้องประชุมที่กำหนด เรากำลังตรวจสอบทุกช่วงเวลา ไม่ว่าจะเป็นห้องที่จองแล้วและมีคนอยู่จริงหรือไม่:
1. ถ้าไม่ได้จองไว้ ไม่ต้องทำอะไร
2. หากจองแล้ว ให้ตรวจสอบว่ามีการเคลื่อนไหวหรือเสียงใด ๆ ที่ตรวจพบหรือไม่
ถ้ามีอย่าทำอะไรเลย
หากตรวจไม่พบสิ่งใด ให้ส่งข้อความเตือน (ทางอีเมล) ไปยังผู้ใช้ที่จองห้องพักเพื่อถามว่าห้องนั้นยังใช้งานอยู่หรือไม่ เว้นแต่ผู้ใช้จะประกาศว่าเขายังใช้ห้องอยู่ สถานะห้องจะเปลี่ยนเป็น "ห้องว่าง"
* ที่นี่ เรารวมโปรเจ็กต์ของเราเข้ากับ Google ปฏิทินเพื่อสรุปให้มากที่สุด
ขั้นตอนที่ 1: ฮาร์ดแวร์และโปรโตคอลที่จำเป็น
1. เราใช้ NOSEMCU เพื่อให้เราสามารถอัปเดตสิ่งต่าง ๆ แบบไดนามิกโดยใช้การเชื่อมต่อ WiFi
2. เซ็นเซอร์ไมโครโฟนที่จะ "อ่าน" เสียงในห้อง
3. เซ็นเซอร์ PIR ที่จะตรวจสอบว่ามีการเคลื่อนไหวหรือไม่
สำหรับการใช้งานซอฟต์แวร์และเซิร์ฟเวอร์ นอกจากโค้ดใน Arduino แล้ว เรายังใช้ Google Script และ Zapier เพื่อสนับสนุนระบบของเราทางออนไลน์ คุณสามารถดูโฟลว์ในรูปภาพที่เพิ่ม (และ PDF)
เราใช้ Zapier เพื่อเชื่อมต่อแอปและทำให้เวิร์กโฟลว์ของเราเป็นแบบอัตโนมัติ (เช่น IFTTT) และเราใช้ Google Script เพื่อช่วยสื่อสารกับ Google ปฏิทิน สคริปต์ที่เราเขียนคือการสร้างอีเมลของผู้สร้างกิจกรรม เพื่อให้เราสามารถส่ง Zapier และตรวจสอบว่าผู้ใช้ขอเก็บห้อง (โดยการบันทึกข้อมูลบางอย่างใน Google ชีต) ก่อนที่จะลบกิจกรรม
ขั้นตอนที่ 2: เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR
เราต้องการตรวจสอบค่าเฉลี่ยที่ไมโครโฟนโพสต์ไปที่ NODEMCU เมื่อมีคนพูด (เห็นได้ชัดว่าในทุกห้องมีเสียงพื้นหลังต่างกัน) เราทำการทดสอบและพบว่าระดับเสียงเฉลี่ยของห้องที่เราทำงานอยู่นั้นสูงกว่า 50
เซ็นเซอร์ PIR ให้ค่าสูงหรือต่ำเท่านั้น เราจึงตรวจสอบเฉพาะระดับความไวที่แม่นยำที่สุดสำหรับห้องที่เราตรวจสอบ คู่มือนี้มีประโยชน์มาก
การเชื่อมต่อของเรา:
ไมโครโฟน - เหมือนในภาพเซ็นเซอร์ PIR: GND > GND, OUT > D7, VCC > VN (5V)
ขั้นตอนที่ 3: สร้างเวิร์กโฟลว์ใน Zapier
เพื่อที่จะทราบว่าห้องนั้นว่างจริง ๆ หรือยังคงใช้งานอยู่ (เช่น ผู้ใช้กำลังหยุดพัก) เราต้องการสร้างโฟลว์ที่รับรองได้ทันทีหลังจากที่ NodeMCU ยิง Webhook ไปยัง Zapier ซึ่งแจ้งว่า ห้องว่าง:
(1) TRIGGER - CATCH HOOKZapier จับ Webhook (ที่จะส่งโดย NODEMCU)
(2) ACTION - GETZapier ส่ง Webhook อื่นเพื่อรับข้อมูลเหตุการณ์ > เรียกใช้ (เรียกใช้) GoogleScript - GetCurrentEmailEventID (คำอธิบายในขั้นตอนต่อไปนี้) เพื่อรับข้อมูลเหตุการณ์ปัจจุบัน - ชื่อเหตุการณ์ ID เหตุการณ์ อีเมลผู้ใช้
(3) ตัวกรอง - ดำเนินการต่อ IF. เท่านั้น
ดำเนินการต่อในขั้นตอนต่อไปเฉพาะเมื่อมีกิจกรรม (เหตุการณ์ใด ๆ) เกิดขึ้นในปฏิทิน (ห้องไม่ว่าง) มิฉะนั้น จะหยุดเนื่องจากห้องว่าง
(4) ACTION - GMAILZapier ส่งอีเมลผ่าน Gmail ถึงผู้ใช้ที่จองห้องพัก (ได้ข้อมูลนี้ในขั้นตอนที่ 2)
(5) ACTION - DELAY FOR ให้เวลาผู้ใช้ตอบกลับอีเมล- หากผู้ใช้คลิกที่ลิงค์: โทร (เรียกใช้) GoogleScript - ApproveCurrentEvent(ดังนั้น ห้องจึงถูกลบออกจากรายการ 'ห้องที่จะลบ' และ ห้องยังคงถูกระบุว่าถูกครอบครอง)
(6) ACTION - รับหลังจาก 5 นาที Zapier จะเรียก (เรียกใช้) GoogleScript - DeleteCurrentEvent- หากผู้ใช้ไม่ได้คลิกที่ลิงค์
ตรวจสอบว่า ID ห้องอยู่ในรายการ 'ห้องที่จะลบ'
มันก็แค่ลบเหตุการณ์
ขั้นตอนที่ 4: Google Scripts
เมื่อเรารวมระบบทั้งหมดเข้าด้วยกัน GoogleScripts เป็นตัวเลือกเล็กน้อยของ IDE ดังนั้นเราจึงใช้ Google Libraries ที่เกี่ยวข้อง จะเปลี่ยนไปตามแพลตฟอร์มการจองห้องพัก
(1) GetCurrentEmailEventID
ทำงานโดยการโทรผ่านเว็บฮุค
ใช้ออฟเซ็ตบางอย่างเพื่อขจัดข้อผิดพลาดที่อาจเกิดขึ้นจากการยกเลิก รับข้อมูลเหตุการณ์ปัจจุบัน
(2) อนุมัติเหตุการณ์ปัจจุบัน
ดำเนินการโดยผู้ใช้คลิก
ในกรณีที่ผู้ใช้อนุมัติว่าห้องยังใช้งานอยู่ ให้ลบ ID กิจกรรมออกจาก "ห้องที่จะลบ" เราใช้ Google ชีต รูปแบบอื่นของรายการอาจเกี่ยวข้องที่นี่
(3) DeleteCurrentEvent
ทำงานโดยการโทรผ่านเว็บฮุค
ค้นหารหัสเหตุการณ์ที่เกี่ยวข้องในรายการ (Google ชีต) และลบเหตุการณ์นั้นออกจากปฏิทิน
ขั้นตอนที่ 5: เชื่อมต่อโฟลว์ด้วยรหัส Arduino
รหัสที่แนบมาเชื่อมต่อกับเซ็นเซอร์ที่เราตรวจสอบเมื่อไม่กี่ขั้นตอนที่ผ่านมากับระบบออนไลน์ (ปฏิทิน Google ในกรณีของเรา) โดยจะตรวจสอบว่าห้องว่างหรือไม่ จากนั้นหากไม่อยู่ ระบบจะส่งคำขอ HTTP (Webhook) ที่เริ่มคำขอลบกิจกรรมบน Zapier
ขั้นตอนที่ 6: ทบทวน ข้อสรุป และการปรับในอนาคต
ความท้าทายหลักที่เราต้องรับมือคือครอบคลุมทุกกรณีในการตัดสินใจเลือกห้องประชุมฟรี จากนั้นเราต้องสร้างเครื่องของรัฐโดยพิจารณาทุกกรณีที่เป็นไปได้เพื่อไม่ให้เกิดข้อผิดพลาดและห้องจะถูกตั้งค่าเป็นใช้ได้เฉพาะเมื่อควรเท่านั้น
ตัวอย่างเช่น หากมีการจองห้องพักสำหรับบางกลุ่มที่ไม่ได้อยู่ที่นั่น (เช่น อยู่ในช่วงพัก) แต่ยังต้องการห้องนั้น NODEMCU จะตรวจพบว่าห้องว่าง > ปัญหา
จากนั้น วิธีแก้ปัญหาของเราคือส่งอีเมลถึงผู้ใช้ที่จองห้องพัก (ซึ่งไม่ใช่เรื่องง่ายที่จะเข้าใจ) ข้อความที่มีตัวเลือกให้ถือห้องต่อไป
หากผู้ใช้ไม่ตอบกลับในเวลาที่กำหนด (เราตั้งค่าเป็น 5 นาที แต่สามารถเปลี่ยนแปลงได้ง่าย) เราจะลบกิจกรรมออกจากปฏิทิน (และทำให้ห้องว่าง)
ด้วยวิธีนี้ ในที่สุดเราก็สามารถจัดการกับสถานการณ์ที่เป็นไปได้ทั้งหมดและสร้างระบบการทำงานได้สำเร็จ
ข้อจำกัดของระบบของเรา:
1. เซ็นเซอร์ที่ใช้ต้องมีความแม่นยำและละเอียดอ่อนมาก
2. ขนาดห้องจำกัดอยู่ที่รัศมี/ช่วงของเซ็นเซอร์
3. เราจะต้องพึ่งพาการตอบสนองของผู้ใช้
4. ระบบของเราสร้างขึ้นโดยใช้หลายแพลตฟอร์ม (Google ปฏิทิน, Gmail, Zapier เป็นต้น) และจะต้องใช้บริการเพื่อดำเนินการ
5. การปรับขนาดบริการนี้สำหรับหลายห้อง (แทนที่จะทำซ้ำทั้งระบบ) จะต้องมีการจัดการเพิ่มเติมด้วยรหัสห้อง
6. ระบบเป็นไปโดยอัตโนมัติเท่านั้น และไม่มีตัวเลือกด้วยตนเองสำหรับการยกเลิกการจองห้องพัก
การพัฒนาในอนาคต:
แน่นอนเราจะขยายระบบในสองวิธี:
1. ความสามารถในการทำงานร่วมกับแพลตฟอร์มปฏิทินอื่น ๆ (เพื่อให้บริษัท co-working space สามารถใช้งานได้)
2. ความสามารถในการจัดการหลายห้อง ชั้น และไซต์
เราเชื่อว่าเครื่องชั่งประเภทนี้จะใช้เวลา 2-3 เดือนในการสรุป ทดสอบ และเพิ่มฟีเจอร์หลายห้อง (ชั้น ฯลฯ)
นอกจากนี้ การใช้เงินและทรัพยากรอย่างไม่จำกัด เราจะใช้เซ็นเซอร์ที่ดีกว่าด้วยช่วงที่กว้างขึ้น พร้อมกับปรับแต่งให้เข้ากับห้องที่กำหนด โดยพิจารณาจากระยะ รัศมี จำนวนเซ็นเซอร์ เป็นต้น ขั้นตอนที่จะทำให้แต่ละระบบติดตั้งนานขึ้น อย่างชัดเจน.
แนะนำ:
IDC2018IOT กล่อง IoPill: 7 ขั้นตอน
IDC2018IOT IoPill Box: นี่คือ IoPill Box - กล่องยารายสัปดาห์ที่เชื่อมต่อกับอินเทอร์เน็ต สำหรับโครงการสุดท้ายของหลักสูตร IoT ของเรา เราตัดสินใจที่จะนำเสนอโซลูชันที่จะช่วยให้มั่นใจได้ว่าผู้สูงอายุ (หรือบุคคลอื่นใดที่ใช้กล่องยารายสัปดาห์ ) อย่าลืมทา
IDC2018IOT ราวแขวนผ้า: 6 ขั้นตอน
IDC2018IOT ราวแขวนผ้า: ราวแขวนผ้า IOT จะทำให้ตู้เสื้อผ้าของคุณฉลาดขึ้นและให้สถิติออนไลน์เกี่ยวกับเสื้อผ้าที่อยู่ภายใน มี 3 คุณสมบัติหลัก: เมื่อคุณต้องการเลือกสิ่งที่จะสวมใส่ คุณสามารถกดสีที่คุณรู้สึกเหมือนใส่วันนี้ และไม้แขวนเสื้อ IOT
ระบบประตูอัจฉริยะสำหรับผู้บกพร่องทางการได้ยิน (IDC2018IOT): 11 ขั้นตอน
ระบบประตูอัจฉริยะสำหรับผู้บกพร่องทางการได้ยิน (IDC2018IOT): เราทุกคนหวังว่าจะมีบ้านที่เหมาะกับเรา แต่โครงสร้างมาตรฐานไม่เหมาะสำหรับทุกคน ประตูบ้านได้รับการออกแบบมาไม่ดีสำหรับผู้ที่หูหนวกหรือมีความบกพร่องทางการได้ยิน ผู้ที่มีความบกพร่องทางการได้ยินจะไม่ได้ยินเสียงเคาะประตู หรือ
ศึกษาให้ดียิ่งขึ้นด้วยโคมไฟตั้งโต๊ะอัจฉริยะ - IDC2018IOT: 10 ขั้นตอน (พร้อมรูปภาพ)
ศึกษาให้ดียิ่งขึ้นด้วยโคมไฟตั้งโต๊ะอัจฉริยะ - IDC2018IOT: ผู้คนในโลกตะวันตกใช้เวลาส่วนใหญ่ในการนั่ง ที่โต๊ะทำงาน ขับรถดูทีวี และอื่นๆ บางครั้งการนั่งมากเกินไปอาจเป็นอันตรายต่อร่างกายและส่งผลเสียต่อความสามารถในการจดจ่อของคุณ การเดินและยืนขึ้นหลังจากเวลาที่กำหนดมีความสำคัญต่อ
IDC2018IOT เชื่อมต่อระบบอาหารสัตว์ น้ำ และระบบตรวจสอบ: 7 ขั้นตอน
IDC2018IOT Connected Pet Food, Water and Monitor System: บทนำ ไม่ว่าคุณจะเป็นนักเรียนที่อยู่ภายใต้ความกดดัน คนทำงานหนัก หรือเพียงแค่ต้องอยู่ไกลบ้านมากกว่าสองสามชั่วโมงต่อวัน ในฐานะเจ้าของสัตว์เลี้ยงที่ห่วงใย เราต้องการให้แน่ใจว่าสัตว์เลี้ยงอันเป็นที่รักของเรามีสุขภาพแข็งแรง ได้รับอาหาร และแน่นอนว่าไม่ได้นอนบนเ