Daftar Isi:

The Mappifier - Pemetaan + Sistem Pemberitahuan: 9 Langkah
The Mappifier - Pemetaan + Sistem Pemberitahuan: 9 Langkah

Video: The Mappifier - Pemetaan + Sistem Pemberitahuan: 9 Langkah

Video: The Mappifier - Pemetaan + Sistem Pemberitahuan: 9 Langkah
Video: Pengetahuan Peta, Pengindraan Jauh, dan Sistem Informasi Geografi (SIG) X SMA/MA 2024, November
Anonim
The Mappifier - Pemetaan + Sistem Pemberitahuan
The Mappifier - Pemetaan + Sistem Pemberitahuan

Mengemudi malam hari cukup menyenangkan. Namun seringkali, ternyata menjadi mimpi buruk, berupa hewan yang menyeberang jalan (terutama kucing dan anjing liar yang menunggu Anda mengemudi di dekat mereka agar mereka bisa menyeberang!!). Jadi saya berpikir untuk membuat sesuatu yang memperingatkan Anda ketika Anda mendekati lokasi yang rentan ini, sehingga Anda dapat mengemudi dengan lebih hati-hati.

Sistem ini memiliki dua bagian: Pengumpulan Data & Pengambilan Data. Bagian pertama mengambil data lokasi, yaitu lokasi-lokasi yang lebih berpeluang untuk dilintasi hewan. Data ini harus ditambahkan secara manual dan diperbarui pada peta. Bagian terakhir mengambil lokasi kami saat ini dan kemudian membandingkannya dengan data yang dikumpulkan dan pemberitahuan atau peringatan yang sesuai disediakan.

Perlengkapan

Perangkat Keras Digunakan

Papan pengembangan WiFi ESP8266

Modul GPS Ublox NEO-6M

LED

Tombol Tekan Sesaat

Perangkat Lunak yang Digunakan

Arduino IDE

Editor JavaScript apa pun

Firebase (untuk penyimpanan dan pengambilan data)

Langkah 1: Unit Perangkat Keras

Perangkat keras diperlukan untuk bekerja dalam dua cara (mode): 1) Menyimpan lokasi ke Database: Ini adalah bagian utama dalam proses pengumpulan data; lokasi yang diambil oleh modul GPS dikirim ke basis data firebase melalui papan pengembangan WiFi ESP8266.

2) Memberikan pemberitahuan selama navigasi: Selama navigasi, lokasi saat ini diambil dan dikirim ke database. Pada setiap pembaruan lokasi, jarak antara lokasi saat ini dan lokasi tersebut (yang disimpan selama proses pengumpulan data) dihitung dan dipulihkan oleh modul ESP8266 yang kemudian memperingatkan pengguna sesuai dengan seberapa dekat pengguna dari lokasi yang disimpan tersebut.

Saya menambahkan tiga LED untuk memberi tahu perubahan mode, serta pembaruan yang berhasil ke database dan lampu peringatan untuk memberi tahu kedekatan pengguna dengan lokasi yang disimpan.

Tombol tekan digunakan untuk menyimpan lokasi hanya dalam satu klik (dalam mode penyimpanan/pengumpulan data) dan juga untuk beralih di antara mode-mode ini.

Powering

Awalnya, baterai Lipo 3.7V 300mAh digunakan, tetapi menimbulkan beberapa masalah. Masalah utama adalah pengaturan ulang ESP8266 (mungkin karena lonjakan saat ini). Baterainya juga tidak tahan lama. Akhirnya powerbank datang untuk menyelamatkan saya.

Langkah 2: Sirkuit

sirkuit
sirkuit

Langkah 3: Tentang Firebase

Tentang Firebase
Tentang Firebase
Tentang Firebase
Tentang Firebase
Tentang Firebase
Tentang Firebase
Tentang Firebase
Tentang Firebase

Firebase adalah platform pengembangan aplikasi seluler dan web, yang dimiliki oleh Google. Ini memiliki banyak fitur, tetapi di sini saya hanya menggunakan dua di antaranya, Realtime Database dan Cloud Functions.

Untuk memulai Firebase, 1. Pertama pergi ke halaman web firebase.

2. Sekarang arahkan ke konsol dan klik buat proyek baru.

3. Anda perlu memberikan nama proyek bersama dengan detail lainnya untuk membuat proyek.

4. Setelah proyek dibuat, klik opsi database dari panel samping untuk membuat database baru.

5. Lakukan hal yang sama untuk fungsinya.

Ini adalah langkah-langkah umum untuk membuat proyek, firebase didokumentasikan dengan baik dan ada banyak seri video youtube untuk pemula, silakan baca untuk memahami lebih lanjut.

Langkah 4: Basis Data Waktu Nyata

Basis Data Waktu Nyata
Basis Data Waktu Nyata
Basis Data Waktu Nyata
Basis Data Waktu Nyata

Setelah database dibuat, langkah selanjutnya adalah melihat bagaimana data dalam database disimpan dan dapat diakses. Untuk menulis atau membaca ke/dari database, Anda perlu mengkonfigurasi aturan database. Untuk tujuan pengembangan, kita dapat menggunakan aturan terbuka sehingga siapa pun yang memiliki referensi basis data dapat membaca/menulis tetapi berhati-hatilah saat mengonfigurasi aturan. Basis data menyimpan data dalam format JSON dan disinkronkan ke semua perangkat yang terhubung ke database. Anda dapat menambahkan node anak menggunakan tanda '+' tetapi node juga dapat dibuat secara terprogram. Semua data yang kami unggah ke database dalam mode 'penyimpanan' (lokasi penyimpanan dikumpulkan) disimpan di sini sebagai node terpisah sementara data dalam mode 'pemberitahuan' (mengambil data saat navigasi) diperbarui setiap saat (periksa gambar).

Langkah 5: Menyiapkan Fungsi Firebase

Menyiapkan Fungsi Firebase
Menyiapkan Fungsi Firebase
Menyiapkan Fungsi Firebase
Menyiapkan Fungsi Firebase
Menyiapkan Fungsi Firebase
Menyiapkan Fungsi Firebase

Kami membutuhkan sesuatu untuk menghitung kedekatan lokasi saat ini dengan lokasi yang disimpan, dan fungsi yang dipicu basis data latar belakang akan melakukan pekerjaan kami. Fungsi ditulis dalam javascript dan perlu diterapkan ke firebase.

Anda harus menginstal node.js di komputer Anda.

1) Sekarang unduh antarmuka baris perintah firebase menggunakan perintah "npm install -g firebase-tools" pada prompt perintah Anda

2) Sekarang Anda perlu masuk ke firebase menggunakan perintah "firebase login" (Anda harus memberikan kata sandi login gmail Anda jika Anda belum masuk)

3) Setelah ini navigasikan ke direktori proyek Anda dan mulai fungsi dengan perintah "firebase init". Anda perlu memilih opsi 'fungsi' untuk memulai fungsi firebase untuk proyek Anda.

4) Sekarang Anda harus pergi ke folder 'fungsi' di direktori proyek Anda dan menemukan file 'index.js'.

5) Edit file dengan editor teks dan edit file/ganti file dengan mappifier_function.txt. (Ini akan menjadi fungsi kita secara efektif)

6) Akhirnya gunakan fungsi Anda menggunakan "firebase deploy" pada command prompt.

Anda dapat memeriksa apakah fungsi tersebut diterapkan di bawah menu fungsi di konsol firebase Anda

Langkah 6: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Untuk ESP8266:

Papan terhubung ke WiFi dan Firebase menggunakan kredensial dan menunggu tombol tekan ditekan. Menurut durasi penekanan tombol, mode yang berbeda dimulai. Dalam mode pengumpulan data (sebut saja mode ini "simpan"), setiap penekanan tombol akan mengarah ke posisi saat ini yang dikirim ke database sementara dalam mode pengambilan data ("mode pemberitahuan"), lokasi saat ini dikirim ke database dan jarak diambil dari database secara otomatis. Saya menambahkan LED untuk peringatan (kedekatan dengan lokasi yang ditandai) dan pemberitahuan (seperti perbaikan GPS, koneksi WiFi, penulisan basis data yang berhasil, perubahan mode, dll.).

Untuk Fungsi Firebase:

Fungsi ini memeriksa penulisan ke node 'lokasi saat ini' pada database dan menghitung jarak antara lokasi pada database dan lokasi saat ini dan kemudian menemukan jarak terkecil yang kemudian ditulis ke node 'jarak' pada database.

Ingatlah untuk menambahkan kredensial wifi dan kredensial autentikasi firebase Anda sebelum Anda mengunggah program Anda. (Silakan lihat gambar). Juga, jika Anda baru mengenal ESP8266 dan mengkodekannya di Arduino IDE, lihat ini.

Langkah 7: Langkah Opsional (Membangun Enclosure)

Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)
Langkah Opsional (Membangun Enklosur)

Untuk membuat bagian perangkat keras kompak sehingga dapat dipasang, saya membuat penutup kecil agar muat di dalamnya. Beberapa lubang dibuat untuk memasang LED dan untuk menghubungkan kabel USB. Tapi kandang terakhir di luar dugaan saya!! Itu pas di telapak tangan saya dengan sempurna, dan sangat mudah dipasang di pegangan sepeda dan di roda kemudi.

Langkah 8: Dalam Tindakan…

Berikut adalah video kecil yang mendemonstrasikan kedua mode (simpan dan notifikasi) dengan LED peringatan dan notifikasi.

Langkah 9: Bergerak Lebih Jauh…

Bergerak Lebih Jauh…
Bergerak Lebih Jauh…

Sistem ini dapat digunakan untuk berbagai keperluan, misalnya mengingat skenario saat ini, jika Anda bisa mendapatkan lokasi penyebaran penyakit dan menyimpannya dalam database, sistem ini akan memberikan peringatan ketika Anda berada lebih dekat dengan lokasi tersebut. Tapi saya serius berpikir untuk mendapatkan data penyeberangan hewan dari seluruh dunia untuk membuat pengemudi berhati-hati dan menyelamatkan banyak hewan dari kecelakaan. Saya telah membuat halaman web sederhana (tetapi belum dihosting) yang memiliki semua data yang saya kumpulkan. Ini adalah data yang saya kumpulkan saat berjalan atau bersepeda (setiap kali saya menemukan kucing atau anjing di pinggir jalan karena mereka lebih rentan untuk menyeberang) tetapi kami membutuhkan lebih banyak data untuk mengimplementasikannya.

Saya cukup baru dalam membuat halaman web (terutama javascript) dan hal-hal lain dan ingin mendapatkan saran dan keahlian Anda:)

Direkomendasikan: