สารบัญ:

IDC2018IOT: คนโกหกในห้องประชุม: 6 ขั้นตอน
IDC2018IOT: คนโกหกในห้องประชุม: 6 ขั้นตอน

วีดีโอ: IDC2018IOT: คนโกหกในห้องประชุม: 6 ขั้นตอน

วีดีโอ: IDC2018IOT: คนโกหกในห้องประชุม: 6 ขั้นตอน
วีดีโอ: CSL Webinar: Get Back to Business with Cisco Wi-Fi 6 2024, กรกฎาคม
Anonim
IDC2018IOT: นักเลงห้องประชุม
IDC2018IOT: นักเลงห้องประชุม

ปัญหา

ดังที่เราทราบ แนวโน้มของพื้นที่ทำงานร่วมกันได้เพิ่มขึ้นอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา ควบคู่ไปกับเทคโนโลยีล้ำสมัยที่กำหนดทางเลือกของพื้นที่ทำงานร่วมกันเฉพาะที่เหมาะกับความต้องการของคุณ

คุณลักษณะหลักประการหนึ่งที่เสนอคือห้องประชุมที่ใช้ร่วมกันซึ่งให้บริการแก่สมาชิก 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

เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR
เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR
เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR
เชื่อมต่อไมโครโฟนและเซ็นเซอร์ PIR

เราต้องการตรวจสอบค่าเฉลี่ยที่ไมโครโฟนโพสต์ไปที่ NODEMCU เมื่อมีคนพูด (เห็นได้ชัดว่าในทุกห้องมีเสียงพื้นหลังต่างกัน) เราทำการทดสอบและพบว่าระดับเสียงเฉลี่ยของห้องที่เราทำงานอยู่นั้นสูงกว่า 50

เซ็นเซอร์ PIR ให้ค่าสูงหรือต่ำเท่านั้น เราจึงตรวจสอบเฉพาะระดับความไวที่แม่นยำที่สุดสำหรับห้องที่เราตรวจสอบ คู่มือนี้มีประโยชน์มาก

การเชื่อมต่อของเรา:

ไมโครโฟน - เหมือนในภาพเซ็นเซอร์ PIR: GND > GND, OUT > D7, VCC > VN (5V)

ขั้นตอนที่ 3: สร้างเวิร์กโฟลว์ใน Zapier

สร้างเวิร์กโฟลว์ใน Zapier
สร้างเวิร์กโฟลว์ใน Zapier
สร้างเวิร์กโฟลว์ใน Zapier
สร้างเวิร์กโฟลว์ใน Zapier
สร้างเวิร์กโฟลว์ใน Zapier
สร้างเวิร์กโฟลว์ใน 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

Google Scripts
Google Scripts
Google Scripts
Google Scripts
Google Scripts
Google Scripts

เมื่อเรารวมระบบทั้งหมดเข้าด้วยกัน GoogleScripts เป็นตัวเลือกเล็กน้อยของ IDE ดังนั้นเราจึงใช้ Google Libraries ที่เกี่ยวข้อง จะเปลี่ยนไปตามแพลตฟอร์มการจองห้องพัก

(1) GetCurrentEmailEventID

ทำงานโดยการโทรผ่านเว็บฮุค

ใช้ออฟเซ็ตบางอย่างเพื่อขจัดข้อผิดพลาดที่อาจเกิดขึ้นจากการยกเลิก รับข้อมูลเหตุการณ์ปัจจุบัน

(2) อนุมัติเหตุการณ์ปัจจุบัน

ดำเนินการโดยผู้ใช้คลิก

ในกรณีที่ผู้ใช้อนุมัติว่าห้องยังใช้งานอยู่ ให้ลบ ID กิจกรรมออกจาก "ห้องที่จะลบ" เราใช้ Google ชีต รูปแบบอื่นของรายการอาจเกี่ยวข้องที่นี่

(3) DeleteCurrentEvent

ทำงานโดยการโทรผ่านเว็บฮุค

ค้นหารหัสเหตุการณ์ที่เกี่ยวข้องในรายการ (Google ชีต) และลบเหตุการณ์นั้นออกจากปฏิทิน

ขั้นตอนที่ 5: เชื่อมต่อโฟลว์ด้วยรหัส Arduino

รหัสที่แนบมาเชื่อมต่อกับเซ็นเซอร์ที่เราตรวจสอบเมื่อไม่กี่ขั้นตอนที่ผ่านมากับระบบออนไลน์ (ปฏิทิน Google ในกรณีของเรา) โดยจะตรวจสอบว่าห้องว่างหรือไม่ จากนั้นหากไม่อยู่ ระบบจะส่งคำขอ HTTP (Webhook) ที่เริ่มคำขอลบกิจกรรมบน Zapier

ขั้นตอนที่ 6: ทบทวน ข้อสรุป และการปรับในอนาคต

Image
Image

ความท้าทายหลักที่เราต้องรับมือคือครอบคลุมทุกกรณีในการตัดสินใจเลือกห้องประชุมฟรี จากนั้นเราต้องสร้างเครื่องของรัฐโดยพิจารณาทุกกรณีที่เป็นไปได้เพื่อไม่ให้เกิดข้อผิดพลาดและห้องจะถูกตั้งค่าเป็นใช้ได้เฉพาะเมื่อควรเท่านั้น

ตัวอย่างเช่น หากมีการจองห้องพักสำหรับบางกลุ่มที่ไม่ได้อยู่ที่นั่น (เช่น อยู่ในช่วงพัก) แต่ยังต้องการห้องนั้น NODEMCU จะตรวจพบว่าห้องว่าง > ปัญหา

จากนั้น วิธีแก้ปัญหาของเราคือส่งอีเมลถึงผู้ใช้ที่จองห้องพัก (ซึ่งไม่ใช่เรื่องง่ายที่จะเข้าใจ) ข้อความที่มีตัวเลือกให้ถือห้องต่อไป

หากผู้ใช้ไม่ตอบกลับในเวลาที่กำหนด (เราตั้งค่าเป็น 5 นาที แต่สามารถเปลี่ยนแปลงได้ง่าย) เราจะลบกิจกรรมออกจากปฏิทิน (และทำให้ห้องว่าง)

ด้วยวิธีนี้ ในที่สุดเราก็สามารถจัดการกับสถานการณ์ที่เป็นไปได้ทั้งหมดและสร้างระบบการทำงานได้สำเร็จ

ข้อจำกัดของระบบของเรา:

1. เซ็นเซอร์ที่ใช้ต้องมีความแม่นยำและละเอียดอ่อนมาก

2. ขนาดห้องจำกัดอยู่ที่รัศมี/ช่วงของเซ็นเซอร์

3. เราจะต้องพึ่งพาการตอบสนองของผู้ใช้

4. ระบบของเราสร้างขึ้นโดยใช้หลายแพลตฟอร์ม (Google ปฏิทิน, Gmail, Zapier เป็นต้น) และจะต้องใช้บริการเพื่อดำเนินการ

5. การปรับขนาดบริการนี้สำหรับหลายห้อง (แทนที่จะทำซ้ำทั้งระบบ) จะต้องมีการจัดการเพิ่มเติมด้วยรหัสห้อง

6. ระบบเป็นไปโดยอัตโนมัติเท่านั้น และไม่มีตัวเลือกด้วยตนเองสำหรับการยกเลิกการจองห้องพัก

การพัฒนาในอนาคต:

แน่นอนเราจะขยายระบบในสองวิธี:

1. ความสามารถในการทำงานร่วมกับแพลตฟอร์มปฏิทินอื่น ๆ (เพื่อให้บริษัท co-working space สามารถใช้งานได้)

2. ความสามารถในการจัดการหลายห้อง ชั้น และไซต์

เราเชื่อว่าเครื่องชั่งประเภทนี้จะใช้เวลา 2-3 เดือนในการสรุป ทดสอบ และเพิ่มฟีเจอร์หลายห้อง (ชั้น ฯลฯ)

นอกจากนี้ การใช้เงินและทรัพยากรอย่างไม่จำกัด เราจะใช้เซ็นเซอร์ที่ดีกว่าด้วยช่วงที่กว้างขึ้น พร้อมกับปรับแต่งให้เข้ากับห้องที่กำหนด โดยพิจารณาจากระยะ รัศมี จำนวนเซ็นเซอร์ เป็นต้น ขั้นตอนที่จะทำให้แต่ละระบบติดตั้งนานขึ้น อย่างชัดเจน.

แนะนำ: