Mündəricat:

Mappifier - Xəritəçəkmə + Bildiriş Sistemi: 9 Addım
Mappifier - Xəritəçəkmə + Bildiriş Sistemi: 9 Addım

Video: Mappifier - Xəritəçəkmə + Bildiriş Sistemi: 9 Addım

Video: Mappifier - Xəritəçəkmə + Bildiriş Sistemi: 9 Addım
Video: Как быстро убрать жирный блеск с лица | Retouch4Me Mattifier 2024, Iyun
Anonim
Mappifier - Xəritəçəkmə + Bildiriş Sistemi
Mappifier - Xəritəçəkmə + Bildiriş Sistemi

Gecə sürmək çox əyləncəlidir. Ancaq tez -tez, yolu keçən heyvanlar şəklində bir kabus olduğu ortaya çıxır. Bu həssas yerlərə yaxınlaşanda sizi daha diqqətli idarə etmək üçün sizi xəbərdar edən bir şey hazırlamağı düşündüm.

Sistem iki hissədən ibarətdir: Məlumat Toplama və Məlumat Alma. Birinci hissə, heyvanların keçmə ehtimalının daha çox olduğu yerlər haqqında məlumatları alır. Bu məlumatlar əl ilə əlavə edilməli və xəritədə yenilənməlidir. İkinci hissə mövcud yerimizi alır və sonra toplanan məlumatlar ilə müqayisə edir və müvafiq bildirişlər və ya xəbərdarlıqlar verilir.

Təchizat

İstifadə olunan Avadanlıq

ESP8266 WiFi inkişaf lövhəsi

Ublox NEO-6M GPS Modulu

LEDlər

Bir anlıq düymə

İstifadə olunan proqram

Arduino IDE

İstənilən JavaScript Redaktoru

Firebase (məlumatların saxlanması və alınması üçün)

Addım 1: Hardware Unit

Avadanlıq iki şəkildə (rejimdə) işləmək üçün tələb olunur: 1) Yeri Verilənlər Bazasında saxla: Bu məlumatların toplanması prosesinin əsas hissəsidir; GPS modulu ilə alınan yer, ESP8266 WiFi inkişaf lövhəsi vasitəsilə firebase verilənlər bazasına göndərilir.

2) Naviqasiya zamanı bildirişlər verin: Naviqasiya zamanı cari yer alınır və verilənlər bazasına göndərilir. Məkanın hər yeniləməsi zamanı, cari yer ilə həmin yerlər arasındakı məsafə (məlumatların toplanması prosesində saxlanılan) hesablanır və ESP8266 modulu ilə bərpa edilir, sonra istifadəçini həmin saxlanan yerlərdən nə qədər yaxın olduğuna görə istifadəçiyə xəbərdarlıq edir.

Rejimlərdəki dəyişikliyi bildirmək üçün üç LED əlavə etdim, məlumat bazasında müvəffəqiyyətli bir yeniləmə və istifadəçinin saxlanılan yerə yaxınlığını bildirmək üçün bir xəbərdarlıq lampası.

Düymə, yeri yalnız bir kliklə (mağaza/məlumat toplama rejimində) saxlamaq və bu rejimlər arasında dəyişmək üçün istifadə olunur.

Gücləndirmə

Başlanğıcda, 3.7V 300mAh Lipo batareyası istifadə olunsa da, bəzi problemlər yaradırdı. Əsas problem ESP8266 sıfırlanması idi (mövcud artımlar səbəb ola bilər). Batareya da çox dayanmadı. Nəhayət bir güc bankı məni xilas etdi.

Addım 2: Dövrə

Dövrə
Dövrə

Addım 3: Firebase haqqında

Firebase haqqında
Firebase haqqında
Firebase haqqında
Firebase haqqında
Firebase haqqında
Firebase haqqında
Firebase haqqında
Firebase haqqında

Firebase, Google -a məxsus bir mobil və veb tətbiq inkişaf etdirmə platformasıdır. Bir çox xüsusiyyətə malikdir, amma burada onlardan yalnız ikisini istifadə edirəm: Realtime Database və Cloud Functions.

Firebase -ə başlamaq üçün

1. Əvvəlcə firebase veb səhifəsinə keçin.

2. İndi konsola gedin və yeni bir layihə yarat düyməsini basın.

3. Bir layihə yaratmaq üçün digər detallarla birlikdə bir layihə adı verməlisiniz.

4. Layihə yaradıldıqdan sonra yeni bir verilənlər bazası yaratmaq üçün yan paneldən verilənlər bazası seçiminə klikləyin.

5. Funksiyalar üçün də eyni şeyi edin.

Bunlar bir layihə yaratmaq üçün ümumi addımlardır, firebase yaxşı sənədləşdirilmişdir və yeni başlayanlar üçün bir çox youtube video seriyası var, daha çox şeyi başa düşmək üçün keçin.

Addım 4: Realtime Database

Real vaxt məlumat bazası
Real vaxt məlumat bazası
Real vaxt məlumat bazası
Real vaxt məlumat bazası

Verilənlər bazasını yaratdıqdan sonra, növbəti addım verilənlər bazasındakı məlumatların necə saxlanıldığını və onlara necə daxil ola biləcəyinizi görməkdir. Verilənlər bazasına yazmaq və ya oxumaq üçün verilənlər bazası qaydalarını konfiqurasiya etməlisiniz. İnkişaf etmək məqsədi ilə açıq bir qaydanı istifadə edə bilərik ki, verilənlər bazası istinadı olan hər kəs oxuya/yaza bilsin, amma qaydaları konfiqurasiya edərkən diqqətli olsun. Bazı verilənlər bazası məlumatları JSON formatında saxlayır və şəbəkəyə qoşulmuş bütün cihazlarla sinxronlaşdırılır. verilənlər bazası. '+' işarəsini istifadə edərək uşaq qovşaqlarını əlavə edə bilərsiniz, lakin qovşaqlar da proqramla yaradıla bilər. Verilənlər bazasına 'mağaza' rejimində yüklədiyimiz bütün məlumatlar (toplanan yeri saxlama) burada ayrıca qovşaq şəklində saxlanılır, 'bildiriş' rejimindəki məlumatlar (naviqasiya zamanı məlumatların alınması) hər dəfə yenilənir (şəkli yoxlayın).

Addım 5: Firebase funksiyalarının qurulması

Firebase funksiyalarının qurulması
Firebase funksiyalarının qurulması
Firebase funksiyalarının qurulması
Firebase funksiyalarının qurulması
Firebase funksiyalarının qurulması
Firebase funksiyalarının qurulması

Mövcud yerin saxlanılan yerlərə yaxınlığını hesablamaq üçün bir şeyə ehtiyacımız var və arxa plan verilənlər bazası tərəfindən tetiklenen funksiyalar bizim işimizi yerinə yetirəcəkdir. Funksiyalar javascriptdə yazılıb və firebase -də yerləşdirilməlidir.

Kompüterinizdə node.js yüklü olmalıdır.

1) İndi əmr satırındakı "npm install -g firebase -tools" əmrindən istifadə edərək firebase əmr satırı interfeysini yükləyin.

2) İndi "firebase login" əmrini istifadə edərək firebase -ə daxil olmalısınız (hələ daxil olmamısınızsa gmail giriş şifrənizi verməlisiniz)

3) Bundan sonra layihə kataloqunuza gedin və "firebase init" əmri ilə funksiyanı başladın. Layihəniz üçün firebase funksiyalarını başlatmaq üçün 'funksiyalar' seçimini seçməlisiniz.

4) İndi layihə kataloqunuzdakı 'funksiyalar' qovluğuna gedib 'index.js' faylını tapmalısınız.

5) Dosyanı mətn redaktoru ilə düzəldin və faylı redaktə edin/faylı mappifier_function.txt ilə əvəz edin. (Bu, bizim funksiyamız olacaq)

6) Nəhayət, əmr satırında "firebase deploy" istifadə edərək funksiyanızı yerləşdirin.

Funksiyanın firebase konsolunuzdakı funksiya menyusu altında yerləşdirilib -edilmədiyini yoxlaya bilərsiniz

Addım 6: Kod

Kod
Kod
Kod
Kod
Kod
Kod

ESP8266 üçün:

Lövhə, etimadnaməsini istifadə edərək WiFi və Firebase -ə qoşulur və bir düyməni basmağı gözləyir. Düyməni basma müddətinə görə fərqli rejimlər işə salınır. Məlumat toplama rejimində (gəlin bu "mağaza" rejimini çağıraq) hər düyməni basmaq cari vəziyyətin verilənlər bazasına göndərilməsinə səbəb olacaq, məlumatların axtarış rejimində isə ("bildiriş rejimi"), cari yer verilənlər bazasına göndəriləcək. və məsafə verilənlər bazasından avtomatik olaraq alınır. Xəbərdarlıqlar (işarələnmiş yerə yaxınlıq) və bildiriş (məsələn, GPS düzəltmə, WiFi bağlantısı, uğurlu verilənlər bazası yazma, rejim dəyişikliyi və s.) Üçün LED -lər əlavə etdim.

Firebase funksiyası üçün:

Bu funksiya, verilənlər bazasındakı 'cari yer' qovşağına yazılı olub -olmadığını yoxlayır və verilənlər bazasındakı yerlər ilə cari yer arasındakı məsafəni hesablayır və sonra verilənlər bazasındakı 'məsafə' qovşağına yazılan ən kiçik məsafəni tapır.

Proqramınızı yükləməzdən əvvəl wifi etimadnamənizi və firebase doğrulama məlumatlarınızı əlavə etməyi unutmayın. (Zəhmət olmasa şəkillərə baxın). Ayrıca, ESP8266 -da yenisinizsə və onları Arduino IDE -də kodlaşdırırsınızsa, bunlara baxın.

Addım 7: İsteğe Bağlı Mərhələ (Bir Korpus Tikmək)

İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)
İsteğe bağlı addım (bir korpus qurmaq)

Avadanlıq hissəsini montaj etmək üçün yığcam etmək üçün içərisinə uyğun kiçik bir korpus düzəltdim. LEDləri bağlamaq və USB kabelini bağlamaq üçün bir neçə deşik edildi. Amma son korpus gözlədiyimdən də yaxşı oldu !! Avucumun içərisinə mükəmməl uyğunlaşdı və döngə sapına və sükan çarxına çox asanlıqla quraşdırıla bildi.

Addım 8: Fəaliyyətdə…

Budur xəbərdarlıq və bildiriş LEDləri olan hər iki rejimi (mağaza və bildiriş) nümayiş etdirən kiçik bir video.

Addım 9: İrəli gedin …

Daha da irəliləyirik …
Daha da irəliləyirik …

Bu sistem müxtəlif məqsədlər üçün istifadə edilə bilər, məsələn, indiki ssenarini nəzərə alaraq, xəstəliyin yayılma yerlərini əldə edə və məlumat bazasında saxlaya bilsəniz, bu sistemlərə yaxın olduğunuzda xəbərdarlıqlar veriləcəkdir. Sürücüləri ehtiyatlı etmək və bir çox heyvanı qəzalardan xilas etmək üçün dünyanın hər yerindən heyvan keçidi məlumatları almağı ciddi şəkildə düşünürəm. Topladığım bütün məlumatları özündə cəmləşdirən sadə bir veb səhifəsi hazırladım (lakin hələ də yerləşdirilməmişəm). Gəzinti və ya velosiped sürərkən topladığım məlumatlar (yol kənarında bir pişik və ya it tapanda daha çox keçməyə meyllidirlər), amma bunu həyata keçirmək üçün daha çox məlumata ehtiyacımız var.

Veb səhifələr (əsasən javascript) və digər məhsullar hazırlamaq üçün kifayət qədər yeniyəm və təklif və təcrübənizdən məmnun olaram:)

Tövsiyə: