Tentang proyek ini
Pendahuluan
Jika Anda telah tinggal di Bangalore selama beberapa tahun, maka Anda tidak asing dengan banjir. Setiap tahun selama musim hujan, tempat parkir bawah tanah apartemen saya terisi air hingga tidak mungkin untuk menghidupkan mesin sepeda saya. Yang lebih parah adalah ketika air mengering, saya harus membawa sepeda saya ke mekanik untuk diperbaiki karena kerusakan air. Tahun ini saya tidak akan mengambil semua itu. Jadi saya memutuskan untuk membangun sistem pemantauan ketinggian air yang akan mengingatkan saya jika tempat parkir kebanjiran.
Inilah cara Anda dapat mengaktifkan dan menjalankan sistem yang sama.
Instal Pustaka yang Diperlukan
Klik di sini dan di sini untuk mengunduh perpustakaan BoltIoT-Arduino-Helper oleh BoltIoT dan perpustakaan Ultrasonic oleh Erick Simoes.
Untuk menginstall library ini masuk ke Arduino IDE, pada menu drop down 'sketch' pilih Include Library> Add.ZIP Library..
Kemudian navigasikan ke folder tempat perpustakaan diunduh, dan pilih.
Unggah Kode Arduino
1. Buka Arduino IDE.
2. Salin Kode Arduino di akhir blog, dan ganti semua kode di dalam sketsa dengan kode yang disalin.
3. Simpan sketsa Arduino dengan menekan 'ctrl + s' di Widows dan ubuntu, dan 'cmd + s' di Mac.
4. Setelah menyimpan kode, buka menu alat, dan di bawah bagian papan pilih Arduino/Genuino Uno.
5. Hubungkan Arduino atau Boltduino ke PC Anda menggunakan kabel USB.
6. Di bawah menu alat, di submenu port pilih port yang memiliki Arduino/Genuino uno di akhir.
7. Klik unggah.
Kode akan diunggah ke Arduino atau Boltduino Anda.
Penyiapan Perangkat Keras
Buat sambungan sesuai diagram Fritzing di bawah ini.
CATATAN: Klik '>' untuk melihat diagram Fritzing untuk menggunakan Boltduino alih-alih Arduino.
Jika Anda menggunakan Boltduino alih-alih Arduino, Anda harus mengurangi sedikit koneksi, karena modul WiFi Bolt langsung terpasang ke Boltduino.
Pasang sistem sedemikian rupa sehingga sensor menghadap ke bawah ke lantai di mana air akan menggenang seiring waktu.
Ingatlah bahwa ambang deteksi akan selalu lebih kecil dari tinggi sensor.
Nyalakan sistem menggunakan adaptor 9v atau 12v DC.
Catatan: Jika Anda belum menyiapkan, Anda belum menyiapkan Baut, ikuti langkah-langkah yang diberikan di sini:Menyiapkan Baut Anda .
Siapkan Skenario Integromat untuk Mengirim Peringatan Email
Jika Anda belum melakukannya, buat akun di Integromat, klik di sini untuk membuka halaman pendaftaran mereka. Jika Anda sudah memiliki akun Integormat, masuk ke Integromat.
Menggunakan langkah berikut untuk mengkloning skenario 'Deteksi Ketinggian Air', yang saya buat.
1. Unduh cetak biru skenario Deteksi Ketinggian Air yang terlampir di bagian kode proyek ini. Ingatlah untuk menyimpan file dengan nama file 'WaterLevelDetection.json'.
2. Buat skenario, dengan mengklik tombol biru 'Buat skenario baru' di pojok kanan atas, dan klik lanjutkan.
3. Klik tombol 'lainnya' di bagian bawah layar.
4. Pilih 'Import Blueprint' dan klik 'Choose file'.
5. Arahkan ke folder tempat Anda mengunduh file 'WaterLevelDetection.json', pilih file dan klik buka. Setelah selesai klik simpan. Skenario Deteksi Ketinggian Air akan dimuat.
6. Klik nama skenario dan ubah ke Deteksi Ketinggian Air.
Gunakan langkah-langkah berikut untuk mengonfigurasi skenario Deteksi Ketinggian Air.
1. Dapatkan kunci Bolt Cloud API Anda dengan mengklik di sini. Gambar di bawah menunjukkan cara mengaktifkan dan menyalin kunci API.
2. Kembali ke skenario Integromat, dan klik gelembung BoltIoT pertama, lalu klik tombol 'tambah'.
3. Tempelkan kunci API yang telah Anda salin sebelumnya, dan klik tombol 'lanjutkan'.
3. Tambahkan nama perangkat perangkat Anda. Anda dapat mengetahui nama perangkat modul WiFi Bolt Anda dengan mengklik di sini. Kemudian klik ok.
4. Untuk gelembung BoltIoT kedua dan ketiga, Anda dapat mengklik menu drop down dan memilih 'My Bolt Connection'. Ingatlah untuk menambahkan nama perangkat yang benar untuk masing-masing perangkat.
5. Klik pada gelembung matematika, dan ubah nilai 100 ke ketinggian tempat Anda menyimpan sensor, dalam cm. Kemudian klik ok.
6. Klik titik merah di antara gelembung matematika dan gmail, ganti 60 dengan ketinggian air yang ingin Anda waspadai, dan klik ok.
6. Klik gelembung gmail, dan klik tombol edit.
7. Tambahkan id email Anda dan klik ok.
8. Klik tombol Tambah, lalu tombol lanjutkan dan izinkan Integromat mengakses akun gmail Anda.
9. Anda dapat menambahkan lebih banyak penerima dengan mengklik tombol 'Tambahkan penerima', lalu klik ok.
10. Pastikan sirkuit Anda menyala, dan tidak ada penghalang di depan sensor, dan klik tombol Run. Skenario akan berjalan dan menunggu sebelum filter, ditandai dengan '1' dalam gelembung pemikiran. Jika Anda meletakkan tangan Anda di depan sensor, dan menjalankan skenario, skenario akan berjalan sampai ke gelembung gmail dan Anda akan mendapatkan email.
11. Klik tombol di sebelah teks 'off' untuk mengaktifkan skenario. Skenario sekarang akan berjalan secara otomatis setiap 15 menit. dan Anda akan menerima dan waspada, jika ketinggian air naik di atas ketinggian yang Anda tetapkan untuk peringatan.
Memasang Sistem
Setelah ini selesai, yang harus Anda lakukan adalah memasang sistem sedemikian rupa sehingga sensor mengarah ke lantai, menyalakan sistem, dan memastikan bahwa Bolt memiliki akses berkelanjutan ke internet melalui WiFi Anda.
Aplikasi
Sistem dapat digunakan dalam aplikasi berikut.
- Mendeteksi bahwa tempat parkir Anda kebanjiran.
- Mendapatkan peringatan saat tangki air Anda penuh atau kosong.
- Mendeteksi air pasang, jika Anda memiliki rumah di dekat laut.
Lebih Banyak Proyek Berdasarkan Baut
Ingin membangun proyek lain dengan Bolt? Berikut adalah beberapa saran:
1. Memulai dengan Baut:Sistem Pemantauan Suhu
2. Otomatisasi Rumah
Kode
- Sistem Deteksi Ketinggian Air menggunakan Ultrasonic HC-SR04
- Deteksi Ketinggian Air
Sistem Deteksi Ketinggian Air menggunakan Ultrasonic HC-SR04C/C++
#include #include #define ULTRASONIC_TRIG_PIN 12#define ULTRASONIC_ECHO_PIN 13Ultrasonic ultrasonic(ULTRASONIC_TRIG_PIN,ULTRASONIC_ECHO_PIN);String get distance=0;String get distance=0 =ultrasonik.baca(); String returnString=""+String(jarak); return returnString;}void setup() { boltiot.begin(Serial); // letakkan kode setup Anda di sini, untuk dijalankan sekali:boltiot.setCommandString("RD\r",getDistance); boltiot.setCommandString("GetDistance",getDistance);}void loop() { boltiot.handleCommand(); // letakkan kode utama Anda di sini, untuk dijalankan berulang kali:}
WaterLevelDetectionJSON
Ini adalah file json yang berisi cetak biru untuk skenario Integromat.{ "name":"Water Level Detection", "flow":[ { "id":15, "module":"app#bolt-iot:executeCommand", "version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialBegin", "parameters":{ "baud":"9600", "deviceName" :"" } }, "metadata":{ "designer":{ "x":8, "y":-3 }, "restore":{ "command":{ "label":"Inisialisasi komunikasi serial" } , "__IMTCONN__":{ "label":"Sambungan Baut Saya" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"Connection", "wajib ":true } ], "expect":[ { "name":"command", "type":"select", "label":"Command", "required":true, "validate":{ "enum" :[ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "name":"parameters", "spec":[ { "name":"deviceName", "type":"text", "label":"Device name", "required":true }, { "name":"baud" , "Tipe":" number", "label":"Baud", "required":true } ], "type":"collection", "label":"Parameters" } ] } }, { "id":1, "module":"app#bolt-iot:executeCommand", "version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialWrite", "parameters":{ "data":"GetDistance", "deviceName":"" } }, "metadata":{ "designer":{ "x":300, "y":0 }, "restore":{ "command":{ "label":"Send serial data output" }, "__IMTCONN__":{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label" :"Connection", "required":true } ], "expect":[ { "name":"command", "type":"select", "label":"Command", "required":true, " validasi":{ "enum":[ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "name":"parameters", "spec":[ { "name":"deviceName", "type":"text", "label":"Device name", "required":true }, { "name":"data", "type":"text", "label":"Data", "wajib":true } ], "type":"collection", "label":"Parameters" } ] } }, { "id":14, "module":"app#bolt-iot:executeCommand", " version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialRead", "parameters":{ "hingga":"10", "deviceName":"" } }, "metadata":{ "designer":{ "x":600, "y":0 }, "restore":{ "command":{ "label":"Baca data serial yang masuk" }, "__IMTCONN__" :{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"Connection", "required":true } ], "mengharapkan":[ { "nama":"perintah", "tipe":"pilih", "label":"Perintah", "diperlukan":benar, "validasi":{ "enum":[ "digitalWrite ", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "name":"parameters", "spec":[ { "name":"deviceName", "type":"text", "label":"Device name", "required":true }, { "name":"till", "type" :"number", "label":"Sampai", "wajib":benar, "validasi":{ "maks":127, "min":0 } } ], "type":"collection", "label":"Parameters" } ] } }, { "id":18, "module":"math:EvaluateExpression", "version":1, "parameters":{}, "mapper":{ "expression":"100-{{parseNumber(14.value)}}" }, "metadata":{ "designer":{ "x":869, "y":-2 }, "mengharapkan":[ { "name":"expression", "type":"text", "label":"Expression", "required":true } ] } }, { "id":13, "modul":"google-email:ActionSendEmail", "version":1, "parameters":{ "account":445282 }, "filter":{ "name" :"Periksa apakah ketinggian air terlalu tinggi", "kondisi":[ [ { "a":"{{18.result}}", "b":"60", "o":"number:lebih besar" } ] ] }, "mapper":{ "cc":[], "ke":[ ], "bcc":[], "html":"Ketinggian air telah mencapai {{18.result}}cms.", " subjek":"Peringatan! Ketinggian air terlalu tinggi!!", "lampiran":[] }, "metadata":{ "designer":{ "x":1145, "y":-3 }, "restore":{ "cc":{ "mode":"chose", "items":[] }, "to":{ "mode":"chose", "items":[ "undefined" ] }, "bcc":{ "mode":"chose", "items":[] }, "account":{ "label":"" }, "attachments":{ "mode":"chose", "items":[] } }, "parameter" :[ { "name":"account", "type":"account", "label":"Connection", "required":true } ], "expect":[ { "name":"to", " spec":{ "name":" ", "type":"email", "label":"Email address", "required":true }, "type":"array", "label":"To" , "labels":{ "add":"Add a penerima", "edit":"Edit penerima" }, "wajib":true }, { "name":"subject", "type":"text" , "label":"Subject" }, { "name":"html", "type":"text", "label":"Content" }, { "name":"attachments", "spec":[ { "name":"fileName", "type":"filename", "label":"File name", "required":true, "semantic":"file:name" }, { "name":"data ", "type":"buffer", "label":"Data", "wajib":benar, "semantik" :"file:data" }, { "name":"cid", "type":"text", "label":"Content-ID" } ], "type":"array", "label":" Lampiran", "label":{ "tambah":"Tambahkan lampiran", "edit":"Edit lampiran" } }, { "nama":"cc", "spec":{ "type":"email ", "label":"Alamat email" }, "type":"array", "label":"Salin penerima", "label":{ "tambah":"Tambahkan penerima salinan", "edit":" Edit penerima salinan" } }, { "name":"bcc", "spec":{ "type":"email", "label":"Email address" }, "type":"array", "label ":"Penerima blind copy", "labels":{ "add":"Tambahkan penerima blind copy", "edit":"Edit penerima blind copy" } } ] } } ], "metadata":{ "versi ":1, "scenario":{ "pulang pergi":1, "maxErrors":3, "autoCommit":false, "sequential":false, "confidential":false, "dataloss":false, "dlq":false }, "desainer":{ "yatim":[] }, "zona":"eu1.integromat.com" }}
Skema