Daftar Isi:
- Langkah 1: Diperlukan Perangkat Keras dan Protokol
- Langkah 2: Hubungkan Mikrofon dan Sensor PIR
- Langkah 3: Buat Alur Kerja di Zapier
- Langkah 4: Skrip Google
- Langkah 5: Hubungkan Aliran Dengan Kode Arduino
- Langkah 6: Tinjauan, Kesimpulan, dan Penskalaan Masa Depan
Video: IDC2018IOT: Meeting Room Snitcher: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
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
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
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
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
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
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:
Escape Room Arduino: 6 Langkah (dengan Gambar)
Escape Room Arduino: Proyek ini adalah tentang membuat prototipe ruang pelarian, menggunakan komponen elektronik arduino, pengetahuan dasar pengkodeannya. Ruang pelarian ini akan memiliki 5 fase untuk dicakup:(Ini bisa berbeda untuk semua orang)1. Sensor tekanan - LEDSetelah Anda
Escape Room Codegenerator: 4 Langkah
Escape Room Codegenerator: Voor dit project werd er gevraagd om een machine ontwikkelen die gebruikt zal worden in een escape room. Mesin de bedoeling van deze adalah pintu dat het drukken op een knop een bijhorend cijfer wordt aangeduid aan de hand van lampjes, zo zal het mo
Buatan sendiri -- Clap Controlled Room Light: 3 Langkah
Buatan sendiri || Clap Controlled Room Light: Pernah bertanya-tanya untuk mengontrol Peralatan Rumah Anda dengan CLAP? Maka Anda berada di tempat yang tepat! Di sini, saya akan menunjukkan kepada Anda bagaimana Anda dapat mengontrol Peralatan Rumah apa pun baik itu - Lampu Kamar, Kipas Angin, Televisi, atau Sistem Audio hanya dengan tepukan. Proyek ini didasarkan pada
HiFi Multi-room WiFi & Bluetooth Speaker: 10 Langkah (dengan Gambar)
HiFi Multi-room WiFi & Bluetooth Speaker: Speaker yang terhubung dengan Wi-Fi mampu memberikan kualitas audio yang jauh lebih baik daripada opsi Bluetooth. Mereka tidak memampatkan konten audio sebelum memutarnya, yang dapat memiliki efek negatif pada suara, karena mengurangi tingkat detail y
Escape Room Decoder Box: 7 Langkah (dengan Gambar)
Escape Room Decoder Box: Escape Rooms adalah kegiatan yang sangat menyenangkan yang sangat menarik dan bagus untuk kerja tim. Pernahkah Anda berpikir untuk membuat Escape Room Anda sendiri? Nah dengan kotak decoder ini Anda bisa baik-baik saja! Lebih baik lagi apakah Anda berpikir untuk menggunakan es