Mundarija:

Mappifier - xaritalash + bildirishnoma tizimi: 9 qadam
Mappifier - xaritalash + bildirishnoma tizimi: 9 qadam

Video: Mappifier - xaritalash + bildirishnoma tizimi: 9 qadam

Video: Mappifier - xaritalash + bildirishnoma tizimi: 9 qadam
Video: Как быстро убрать жирный блеск с лица | Retouch4Me Mattifier 2024, Noyabr
Anonim
Mappifier - xaritalash + bildirishnoma tizimi
Mappifier - xaritalash + bildirishnoma tizimi

Kechasi haydash juda qiziqarli. Ammo tez -tez, bu yo'lni kesib o'tayotgan hayvonlar ko'rinishidagi dahshatli tush bo'lib chiqadi (ayniqsa, ular sizning yoningizdan o'tib ketishi uchun sizni haydab ketishini kutayotgan adashgan mushuk va itlar !!). Shunday qilib, men siz mashinani ehtiyotkorlik bilan haydashingiz uchun, bu zaif joylarga yaqinlashganda sizni ogohlantiradigan biror narsa yasashni o'yladim.

Tizim ikki qismdan iborat: ma'lumotlarni yig'ish va ma'lumotlarni olish. Birinchi qism joylashuv ma'lumotlarini oladi, ya'ni hayvonlarning o'tish ehtimoli ko'proq. Bu ma'lumotlar qo'lda qo'shilishi va xaritada yangilanishi kerak. Ikkinchi qism bizning hozirgi manzilimizni oladi va keyin uni to'plangan ma'lumotlar bilan taqqoslaydi va tegishli bildirishnomalar yoki ogohlantirishlar beriladi.

Ta'minotlar

Uskuna ishlatilgan

ESP8266 WiFi ishlab chiqish paneli

Ublox NEO-6M GPS moduli

LEDlar

Lahzali bosish tugmasi

Ishlatilgan dasturiy ta'minot

Arduino IDE

Har qanday JavaScript muharriri

Firebase (ma'lumotlarni saqlash va olish uchun)

1 -qadam: Uskuna birligi

Uskuna ikkita usulda (rejimda) ishlashi kerak: 1) Ma'lumotlar bazasida joyni saqlang: Bu ma'lumotlarni yig'ish jarayonining asosiy qismi; GPS moduli orqali olingan joy ESP8266 WiFi ishlab chiqarish paneli orqali yong'in bazasi ma'lumotlar bazasiga yuboriladi.

2) Navigatsiya paytida bildirishnomalarni taqdim eting: Navigatsiya paytida joriy manzil olinadi va ma'lumotlar bazasiga yuboriladi. Joylashuv har yangilanishi bilan, joriy joylashuv va ular orasidagi ma'lumotlar yig'ish jarayonida saqlangan joylar orasidagi masofa hisoblab chiqiladi va ESP8266 moduli yordamida tiklanadi, u foydalanuvchini saqlangan joylardan qanchalik yaqin ekanligi to'g'risida ogohlantiradi.

Men rejimlarning o'zgarishi, shuningdek ma'lumotlar bazasi muvaffaqiyatli yangilanishi va foydalanuvchining saqlangan joyga yaqinligi to'g'risida ogohlantiruvchi chiroq haqida xabar berish uchun uchta LED qo'shdim.

Bosish tugmasi manzilni bir marta bosish (saqlash/ma'lumotlarni yig'ish rejimida) saqlash va shu rejimlar o'rtasida o'zgartirish uchun ishlatiladi.

Quvvatlanmoqda

Dastlab 3,7V 300mAh quvvatli Lipo batareyasi ishlatilgan, lekin u ba'zi muammolarni keltirib chiqardi. Asosiy muammo ESP8266 -ni asl holatiga qaytarish edi (bu hozirgi tezlik tufayli bo'lishi mumkin). Bundan tashqari, batareya uzoq davom etmadi. Nihoyat, quvvat banki menga yordam berdi.

2 -qadam: O'chirish

O'chirish
O'chirish

3 -qadam: Firebase haqida

Firebase haqida
Firebase haqida
Firebase haqida
Firebase haqida
Firebase haqida
Firebase haqida
Firebase haqida
Firebase haqida

Firebase - bu Google -ga tegishli mobil va veb -ilovalarni ishlab chiqish platformasi. Bu juda ko'p xususiyatlarga ega, lekin bu erda men ulardan faqat ikkitasini, real vaqtda ma'lumotlar bazasi va bulutli funktsiyalarni ishlataman.

Firebase -ni ishga tushirish uchun, 1. Birinchidan, firebase veb -sahifasiga o'ting.

2. Endi konsolga o'ting va yangi loyiha yaratish -ni bosing.

3. Loyihani yaratish uchun boshqa tafsilotlar bilan birga loyiha nomini ham ko'rsatishingiz kerak.

4. Loyiha yaratilgandan so'ng, yangi ma'lumotlar bazasini yaratish uchun yon paneldagi ma'lumotlar bazasi variantini bosing.

5. Funktsiyalar uchun ham xuddi shunday qiling.

Bu loyihani yaratishning umumiy bosqichlari, yong'in bazasi yaxshi hujjatlashtirilgan va yangi boshlanuvchilar uchun youtube -da ko'plab video -seriallar bor, iltimos, ko'proq narsani bilib oling.

4 -qadam: real vaqtda ma'lumotlar bazasi

Haqiqiy vaqtda ma'lumotlar bazasi
Haqiqiy vaqtda ma'lumotlar bazasi
Haqiqiy vaqtda ma'lumotlar bazasi
Haqiqiy vaqtda ma'lumotlar bazasi

Ma'lumotlar bazasini yaratganingizdan so'ng, keyingi qadam ma'lumotlar bazasidagi ma'lumotlar qanday saqlanishini va ularga kirish mumkinligini ko'rishdir. Ma'lumotlar bazasiga yozish yoki o'qish uchun siz ma'lumotlar bazasi qoidalarini sozlashingiz kerak. Rivojlanish maqsadida biz ochiq qoidani qo'llashimiz mumkin, shunda ma'lumotlar bazasi ma'lumotnomasiga ega bo'lgan har bir kishi o'qishi/yozishi mumkin, lekin qoidalarni sozlashda ehtiyot bo'lishi kerak. Ma'lumotlar bazasi ma'lumotlarni JSON formatida saqlaydi va unga ulangan barcha qurilmalar bilan sinxronlanadi. Ma'lumotlar bazasi. Siz "+" belgisini ishlatib, bola tugunlarini qo'shishingiz mumkin, lekin tugunlarni ham dasturiy ravishda yaratish mumkin. Ma'lumotlar bazasiga "do'kon" rejimida yuklangan barcha ma'lumotlar (yig'ilgan joyni saqlash) bu erda alohida tugunlar sifatida saqlanadi, "xabar berish" rejimidagi ma'lumotlar (navigatsiya paytida ma'lumotlarni olish) har safar yangilanadi (rasmni tekshiring).

5 -qadam: Firebase funktsiyalarini sozlash

Firebase funktsiyalarini sozlash
Firebase funktsiyalarini sozlash
Firebase funktsiyalarini sozlash
Firebase funktsiyalarini sozlash
Firebase funktsiyalarini sozlash
Firebase funktsiyalarini sozlash

Joriy joylashuvning saqlangan joylarga yaqinligini hisoblash uchun bizga biror narsa kerak bo'ladi, va ma'lumotlar bazasi ishga tushirilgan vazifalar bizning vazifamizni bajaradi. Vazifalar JavaScript -da yozilgan va uni olov bazasida joylashtirish kerak.

Kompyuteringizda node.js o'rnatilgan bo'lishi kerak.

1) Endi buyruq satridagi "npm install -g firebase -tools" buyrug'i yordamida firebase buyruq qatori interfeysini yuklab oling.

2) Endi siz "firebase login" buyrug'i yordamida firebase -ga kirishingiz kerak (agar siz hali tizimga kirmagan bo'lsangiz, gmail -ga kirish parolini kiritishingiz kerak)

3) Shundan so'ng, loyiha katalogiga o'ting va "firebase init" buyrug'i bilan funktsiyani ishga tushiring. Loyihangiz uchun firebase funktsiyalarini ishga tushirish uchun "funktsiyalar" variantini tanlashingiz kerak bo'ladi.

4) Endi siz loyiha katalogingizdagi "funksiyalar" papkasiga o'tishingiz va "index.js" faylini topishingiz kerak.

5) Faylni matn muharriri bilan tahrir qiling va faylni tahrir qiling/faylni mappifier_function.txt bilan almashtiring. (Bu bizning vazifamiz bo'ladi)

6) Nihoyat, o'z vazifangizni buyruq satrida "firebase deploy" yordamida joylashtiring.

Siz funktsiya sizning firebase konsolidagi funktsiyalar menyusi ostida joylashtirilganligini tekshirishingiz mumkin

6 -qadam: kod

Kod
Kod
Kod
Kod
Kod
Kod

ESP8266 uchun:

Kengash WiFi va Firebase -ga hisob ma'lumotlari yordamida ulanadi va tugmani bosilishini kutadi. Tugmani bosish vaqtiga qarab, turli rejimlar ishga tushiriladi. Ma'lumot yig'ish rejimida (keling, bu "do'kon" rejimini chaqiramiz), har bir tugmani bosish, ma'lumotlarni qidirish rejimida ("bildirishnoma rejimi"), joriy joylashuv ma'lumotlar bazasiga yuborilishiga olib keladi. va masofa ma'lumotlar bazasidan avtomatik ravishda olinadi. Men ogohlantirishlar (belgilangan joyga yaqinlik) va bildirishnomalar uchun LEDlarni qo'shdim (GPSni tuzatish, WiFi aloqasi, ma'lumotlar bazasini muvaffaqiyatli yozish, rejimni o'zgartirish va hk).

Firebase funktsiyasi uchun:

Bu funktsiya ma'lumotlar bazasidagi "joriy manzil" tuguniga yozishni tekshiradi va ma'lumotlar bazasidagi joylar bilan joriy joylashuv orasidagi masofani hisoblab chiqadi va keyin ma'lumotlar bazasidagi "masofa" tuguniga yozilgan eng kichik masofani topadi.

Dasturni yuklashdan oldin wifi va firebase autentifikatsiya ma'lumotlarini qo'shishni unutmang (rasmlarga qarang). Agar siz ESP8266 -da yangi bo'lsangiz va ularni Arduino IDE -da kodlashni xohlasangiz, ularga murojaat qiling.

7 -qadam: ixtiyoriy qadam (korpus qurish)

Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)
Ixtiyoriy qadam (korpus qurish)

Uskuna qismini ixcham qilib o'rnatish uchun men ularni ichkariga mos keladigan kichik korpus yasadim. LEDlarni o'rnatish va USB kabelini ulash uchun bir nechta teshik qilingan. Lekin oxirgi korpus men kutganimdan oshdi !! U mening kaftimga juda mos tushdi va uni velosiped tutqichiga va rulda osongina o'rnatish mumkin edi.

8 -qadam: Amalda …

Bu erda ogohlantirish va ogohlantirish LEDlari bo'lgan ikkala rejimni (do'kon va bildirishnoma) ko'rsatadigan kichik video.

9 -qadam: oldinga siljish …

Yana harakatlanmoqda …
Yana harakatlanmoqda …

Bu tizim har xil maqsadlarda ishlatilishi mumkin, masalan, hozirgi ssenariyni hisobga olgan holda, agar siz kasallikning tarqalish joyini bilib, uni ma'lumotlar bazasida saqlasangiz, ushbu tizim sizga yaqinroq bo'lganingizda ogohlantirishlar beradi. Ammo men haydovchilarni ehtiyot bo'lish va ko'plab hayvonlarni baxtsiz hodisalardan qutqarish uchun dunyoning turli burchaklaridan hayvonlarni kesib o'tish ma'lumotlarini olishni jiddiy o'ylayapman. Men to'plagan barcha ma'lumotlarni o'z ichiga olgan oddiy veb -sahifani yaratdim (lekin hozircha joylashtirilmagan). Bu yurish yoki velosipedda yurish paytida to'plagan ma'lumotlarim (har safar yo'l chetida mushuk yoki itni topsam), lekin buni amalga oshirish uchun bizga ko'proq ma'lumot kerak.

Men veb -sahifalarni (asosan javascript) va boshqa narsalarni yaratishda juda yangiman va sizning takliflaringiz va tajribangizga ega bo'lishni istardim:)

Tavsiya: