Mục lục:
- Bước 1: Cần có phần cứng và giao thức
- Bước 2: Kết nối Micrô và Cảm biến PIR
- Bước 3: Tạo Quy trình làm việc trong Zapier
- Bước 4: Google Scripts
- Bước 5: Kết nối luồng với mã Arduino
- Bước 6: Xem xét, kết luận và mở rộng quy mô trong tương lai
Video: IDC2018IOT: Phòng họp Snitcher: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
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
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
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
Để 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
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
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:
TỰ LÀM MÔ PHỎNG TRÒ CHƠI MÔ PHỎNG XÂY DỰNG PHẦN 1: 6 bước
TÒA NHÀ MÔ PHỎNG TRÒ CHƠI TỰ LÀM PHẦN 1: Xin chào các bạn Chào mừng các bạn, Hôm nay tôi sẽ giới thiệu cho các bạn cách tôi xây dựng " Trình mô phỏng Trò chơi Đua xe " với sự trợ giúp của Arduino UNO. Kênh YouTube " hãy đảm bảo bạn đăng ký kênh của tôi A Builds (Nhấp vào đây) " Đây là blog xây dựng, So le
MÔ PHỎNG TRÒ CHƠI TỰ LÀM MÔ PHỎNG -- MÔ PHỎNG F1: 5 bước
MÔ PHỎNG TRÒ CHƠI TỰ LÀM MÔ PHỎNG || F1 MÔ PHỎNG: Xin chào mọi người Chào mừng đến với kênh của tôi, Hôm nay tôi sẽ giới thiệu cho các bạn cách tôi xây dựng " Trình mô phỏng trò chơi đua xe " với sự trợ giúp của Arduino UNO. đây không phải là một blog xây dựng, nó chỉ là tổng quan và thử nghiệm của trình mô phỏng. Sắp có blog xây dựng hoàn chỉnh
Âm nhạc thông minh trong phòng ngủ và phòng tắm với Raspberry Pi - Tích hợp Multiroom, Báo thức, Điều khiển nút và Tự động hóa nhà: 7 bước
Âm nhạc thông minh trong phòng ngủ và phòng tắm với Raspberry Pi - Tích hợp nhiều phòng, báo thức, điều khiển bằng nút bấm và tự động hóa gia đình: Hôm nay chúng tôi muốn cung cấp cho bạn hai ví dụ về cách bạn có thể sử dụng Raspberry Pi với phần mềm Max2Play của chúng tôi để tự động hóa gia đình: trong phòng tắm và phòng ngủ . Cả hai dự án đều giống nhau ở chỗ, nhạc có độ trung thực cao từ nhiều nguồn khác nhau có thể được phát trực tiếp
Hộp Barbie: Hộp ngụy trang / Hộp bùng nổ cho máy nghe nhạc Mp3 của bạn: 4 bước (có hình ảnh)
Hộp Barbie: Hộp ngụy trang / Hộp bùng nổ cho máy nghe nhạc Mp3 của bạn: Đây là một hộp đựng bảo vệ có đệm cho máy nghe nhạc mp3 của bạn, cũng có thể chuyển đổi giắc cắm tai nghe sang 1/4 inch, có thể hoạt động như một hộp bùng nổ khi lật công tắc và ngụy trang máy nghe nhạc mp3 của bạn thành một máy nghe nhạc đầu những năm chín mươi hoặc hành vi trộm cắp tương tự tôi
Tome of Infinite Knowledge: Hộp đựng Netbook theo phong cách Sách Từ Hộp riêng: 8 bước
Kho tàng kiến thức vô hạn: Hộp đựng Netbook theo phong cách Sách Từ Hộp riêng: Sau sự sụp đổ của các cửa hàng truyền thống ở Circuit City, tôi đã có thể mua một Netbook của bạn bè Averatec (một chiếc MSI Wind được gắn huy hiệu lại). Muốn có một chiếc case steampunk chắc chắn và tốn ít tiền, tôi quyết định làm một chiếc từ những thứ tiện dụng: Material