Isi kandungan:

IDC2018IOT: Snitcher Bilik Mesyuarat: 6 Langkah
IDC2018IOT: Snitcher Bilik Mesyuarat: 6 Langkah

Video: IDC2018IOT: Snitcher Bilik Mesyuarat: 6 Langkah

Video: IDC2018IOT: Snitcher Bilik Mesyuarat: 6 Langkah
Video: ✨The King's Avatar S2 (Quan Zhi Gao Shou) Full Version [MULTI SUB] 2024, Julai
Anonim
IDC2018IOT: Snitcher Bilik Mesyuarat
IDC2018IOT: Snitcher Bilik Mesyuarat

MASALAH

Seperti yang kita ketahui, trend ruang kerja telah meningkat sejak beberapa tahun kebelakangan ini, bersama dengan teknologi canggih yang menentukan pilihan ruang kerja khusus yang sesuai dengan keperluan anda.

Salah satu ciri utama yang ditawarkan adalah bilik mesyuarat bersama yang ditawarkan kepada anggota ruang kerja bersama, yang dikendalikan oleh (biasanya) platform kalendar sederhana.

Masalah berulang apabila jadual orang cenderung dinamik.

Seseorang mungkin menempah bilik dengan berfikir bahawa dia mungkin memerlukannya dan tidak mahu melewatkan slot waktu.

Walaupun seseorang tidak akan menggunakan slot waktu itu akhirnya, dia tidak akan peduli untuk memberitahu dan membatalkannya demi orang lain, kerana sayangnya itu adalah sifat manusia.

BAGAIMANA KITA MENYELESAIKANNYA?

Menggunakan teknologi IoT - memeriksa suara dan pergerakan di ruang pertemuan yang ditentukan, kami memeriksa, setiap selang waktu tertentu, sama ada bilik ditempah dan benar-benar dihuni atau tidak:

1. Sekiranya ia tidak ditempah, jangan buat apa-apa.

2. Sekiranya ia dipesan, periksa sama ada terdapat pergerakan atau bunyi yang dikesan;

Sekiranya ada, jangan buat apa-apa.

Jika tidak ada yang terdeteksi, kirimkan pesan amaran (melalui e-mel) kepada pengguna yang menempah ruangan yang bertanya apakah ruangan itu masih digunakan. melainkan jika pengguna akan menyatakan dia masih menggunakan ruangan, status kamar akan diubah menjadi "Tersedia".

* Di sini, kami menggabungkan projek kami dengan Kalendar Google untuk menggeneralisasikannya sebanyak mungkin.

Langkah 1: Perkakasan dan Protokol Diperlukan

Perkakasan dan Protokol Diperlukan
Perkakasan dan Protokol Diperlukan

1. Kami menggunakan NOSEMCU supaya kami dapat mengemas kini sesuatu secara dinamik menggunakan sambungan WIFI.

2. Sensor mikrofon yang akan "membaca" bunyi di dalam bilik.

3. Sensor PIR yang akan memeriksa sama ada terdapat pergerakan.

Untuk penggunaan perisian dan pelayan, selain kod di Arduino, kami menggunakan Skrip Google dan Zapier untuk menyokong sistem kami dalam talian. Anda dapat melihat aliran dalam gambar yang ditambahkan (dan PDF).

Kami menggunakan Zapier untuk menghubungkan aplikasi dan mengautomasikan aliran kerja kami (seperti IFTTT) dan kami menggunakan Skrip Google untuk membantu kami berkomunikasi dengan Kalendar Google. Skrip yang kami tulis adalah menghasilkan e-mel pencipta acara sehingga kami dapat mengirimnya melemparkan Zapier dan memeriksa apakah pengguna meminta untuk menahan ruangan (dengan menyimpan beberapa maklumat di Google Spreadsheet) sebelum menghapus acara tersebut.

Langkah 2: Sambungkan Mikrofon dan Sensor PIR

Sambungkan Mikrofon dan Sensor PIR
Sambungkan Mikrofon dan Sensor PIR
Sambungkan Mikrofon dan Sensor PIR
Sambungkan Mikrofon dan Sensor PIR

Kami ingin memeriksa nilai rata-rata catatan mikrofon ke NODEMCU ketika orang bercakap (jelas, di setiap bilik mempunyai latar belakang yang berbeza). Kami melakukan beberapa ujian dan menyedari bahawa tahap kebisingan rata-rata adalah bilik tempat kami bekerja berada di atas 50.

Sensor PIR hanya memberikan nilai TINGGI atau RENDAH jadi kami hanya memeriksa tahap kepekaan yang paling tepat untuk ruangan yang kami periksa. Panduan ini cukup berguna.

Sambungan KAMI:

Mikrofon - seperti dalam gambar Sensor PIR: GND> GND, OUT> D7, VCC> VN (5V)

Langkah 3: Buat Alur Kerja di Zapier

Buat Aliran Kerja di Zapier
Buat Aliran Kerja di Zapier
Buat Aliran Kerja di Zapier
Buat Aliran Kerja di Zapier
Buat Aliran Kerja di Zapier
Buat Aliran Kerja di Zapier

Untuk mengetahui sama ada ruangan itu benar-benar kosong atau masih digunakan (dan pengguna berehat misalnya), kami ingin membuat aliran yang memastikannya, tepat setelah NodeMCU melepaskan Webhook ke Zapier yang memberitahu bahawa bilik kosong:

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

(2) TINDAKAN - GETZapier mengirim Webhook lain untuk mendapatkan data acara;> Ia memanggil (menjalankan) GoogleScript - GetCurrentEmailEventID (penjelasan pada langkah berikut), untuk mendapatkan data peristiwa terkini - nama acara, ID peristiwa, email pengguna.

(3) PENAPIS - HANYA TERUS JIKA

Teruskan ke langkah seterusnya hanya jika ada acara (apa-apa peristiwa) yang sedang berlaku di kalendar (BILIK ADALAH BISY), jika tidak, berhenti kerana ruangan kosong.

(4) TINDAKAN - GMAILZapier mengirim e-mel, melalui Gmail, kepada pengguna yang menempah ruangan (dapatkan maklumat ini pada langkah 2)

(5) TINDAKAN - KELUARAN TIDAK Biarkan waktu pengguna untuk membalas e-mel.- Jika pengguna mengklik pautan: panggil (jalankan) GoogleScript - ApproveCurrentEvent (Oleh itu Ruangan itu dikeluarkan dari senarai 'Ruangan untuk dihapus', dan bilik masih ditandakan sebagai diduduki.)

(6) TINDAKAN - DAPATKAN Selepas 5 minit, Zapier memanggil (berjalan) GoogleScript - DeleteCurrentEvent- Sekiranya pengguna tidak mengklik pada pautan

Periksa sama ada ID ruangan ada dalam senarai 'Ruangan untuk dihapuskan'

ia hanya membuang acara.

Langkah 4: Skrip Google

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

Ketika kami mengintegrasikan keseluruhan sistem, GoogleScripts adalah pilihan IDE yang sepele, Oleh itu, kami menggunakan Perpustakaan Google yang relevan. Akan berubah mengikut Platform Pemesanan Bilik.

(1) GetCurrentEmailEventID

Dijalankan oleh panggilan Webhook.

Menggunakan ofset tertentu untuk menghilangkan kemungkinan pembatalan kehilangan, mendapatkan data peristiwa semasa.

(2) ApproveCurrentEvent

Dijalankan dengan klik pengguna.

Sekiranya terdapat persetujuan pengguna bahawa ruangan masih digunakan, hapus ID acara dari 'Ruangan untuk dihapus'. Kami menggunakan helaian Google, bentuk senarai lain mungkin relevan di sini.

(3) DeleteCurrentEvent

Dijalankan oleh panggilan Webhook.

Mencari ID peristiwa yang berkaitan dalam senarai (helaian Google) dan menghapus peristiwa itu dari kalendar.

Langkah 5: Sambungkan Aliran Dengan Kod Arduino

Kod yang dilampirkan menghubungkan ke sensor yang kami periksa beberapa langkah yang lalu ke sistem dalam talian (kalendar Google dalam kes kami). Ia memeriksa apakah ruangan sibuk dan kemudian jika tidak, ia mengirimkan permintaan HTTP (Webhook) yang memulakan permintaan acara penghapusan pada Zapier.

Langkah 6: Tinjauan, Kesimpulan dan Penskalaan Masa Depan

Image
Image

Cabaran utama yang harus kita hadapi adalah merangkumi semua kes penting ketika memutuskan untuk membebaskan bilik mesyuarat. Kami kemudian harus membuat mesin negara mempertimbangkan setiap kemungkinan kasus, sehingga kesalahan tidak akan terjadi dan ruangan akan ditetapkan hanya tersedia bila seharusnya.

Sebagai contoh, jika bilik ditempah untuk beberapa kumpulan yang pada masa ini tidak ada di sana (sebagai waktu rehat, misalnya), tetapi masih memerlukannya, NODEMCU akan mengesan bahawa bilik itu percuma> MASALAH.

Kemudian, penyelesaian kami adalah menghantar e-mel kepada pengguna yang menempah bilik (yang tidak mudah difahami) pesanan yang memberikan pilihan untuk terus memegang bilik.

Sekiranya pengguna tidak membalas dalam waktu tertentu (kami menetapkannya menjadi 5 minit, tetapi dapat diubah dengan mudah), kami menghapus acara dari kalendar (dan membebaskan ruangan).

Dengan cara itu, kita akhirnya berjaya menangani semua senario yang mungkin dan membuat sistem kerja.

BATASAN SISTEM KAMI:

1. Sensor yang digunakan mestilah sangat tepat & sensitif.

2. Ukuran bilik terhad pada radius / jarak sensor.

3. Kita harus bergantung pada respons pengguna.

4. Sistem kami dibina menggunakan beberapa platform (kalendar Google, Gmail, Zapier dll) dan perlu menggunakan perkhidmatan mereka untuk melakukan.

5. Menskalakan perkhidmatan ini untuk beberapa bilik (bukannya penduaan keseluruhan sistem) akan memerlukan pengendalian tambahan dengan ID bilik.

6. Sistem ini hanya automatik dan tidak ada pilihan manual untuk membatalkan tempahan bilik.

PERKEMBANGAN MASA DEPAN:

Kami pasti akan meningkatkan sistem dengan dua cara:

1. Keupayaan untuk bekerja dengan platform kalendar lain (jadi mana-mana syarikat ruang kerja boleh menggunakannya).

2. Keupayaan untuk mengendalikan beberapa bilik, lantai, dan laman web.

Kami percaya bahawa skala seperti ini akan mengambil masa 2-3 bulan untuk membuat generalisasi, menguji dan menambahkan ciri beberapa bilik (lantai dll).

Di samping itu, dengan menggunakan sejumlah wang dan sumber daya yang tidak terhad, kami akan menggunakan sensor yang lebih baik dengan jarak yang lebih besar, bersama-sama dengan menyesuaikannya ke ruang yang ditentukan - dengan mempertimbangkan jarak, radius, jumlah sensor dan lain-lain. Langkah yang menjadikan setiap sistem dipasang lebih lama, jelas.

Disyorkan: