Daftar Isi:

IDC2018IOT: Meeting Room Snitcher: 6 Langkah
IDC2018IOT: Meeting Room Snitcher: 6 Langkah

Video: IDC2018IOT: Meeting Room Snitcher: 6 Langkah

Video: IDC2018IOT: Meeting Room Snitcher: 6 Langkah
Video: AWS re:Invent 2020 - Keynote with Andy Jassy 2024, November
Anonim
IDC2018IOT: Snitcher Ruang Rapat
IDC2018IOT: Snitcher Ruang Rapat

MASALAH

Seperti yang kita ketahui, tren ruang kerja bersama telah meningkat pesat selama beberapa tahun terakhir, seiring dengan teknologi mutakhir yang menentukan pilihan ruang kerja bersama khusus yang sesuai dengan kebutuhan Anda.

Salah satu fitur utama yang ditawarkan adalah ruang pertemuan bersama yang ditawarkan kepada anggota co-working space, yang dikelola oleh (biasanya) platform kalender sederhana.

Masalah muncul kembali karena jadwal orang cenderung dinamis.

Seseorang mungkin memesan kamar dengan pemikiran bahwa dia mungkin membutuhkannya dan tidak ingin melewatkan slot waktu.

Bahkan jika seseorang tidak akan menggunakan slot waktu itu pada akhirnya, dia tidak akan repot-repot memberi tahu dan membatalkannya demi orang lain, sayangnya, itulah sifat manusia.

BAGAIMANA KAMI MENYELESAIKANNYA?

Menggunakan teknologi IoT - memeriksa suara dan gerakan di ruang rapat yang ditentukan, kami memeriksa, setiap interval waktu tertentu, apakah kamar dipesan dan benar-benar ditempati atau tidak:

1. Jika tidak dipesan, jangan lakukan apa pun.

2. Jika sudah dipesan, periksa apakah ada gerakan atau suara yang terdeteksi;

Jika ada, jangan lakukan apa pun.

Jika tidak ada yang terdeteksi, kirim pesan peringatan (melalui email) kepada pengguna yang memesan kamar yang menanyakan apakah kamar masih digunakan. kecuali pengguna akan menyatakan bahwa dia masih menggunakan kamar, status kamar akan diubah menjadi "Tersedia".

* Di sini, kami mengintegrasikan proyek kami dengan Kalender Google untuk menggeneralisasikannya sebanyak mungkin.

Langkah 1: Diperlukan Perangkat Keras dan Protokol

Diperlukan Perangkat Keras dan Protokol
Diperlukan Perangkat Keras dan Protokol

1. Kami menggunakan NOSEMCU sehingga kami dapat memperbarui berbagai hal secara dinamis menggunakan koneksi WIFI.

2. Sensor mikrofon yang akan "membaca" kebisingan di dalam ruangan.

3. Sensor PIR yang akan memeriksa apakah ada gerakan.

Untuk penggunaan perangkat lunak dan server, selain kode di Arduino, kami menggunakan Google Script dan Zapier untuk mendukung sistem kami secara online. Anda dapat melihat alurnya di gambar yang ditambahkan (dan PDF).

Kami menggunakan Zapier untuk menghubungkan aplikasi dan mengotomatiskan alur kerja kami (seperti IFTTT) dan kami menggunakan Google Script untuk membantu kami berkomunikasi dengan Kalender Google. Skrip yang kami tulis adalah membuat email pembuat acara sehingga kami dapat mengirimkannya melemparkan Zapier dan memeriksa apakah pengguna meminta untuk menahan ruangan (dengan menyimpan beberapa info di Google Spreadsheet) sebelum menghapus acara.

Langkah 2: Hubungkan Mikrofon dan Sensor PIR

Hubungkan Mikrofon dan Sensor PIR
Hubungkan Mikrofon dan Sensor PIR
Hubungkan Mikrofon dan Sensor PIR
Hubungkan Mikrofon dan Sensor PIR

Kami ingin memeriksa nilai rata-rata yang dipasang mikrofon ke NODEMCU ketika orang berbicara (jelas, di setiap ruangan memiliki suara latar yang berbeda). Kami melakukan beberapa pengujian dan menyadari bahwa tingkat kebisingan rata-rata adalah ruangan tempat kami bekerja berada di atas 50.

Sensor PIR hanya memberikan nilai HIGH atau LOW sehingga kami hanya memeriksa tingkat sensitivitas yang paling akurat untuk ruangan yang kami periksa. Panduan ini cukup membantu.

KONEKSI KAMI:

Mikrofon - seperti pada gambarPIR sensor: GND > GND, OUT > D7, VCC > VN (5V)

Langkah 3: Buat Alur Kerja di Zapier

Buat Alur Kerja di Zapier
Buat Alur Kerja di Zapier
Buat Alur Kerja di Zapier
Buat Alur Kerja di Zapier
Buat Alur Kerja di Zapier
Buat Alur Kerja di Zapier

Untuk mengetahui apakah ruangan tersebut benar-benar kosong atau masih digunakan (dan pengguna sedang istirahat misalnya), kami ingin membuat aliran yang memastikannya, tepat setelah NodeMCU mengaktifkan Webhook ke Zapier yang memberitahukan bahwa kamar kosong:

(1) TRIGGER - CATCH HOOKZapier menangkap Webhook (yang akan dikirim oleh NODEMCU)

(2) TINDAKAN - GETZapier mengirimkan Webhook lain untuk mendapatkan data peristiwa;> Ini memanggil (menjalankan) GoogleScript - GetCurrentEmailEventID (penjelasan pada langkah berikut), untuk mendapatkan data peristiwa saat ini - nama peristiwa, ID peristiwa, email pengguna.

(3) FILTER - HANYA LANJUTKAN JIKA

Lanjutkan ke langkah berikutnya hanya jika ada acara (acara apa pun) yang sedang berlangsung di kalender (RUANG SIBUK), jika tidak, berhenti karena ruangan kosong.

(4) TINDAKAN - GMAILZapier mengirimkan email, melalui Gmail, kepada pengguna yang memesan kamar (mendapat informasi ini di langkah 2)

(5) TINDAKAN - TUNDA LEWATKAN Biarkan pengguna waktu untuk membalas email.- Jika pengguna mengklik tautan: panggil (jalankan) GoogleScript - ApproveCurrentEvent(Oleh karena itu Ruangan dihapus dari daftar 'Kamar yang akan dihapus', dan kamar masih ditandai sebagai ditempati.)

(6) TINDAKAN - DAPATKAN Setelah 5 menit, Zapier memanggil (menjalankan) GoogleScript - DeleteCurrentEvent- Jika pengguna tidak mengklik tautan

Mengecek apakah room ID ada di daftar 'Rooms to delete'

itu hanya menghapus acara.

Langkah 4: Skrip Google

Google Skrip
Google Skrip
Google Skrip
Google Skrip
Google Skrip
Google Skrip

Saat kami mengintegrasikan seluruh sistem, GoogleScripts adalah pilihan sepele dari IDE, Jadi, kami menggunakan Perpustakaan Google yang relevan. Akan berubah sesuai dengan Platform Pemesanan Kamar.

(1) GetCurrentEmailEventID

Dijalankan melalui panggilan Webhook.

Menggunakan offset tertentu untuk menghilangkan kemungkinan miss-cancellation, mendapatkan data event saat ini.

(2) SetujuiAcara Saat Ini

Dijalankan dengan klik pengguna.

Dalam hal persetujuan pengguna bahwa ruangan tersebut masih digunakan, hapus ID peristiwa dari 'Ruangan yang akan dihapus'. Kami menggunakan lembar Google, bentuk daftar lain apa pun bisa relevan di sini.

(3) HapusAcara Saat Ini

Dijalankan melalui panggilan Webhook.

Mencari ID acara yang relevan dalam daftar (lembar Google) dan menghapus acara tersebut dari kalender.

Langkah 5: Hubungkan Aliran Dengan Kode Arduino

Kode terlampir terhubung ke sensor yang kami periksa beberapa langkah lalu ke sistem online (kalender Google dalam kasus kami). Ia memeriksa apakah ruangan sedang sibuk dan kemudian jika tidak, ia mengirimkan permintaan HTTP (Webhook) yang memulai permintaan penghapusan acara di Zapier.

Langkah 6: Tinjauan, Kesimpulan, dan Penskalaan Masa Depan

Image
Image

Tantangan utama yang harus kami tangani adalah menutupi semua kasus tepi ketika memutuskan untuk membebaskan ruang pertemuan. Kami kemudian harus membuat mesin negara dengan mempertimbangkan setiap kemungkinan kasus, sehingga kesalahan tidak akan terjadi dan ruangan akan ditetapkan sebagai tersedia hanya jika seharusnya.

Misalnya, jika kamar dipesan untuk beberapa grup yang saat ini tidak ada (yaitu sedang istirahat, misalnya), tetapi masih membutuhkannya, NODEMCU akan mendeteksi bahwa kamar kosong > MASALAH.

Kemudian, solusi kami adalah mengirim email kepada pengguna yang memesan kamar (yang tidak mudah diketahui) pesan yang memberikan opsi untuk tetap memegang kamar.

Jika pengguna tidak membalas dalam waktu tertentu (kami menetapkannya menjadi 5 menit, tetapi dapat diubah dengan mudah), kami menghapus acara dari kalender (dan mengosongkan ruangan).

Dengan begitu, kami akhirnya berhasil menangani semua kemungkinan skenario dan membuat sistem kerja.

BATASAN SISTEM KAMI:

1. Sensor yang digunakan harus sangat akurat & sensitif.

2. Ukuran ruangan terbatas pada radius/jarak sensor.

3. Kita harus bergantung pada daya tanggap pengguna.

4. Sistem kami dibangun menggunakan beberapa platform (kalender Google, Gmail, Zapier, dll.) dan harus menggunakan layanan mereka untuk menjalankannya.

5. Penskalaan layanan ini untuk beberapa ruangan (bukan duplikasi seluruh sistem) akan memerlukan penanganan tambahan dengan ID ruangan.

6. Sistem hanya otomatis dan tidak ada pilihan manual untuk membatalkan pemesanan kamar.

PERKEMBANGAN MASA DEPAN:

Kami pasti akan meningkatkan sistem dengan dua cara:

1. Kemampuan untuk bekerja dengan platform kalender lainnya (sehingga setiap perusahaan ruang kerja bersama dapat menggunakannya).

2. Kemampuan untuk menangani beberapa kamar, lantai, dan situs.

Kami percaya bahwa skala semacam ini akan memakan waktu 2-3 bulan untuk menggeneralisasi, menguji, dan menambahkan beberapa fitur kamar (lantai dll.).

Selain itu, dengan menggunakan jumlah uang dan sumber daya yang tidak terbatas, kami akan menggunakan sensor yang lebih baik dengan jangkauan yang lebih luas, serta menyesuaikannya dengan ruangan yang ditentukan – dengan mempertimbangkan jangkauan, radius, jumlah sensor, dll. Sebuah langkah yang akan membuat setiap sistem dipasang lebih lama, jelas sekali.

Direkomendasikan: