Mục lục:

IDC2018IOT: Phòng họp Snitcher: 6 bước
IDC2018IOT: Phòng họp Snitcher: 6 bước

Video: IDC2018IOT: Phòng họp Snitcher: 6 bước

Video: IDC2018IOT: Phòng họp Snitcher: 6 bước
Video: ✨The King's Avatar S2 (Quan Zhi Gao Shou) Full Version [MULTI SUB] 2024, Tháng bảy
Anonim
IDC2018IOT: Phòng họp Snitcher
IDC2018IOT: Phòng họp Snitcher

VẤN ĐỀ

Như chúng ta đã biết, xu hướng không gian làm việc chung đã tăng tốc trong vài năm qua, cùng với công nghệ tiên tiến xác định sự lựa chọn của không gian làm việc chung cụ thể phù hợp với nhu cầu của bạn.

Một trong những tính năng chính được cung cấp là phòng họp chung được cung cấp cho các thành viên không gian làm việc chung, được quản lý bởi một nền tảng lịch đơn giản (thường).

Một sự cố lại xảy ra khi lịch biểu của mọi người có xu hướng động.

Một người có thể đặt phòng vì nghĩ rằng anh ta có thể cần nó và không muốn bỏ lỡ khoảng thời gian.

Ngay cả khi một người cuối cùng sẽ không sử dụng khoảng thời gian đó, anh ta sẽ không bận tâm đến việc thông báo và hủy bỏ nó vì lợi ích của người khác, rất tiếc, đó là bản chất con người.

CHÚNG TÔI GIẢI QUYẾT NÓ NHƯ THẾ NÀO?

Sử dụng công nghệ IoT - kiểm tra âm thanh và chuyển động trong một phòng họp được chỉ định, chúng tôi sẽ kiểm tra, trong mỗi khoảng thời gian nhất định, liệu một phòng đã được đặt và có người thực sự hay không:

1. Nếu nó không được đặt trước, không làm gì cả.

2. Nếu nó đã được đặt trước, hãy kiểm tra xem có phát hiện bất kỳ chuyển động hoặc âm thanh nào không;

Nếu có, không làm gì cả.

Nếu không phát hiện được gì, hãy gửi thông báo cảnh báo (qua email) đến người dùng đã đặt phòng để hỏi xem phòng còn được sử dụng hay không. trừ khi người dùng tuyên bố vẫn đang sử dụng phòng, trạng thái phòng sẽ được chuyển thành “Có sẵn”.

* Ở đây, chúng tôi đã tích hợp dự án của mình với Lịch Google để tổng quát hóa dự án nhiều nhất có thể.

Bước 1: Cần có phần cứng và giao thức

Phần cứng và Giao thức cần thiết
Phần cứng và Giao thức cần thiết

1. Chúng tôi đã sử dụng NOSEMCU để có thể cập nhật động mọi thứ bằng cách sử dụng kết nối WIFI.

2. Cảm biến micrô sẽ "đọc" tiếng ồn trong phòng.

3. Cảm biến PIR sẽ kiểm tra xem có bất kỳ chuyển động nào không.

Đối với việc sử dụng phần mềm và máy chủ, ngoài mã trong Arduino, chúng tôi đã sử dụng Google Script và Zapier để hỗ trợ hệ thống của chúng tôi trực tuyến. Bạn có thể thấy luồng trong hình đã thêm (và PDF).

Chúng tôi đã sử dụng Zapier để kết nối các ứng dụng và tự động hóa quy trình công việc của mình (như IFTTT) và chúng tôi sử dụng Google Script để giúp chúng tôi giao tiếp với Lịch Google. Tập lệnh chúng tôi đã viết là tạo ra email của người tạo sự kiện để chúng tôi có thể gửi cho Zapier và kiểm tra xem người dùng có yêu cầu giữ phòng hay không (bằng cách lưu một số thông tin trong Google Trang tính) trước khi xóa sự kiện.

Bước 2: Kết nối Micrô và Cảm biến PIR

Kết nối Micrô và Cảm biến PIR
Kết nối Micrô và Cảm biến PIR
Kết nối Micrô và Cảm biến PIR
Kết nối Micrô và Cảm biến PIR

Chúng tôi muốn kiểm tra các giá trị trung bình mà micrô đăng lên NODEMCU khi mọi người đang nói chuyện (rõ ràng, trong mỗi phòng đều có tiếng ồn nền khác nhau). Chúng tôi đã thực hiện một số thử nghiệm và nhận ra rằng mức độ tiếng ồn trung bình của căn phòng chúng tôi làm việc là trên 50.

Cảm biến PIR chỉ cho giá trị CAO hoặc THẤP nên chúng tôi chỉ kiểm tra mức độ nhạy chính xác nhất đối với căn phòng mà chúng tôi đã kiểm tra. Hướng dẫn này khá hữu ích.

KẾT NỐI CỦA CHÚNG TÔI:

Micrô - như trong hình Cảm biến PIR: GND> GND, OUT> D7, VCC> VN (5V)

Bước 3: Tạo Quy trình làm việc trong Zapier

Tạo Quy trình làm việc trong Zapier
Tạo Quy trình làm việc trong Zapier
Tạo Quy trình làm việc trong Zapier
Tạo Quy trình làm việc trong Zapier
Tạo Quy trình làm việc trong Zapier
Tạo Quy trình làm việc trong Zapier

Để biết liệu căn phòng thực sự trống hay vẫn đang được sử dụng (ví dụ như người dùng đang nghỉ), chúng tôi muốn tạo một quy trình đảm bảo điều đó, ngay sau khi NodeMCU kích hoạt một Webhook tới Zapier để thông báo rằng phòng trống:

(1) TRIGGER - CATCH HOOKZapier bắt Webhook (sẽ được gửi bởi NODEMCU)

(2) ACTION - GETZapier gửi một Webhook khác để lấy dữ liệu sự kiện;> Nó gọi (chạy) một GoogleScript - GetCurrentEmailEventID (giải thích ở bước sau), để lấy dữ liệu sự kiện hiện tại - tên sự kiện, ID sự kiện, email người dùng.

(3) BỘ LỌC - CHỈ TIẾP TỤC NẾU

Chỉ tiếp tục bước tiếp theo nếu có một sự kiện (bất kỳ sự kiện nào) hiện đang diễn ra trên lịch (PHÒNG ĐANG BẬN), nếu không, hãy dừng lại vì phòng trống.

(4) HÀNH ĐỘNG - GMAILZapier gửi e-mail thông qua Gmail cho người dùng đã đặt phòng (lấy thông tin này ở bước 2)

(5) HÀNH ĐỘNG - TRÌ HOÃN Để người dùng có thời gian trả lời email. - Nếu người dùng nhấp vào liên kết: hãy gọi (chạy) GoogleScript - ApproveCurrentEvent (Do đó Phòng bị xóa khỏi danh sách 'Phòng cần xóa' và phòng vẫn được đánh dấu là có người ở.)

(6) HÀNH ĐỘNG - NHẬN Sau 5 phút, Zapier gọi (chạy) GoogleScript - DeleteCurrentEvent- Nếu người dùng không nhấp vào liên kết

Kiểm tra xem ID phòng có trong danh sách 'Phòng cần xóa' không

nó chỉ xóa sự kiện.

Bước 4: Google Scripts

Google Scripts
Google Scripts
Tập lệnh Google
Tập lệnh Google
Tập lệnh Google
Tập lệnh Google

Khi chúng tôi tích hợp toàn bộ hệ thống, GoogleScripts là sự lựa chọn tầm thường của một IDE, Vì vậy, chúng tôi đã sử dụng các Thư viện Google có liên quan. Sẽ thay đổi theo Nền tảng Đặt phòng.

(1) GetCurrentEmailEventID

Chạy bằng cuộc gọi Webhook.

Sử dụng một độ lệch nhất định để loại bỏ việc hủy bỏ có thể xảy ra, lấy dữ liệu sự kiện hiện tại.

(2) ApproveCurrentEvent

Chạy bằng một cú nhấp chuột của người dùng.

Trong trường hợp người dùng chấp thuận rằng phòng vẫn được sử dụng, hãy xóa ID sự kiện khỏi 'Phòng cần xóa'. Chúng tôi đã sử dụng trang tính của Google, bất kỳ dạng danh sách nào khác có thể có liên quan ở đây.

(3) DeleteCurrentEvent

Chạy bằng cuộc gọi Webhook.

Tìm kiếm ID sự kiện có liên quan trong danh sách (Google sheet) và xóa sự kiện đó khỏi lịch.

Bước 5: Kết nối luồng với mã Arduino

Mã đính kèm kết nối với các cảm biến mà chúng tôi đã kiểm tra vài bước trước với hệ thống trực tuyến (trong trường hợp của chúng tôi là lịch Google). Nó kiểm tra xem phòng có bận hay không và nếu không, nó sẽ gửi một yêu cầu HTTP (một Webhook) để bắt đầu yêu cầu xóa sự kiện trên Zapier.

Bước 6: Xem xét, kết luận và mở rộng quy mô trong tương lai

Image
Image

Thách thức chính mà chúng tôi phải đối phó là bao gồm tất cả các trường hợp phức tạp khi quyết định giải phóng một phòng họp. Sau đó, chúng tôi phải tạo một máy trạng thái xem xét mọi trường hợp có thể xảy ra, sao cho lỗi sẽ không xảy ra và phòng sẽ chỉ được đặt là khả dụng khi cần.

Ví dụ: nếu phòng được đặt cho một số nhóm hiện không có ở đó (ví dụ như đang nghỉ), nhưng vẫn có nhu cầu, NODEMCU sẽ phát hiện ra rằng phòng trống> VẤN ĐỀ.

Sau đó, giải pháp của chúng tôi là gửi email cho người dùng đã đặt phòng (điều này không đơn giản để tìm ra) một messege cung cấp tùy chọn để tiếp tục giữ phòng.

Nếu người dùng không trả lời trong một thời gian nhất định (chúng tôi đặt là 5 phút, nhưng có thể thay đổi dễ dàng), chúng tôi sẽ xóa sự kiện khỏi lịch (và giải phóng phòng).

Bằng cách đó, cuối cùng chúng tôi đã thành công trong việc xử lý tất cả các tình huống có thể xảy ra và tạo ra một hệ thống hoạt động.

CÁC GIỚI HẠN HỆ THỐNG CỦA CHÚNG TÔI:

1. Các cảm biến được sử dụng phải rất chính xác và nhạy.

2. Kích thước phòng được giới hạn trong phạm vi / bán kính của cảm biến.

3. Chúng tôi sẽ phải dựa vào khả năng đáp ứng của người dùng.

4. Hệ thống của chúng tôi được xây dựng bằng nhiều nền tảng (lịch Google, Gmail, Zapier, v.v.) và sẽ phải sử dụng dịch vụ của họ để thực hiện.

5. Mở rộng dịch vụ này cho nhiều phòng (thay vì trùng lặp trên toàn hệ thống) sẽ yêu cầu xử lý bổ sung với ID phòng.

6. Hệ thống chỉ tự động và không có tùy chọn thủ công để hủy đặt phòng.

PHÁT TRIỂN TRONG TƯƠNG LAI:

Chúng tôi chắc chắn sẽ mở rộng quy mô hệ thống theo hai cách:

1. Khả năng làm việc với bất kỳ nền tảng lịch nào khác (vì vậy bất kỳ công ty không gian làm việc chung nào cũng có thể sử dụng nó).

2. Khả năng xử lý nhiều phòng, nhiều tầng và các trang web.

Chúng tôi tin rằng loại quy mô này sẽ mất 2-3 tháng để tổng quát hóa, kiểm tra và thêm tính năng nhiều phòng (tầng, v.v.).

Ngoài ra, sử dụng số tiền và tài nguyên không giới hạn, chúng tôi sẽ sử dụng các cảm biến tốt hơn với phạm vi lớn hơn, cùng với việc tùy chỉnh chúng cho phòng được chỉ định - xem xét phạm vi, bán kính, số lượng cảm biến, v.v. Một bước sẽ khiến mỗi hệ thống cài đặt lâu hơn, rõ ràng.

Đề xuất: