Isi kandungan:
- Bekalan
- Langkah 1: Unit Perkakasan
- Langkah 2: Litar
- Langkah 3: Mengenai Firebase
- Langkah 4: Pangkalan Data Masa Nyata
- Langkah 5: Menyiapkan Fungsi Firebase
- Langkah 6: Kod
- Langkah 7: Langkah Pilihan (Membangun Lampiran)
- Langkah 8: Beraksi…
- Langkah 9: Melangkah Lebih Lanjut…
Video: The Mappifier - Pemetaan + Sistem Pemberitahuan: 9 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
Langkah 3: 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
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
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
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)
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…
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:
Sistem Urutan Warna: Sistem Berasaskan Arduino Dengan Dua Tali Pinggang: 8 Langkah
Sistem Urutan Warna: Sistem Berasaskan Arduino Dengan Dua Tali Pinggang: Pengangkutan dan / atau pembungkusan produk dan barang di bidang perindustrian dilakukan dengan menggunakan garisan yang dibuat menggunakan tali sawat. Tali pinggang itu membantu memindahkan barang dari satu titik ke titik yang lain dengan kelajuan tertentu. Beberapa tugas pemprosesan atau pengenalan mungkin
Buat Sistem Amaran Pemberitahuan Bercakap / Suara: 4 Langkah
Buat Sistem Peringatan Pemberitahuan / Suara Bercakap: Projek ini kami buat Sistem Pemberitahuan dan Peringatan Berbual / Suara. Sekurang-kurangnya dua sensor boleh digunakan dalam projek ini
Sistem Pemberitahuan Dobi Berasaskan IoT: 18 Langkah
Sistem Pemberitahuan Dobi Berasaskan IoT: HiInstruksinya ini memberi pengenalan langkah demi langkah mengenai cara membina sistem pemberitahuan dobi berasaskan IoT. Peranti dilampirkan di dalam laci dan beg dobi anda. Demi demo di sini, kami telah mengambil dua laci dan satu beg dobi. Rasanya
Sistem Pemberitahuan Kopi Automatik: 7 Langkah (dengan Gambar)
Sistem Pemberitahuan Kopi Automatik: Dalam projek ini saya menjadikan pembuat kopi pejabat dengan pintar, dengan membangun sistem amaran kopi yang mengirimkan pemberitahuan Slack ketika seseorang menyedot periuk kopi segar. Kodnya dapat diubah untuk mengirim email, atau pesan teks. Projek ini dibina berdasarkan R
Sistem Pemberitahuan ISS Mudah: 6 Langkah (dengan Gambar)
Sistem Pemberitahuan ISS Mudah: Apakah Stesen Angkasa Antarabangsa dan Mengapa anda mahu meramalkan di mana ia berada? Untuk menjawab soalan pertama, kita boleh melihat laman web NASA untuk mendapatkan jawapan. Yang ringkasnya: Stesen Angkasa Antarabangsa adalah kapal angkasa besar. Ia mengelilingi