Isi kandungan:

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: 5W+1H: Sistem Informasi Geografi SIG 2024, Jun
Anonim
The Mappifier - Pemetaan + Sistem Pemberitahuan
The Mappifier - Pemetaan + Sistem Pemberitahuan

Memandu malam cukup menyeronokkan. Tetapi selalunya, ia menjadi mimpi buruk, dalam bentuk binatang yang melintasi jalan (terutama kucing dan anjing liar, yang menunggu anda memandu berhampiran mereka sehingga mereka boleh menyeberang !!). Oleh itu, saya terfikir untuk membuat sesuatu yang memberi amaran kepada anda apabila anda menghampiri lokasi-lokasi yang rentan ini, supaya anda dapat memandu dengan lebih berhati-hati.

Sistem ini mempunyai dua bahagian: Pengumpulan Data & Pengambilan Data. Bahagian pertama mengambil data lokasi, iaitu lokasi di mana terdapat lebih banyak kemungkinan penyeberangan haiwan. Data ini mesti ditambahkan secara manual dan dikemas kini pada peta. Bahagian terakhir mengambil lokasi kami sekarang dan kemudian membandingkannya dengan data yang dikumpulkan dan pemberitahuan atau amaran yang sesuai diberikan.

Bekalan

Perkakasan Yang Digunakan

Papan pengembangan WiFi ESP8266

Modul GPS Ublox NEO-6M

LED

Butang Tekan sesaat

Perisian Yang Digunakan

Arduino IDE

Mana-mana Penyunting JavaScript

Firebase (untuk penyimpanan dan pengambilan data)

Langkah 1: Unit Perkakasan

Perkakasan diperlukan untuk berfungsi dalam dua cara (mod): 1) Simpan lokasi ke Pangkalan Data: Ini adalah bahagian utama dalam proses pengumpulan data; lokasi yang diambil oleh modul GPS dihantar ke pangkalan data firebase melalui papan pengembangan WiFi ESP8266.

2) Berikan pemberitahuan semasa navigasi: Semasa navigasi, lokasi semasa diambil dan dihantar ke pangkalan data. Setelah setiap kemas kini lokasi, jarak antara lokasi semasa dan lokasi tersebut (yang disimpan semasa proses pengumpulan data) dikira dan dipulihkan oleh modul ESP8266 yang kemudian memberi amaran kepada pengguna mengikut seberapa dekat pengguna dari lokasi yang disimpan.

Saya menambahkan tiga LED untuk memberitahu perubahan mod, serta pembaharuan pangkalan data yang berjaya dan lampu peringatan untuk memberitahu kedekatan pengguna ke lokasi yang tersimpan.

Butang tekan digunakan untuk menyimpan lokasi hanya dalam satu klik (dalam mod penyimpanan / pengumpulan data) dan juga untuk menukar antara mod ini.

Berkuasa

Pada mulanya, bateri Lipo 3.7V 300mAh digunakan, tetapi menimbulkan beberapa masalah. Masalah utama ialah menetapkan semula ESP8266 (mungkin disebabkan lonjakan semasa). Bateri juga tidak tahan lama. Akhirnya powerbank berjaya menyelamatkan saya.

Langkah 2: Litar

Litar
Litar

Langkah 3: Mengenai Firebase

Mengenai Firebase
Mengenai Firebase
Mengenai Firebase
Mengenai Firebase
Mengenai Firebase
Mengenai Firebase
Mengenai Firebase
Mengenai Firebase

Firebase adalah platform pengembangan aplikasi mudah alih dan web, yang dimiliki oleh Google. Ia mempunyai banyak ciri, tetapi di sini saya hanya menggunakan dua daripadanya, Realtime Database dan Cloud Functions.

Untuk memulakan Firebase, 1. Mula-mula pergi ke halaman web firebase.

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

3. Anda perlu memberikan nama projek berserta butiran lain untuk membuat projek.

4. Setelah projek dibuat, klik pada pilihan pangkalan data dari panel sisi untuk membuat pangkalan data baru.

5. Lakukan perkara yang sama untuk fungsi.

Ini adalah langkah-langkah umum untuk membuat projek, firebase didokumentasikan dengan baik dan terdapat banyak siri video youtube untuk pemula, sila baca lebih lanjut untuk memahami lebih lanjut.

Langkah 4: Pangkalan Data Masa Nyata

Pangkalan Data Masa Nyata
Pangkalan Data Masa Nyata
Pangkalan Data Masa Nyata
Pangkalan Data Masa Nyata

Setelah anda membuat pangkalan data, langkah selanjutnya adalah melihat bagaimana data dalam pangkalan data disimpan dan dapat diakses. Untuk menulis atau membaca ke / dari pangkalan data, anda perlu mengkonfigurasi peraturan pangkalan data. Untuk tujuan pengembangan, kita dapat menggunakan aturan terbuka sehingga siapa pun yang memiliki rujukan pangkalan data dapat membaca / menulis tetapi berhati-hati ketika mengkonfigurasi peraturan. Pangkalan data menyimpan data dalam format JSON dan diselaraskan ke semua peranti yang tersambung ke pangkalan data. Anda boleh menambah nod kanak-kanak menggunakan tanda '+' tetapi nod juga dapat dihasilkan secara teratur. Semua data yang kami muat naik ke pangkalan data dalam mod 'stor' (menyimpan lokasi yang dikumpulkan) disimpan di sini sebagai node yang terpisah sementara data dalam mod 'pemberitahuan' (mengambil data semasa navigasi) dikemas kini setiap kali (periksa gambar).

Langkah 5: Menyiapkan Fungsi Firebase

Menetapkan Fungsi Firebase
Menetapkan Fungsi Firebase
Menetapkan Fungsi Firebase
Menetapkan Fungsi Firebase
Menetapkan Fungsi Firebase
Menetapkan Fungsi Firebase

Kita memerlukan sesuatu untuk mengira kedekatan lokasi semasa dengan lokasi yang tersimpan, dan latar belakang latar belakang yang dipicu fungsi akan melakukan tugas kita. Fungsi ditulis dalam javascript dan perlu disebarkan ke firebase.

Anda perlu memasang node.js pada komputer anda.

1) Sekarang muat turun antara muka baris perintah firebase menggunakan perintah "npm install -g firebase-tools" pada command prompt anda

2) Sekarang anda perlu log masuk ke firebase menggunakan perintah "firebase login" (Anda perlu memberikan kata laluan log masuk gmail anda jika anda belum masuk)

3) Selepas ini arahkan ke direktori projek anda dan mulakan fungsinya dengan perintah "firebase init". Anda perlu memilih pilihan 'fungsi' untuk memulakan fungsi firebase untuk projek anda.

4) Sekarang anda perlu pergi ke folder 'function' di direktori projek anda dan cari fail 'index.js'.

5) Edit fail dengan editor teks dan edit fail / ganti fail dengan mappifier_function.txt. (Ini sebenarnya akan menjadi fungsi kita)

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

Anda dapat memeriksa sama ada fungsi tersebut digunakan di bawah menu fungsi pada firebase console anda

Langkah 6: Kod

Kod
Kod
Kod
Kod
Kod
Kod

Untuk ESP8266:

Papan menyambung ke WiFi dan Firebase menggunakan bukti kelayakan dan menunggu tekan butang. Mengikut tempoh penekanan butang, mod yang berbeza dimulakan. Dalam mod pengumpulan data (mari kita sebut mod ini "simpan"), setiap penekanan tombol akan menyebabkan posisi saat ini dikirim ke pangkalan data sementara dalam mod pengambilan data ("mod pemberitahuan"), lokasi saat ini dikirim ke pangkalan data dan jarak diambil dari pangkalan data secara automatik. Saya menambahkan LED untuk peringatan (kedekatan dengan lokasi yang ditandai) dan pemberitahuan (seperti perbaikan GPS, sambungan WiFi, penulisan pangkalan data yang berjaya, perubahan mod, dll.).

Untuk Fungsi Firebase:

Fungsi ini memeriksa penulisan ke simpul 'lokasi semasa' pada pangkalan data dan mengira jarak antara lokasi pada pangkalan data dan lokasi semasa dan kemudian mencari jarak terkecil yang kemudian ditulis ke simpul 'jarak' pada pangkalan data.

Ingatlah untuk menambahkan kelayakan wifi dan kelayakan autentikasi firebase sebelum anda memuat naik program anda. (Sila lihat gambar). Jika anda baru menggunakan ESP8266 dan mengekodkannya di Arduino IDE, rujuk ini.

Langkah 7: Langkah Pilihan (Membangun Lampiran)

Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)
Langkah Pilihan (Membangun Kandang)

Untuk menjadikan bahagian perkakasan padat sehingga dapat dipasang, saya membuat kandang kecil untuk memasangnya di dalamnya. Beberapa lubang dibuat untuk memasang LED dan menyambungkan kabel USB. Tetapi kepungan terakhir adalah di luar jangkaan saya !! Ia dipasang di telapak tangan saya dengan sempurna, dan ia sangat mudah dipasang pada pemegang kitaran dan di stereng.

Langkah 8: Beraksi…

Berikut adalah video kecil yang menunjukkan kedua-dua mod (stor dan pemberitahuan) dengan LED peringatan dan pemberitahuan.

Langkah 9: Melangkah Lebih Lanjut…

Melangkah Lebih Lanjut…
Melangkah Lebih Lanjut…

Sistem ini dapat digunakan untuk berbagai tujuan, misalnya, mengingat senario sekarang, jika anda dapat menyebarkan lokasi penyakit dan menyimpannya dalam pangkalan data, peringatan akan diberikan oleh sistem ini ketika anda lebih dekat dengan lokasi tersebut. Tetapi saya serius memikirkan untuk mendapatkan data penyeberangan haiwan dari seluruh dunia untuk membuat pemandu berhati-hati dan menyelamatkan banyak haiwan dari kemalangan. Saya telah membuat laman web mudah (tetapi belum dihoskan) yang mempunyai semua data yang saya kumpulkan. Ini adalah data yang saya kumpulkan semasa berjalan kaki atau berbasikal (setiap kali saya menjumpai kucing atau anjing di pinggir jalan kerana mereka lebih cenderung menyeberang) tetapi kami memerlukan lebih banyak data untuk melaksanakannya.

Saya agak baru membuat laman web (terutamanya javascript) dan lain-lain dan saya ingin mendapat cadangan dan kepakaran anda:)

Disyorkan: