Kazalo:

Mapirovalec - preslikava + sistem obveščanja: 9 korakov
Mapirovalec - preslikava + sistem obveščanja: 9 korakov

Video: Mapirovalec - preslikava + sistem obveščanja: 9 korakov

Video: Mapirovalec - preslikava + sistem obveščanja: 9 korakov
Video: Насколько большой Alphabet Inc ??? 2024, Junij
Anonim
Mapifikator - kartiranje + sistem obveščanja
Mapifikator - kartiranje + sistem obveščanja

Nočna vožnja je zelo zabavna. Pogosto pa se izkaže, da je to nočna mora v obliki živali, ki prečkajo cesto (zlasti tistih potepuških mačk in psov, ki čakajo, da se pripeljete v njihovo bližino, da bodo lahko prečkali !!). Zato sem mislil narediti nekaj, kar bi vas opozorilo, ko se približate tem ranljivim mestom, da boste lahko vozili previdneje.

Sistem ima dva dela: zbiranje podatkov in pridobivanje podatkov. Prvi del zajema podatke o lokaciji, to je lokacije, na katerih obstaja večja verjetnost prečkanja živali. Te podatke je treba ročno dodati in posodobiti na zemljevidu. Slednji del zajema našo trenutno lokacijo in ga nato primerja z zbranimi podatki ter poda ustrezna obvestila ali opozorila.

Zaloge

Uporabljena strojna oprema

Razvojna plošča WiFi ESP8266

GPS modul Ublox NEO-6M

LED

Trenutni gumb

Uporabljena programska oprema

Arduino IDE

Vsak urejevalnik JavaScript

Firebase (za shranjevanje in pridobivanje podatkov)

1. korak: Enota strojne opreme

Strojna oprema mora delovati na dva načina (načini): 1) shranite lokacijo v bazo podatkov: to je pomemben del procesa zbiranja podatkov; lokacija, pridobljena z modulom GPS, se pošlje v bazo podatkov firebase prek razvojne plošče ESP8266 WiFi.

2) Zagotavljanje obvestil med navigacijo: Med navigacijo se pridobi trenutna lokacija in pošlje v bazo podatkov. Ob vsaki posodobitvi lokacije se izračuna razdalja med trenutno lokacijo in tistimi lokacijami (ki so bile shranjene med postopkom zbiranja podatkov) in jih popravi modul ESP8266, ki nato opozori uporabnika glede na to, kako blizu je uporabnik od teh shranjenih lokacij.

Dodal sem tri LED diode za obveščanje o spremembah načinov, uspešno posodobitev baze podatkov in opozorilno lučko za obveščanje o bližini uporabnika shranjeni lokaciji.

Gumb se uporablja za shranjevanje lokacije z enim samim klikom (v načinu shranjevanja/zbiranja podatkov) in tudi za preklapljanje med temi načini.

Napajanje

Sprva je bila uporabljena 3,7V 300mAh Lipo baterija, vendar je predstavljala nekaj težav. Največja težava je bila ponastavitev ESP8266 (morda zaradi trenutnih konic). Tudi baterija ni zdržala veliko. Končno mi je priskočila na pomoč powerbank.

2. korak: Vezje

Vezje
Vezje

3. korak: O Firebase

O Firebase
O Firebase
O Firebase
O Firebase
O Firebase
O Firebase
O Firebase
O Firebase

Firebase je platforma za razvoj mobilnih in spletnih aplikacij v lasti Googla. Ima veliko funkcij, vendar tukaj uporabljam le dve, funkcijo zbirke podatkov v realnem času in funkcije v oblaku.

Če želite začeti uporabljati Firebase, 1. Najprej pojdite na spletno stran firebase.

2. Zdaj se pomaknite do konzole in kliknite ustvari nov projekt.

3. Za ustvarjanje projekta morate skupaj z drugimi podrobnostmi navesti ime projekta.

4. Ko je projekt ustvarjen, kliknite možnost zbirke podatkov na stranskem podoknu, da ustvarite novo bazo podatkov.

5. Enako storite za funkcije.

To so splošni koraki za ustvarjanje projekta, firebase je dobro dokumentiran in obstaja veliko video posnetkov youtube za začetnike, prosimo, da razumete več.

4. korak: zbirka podatkov v realnem času

Baza podatkov v realnem času
Baza podatkov v realnem času
Baza podatkov v realnem času
Baza podatkov v realnem času

Ko ustvarite bazo podatkov, je naslednji korak, da vidite, kako so podatki v bazi podatkov shranjeni in do katerih lahko dostopate. Za pisanje ali branje v bazo podatkov/iz nje morate konfigurirati pravila baze podatkov. Za razvojne namene lahko uporabimo odprto pravilo, tako da lahko kdor koli z referenco zbirke podatkov bere/piše, vendar je pri konfiguraciji pravil previden. Podatkovna zbirka shranjuje podatke v formatu JSON in se sinhronizira z vsemi napravami, ki so povezane z Podatkovna vozlišča lahko dodate z znakom "+", vozlišča pa lahko ustvarite tudi programsko. Vsi podatki, ki jih naložimo v bazo podatkov v načinu 'trgovina' (shranjevanje zbranih lokacij), se shranijo tukaj kot ločena vozlišča, medtem ko se podatki v načinu 'obvestila' (pridobivanje podatkov med navigacijo) vsakič posodobijo (preverite sliko).

5. korak: Nastavitev funkcij Firebase

Nastavitev funkcij Firebase
Nastavitev funkcij Firebase
Nastavitev funkcij Firebase
Nastavitev funkcij Firebase
Nastavitev funkcij Firebase
Nastavitev funkcij Firebase

Potrebujemo nekaj za izračun bližine trenutne lokacije shranjenim lokacijam in funkcije, ki jih sproži zbirka podatkov v ozadju, bi opravile naše delo. Funkcije so napisane v javascriptu in jih je treba razmestiti v firebase.

V računalniku morate imeti nameščen node.js.

1) Zdaj prenesite vmesnik ukazne vrstice firebase z ukazom "npm install -g firebase -tools" v ukaznem pozivu

2) Zdaj se morate prijaviti v firebase z ukazom "firebase login" (Če še niste prijavljeni, morate vnesti geslo za prijavo v gmail)

3) Po tem pojdite v imenik svojega projekta in zaženite funkcijo z ukazom "firebase init". Za zagon funkcij firebase za svoj projekt bi morali izbrati možnost 'functions'.

4) Zdaj morate iti v mapo 'functions' v imeniku vašega projekta in poiskati datoteko 'index.js'.

5) Uredite datoteko z urejevalnikom besedil in uredite datoteko/datoteko zamenjajte z mappifier_function.txt. (To bi bila dejansko naša funkcija)

6) Končno ukažite svojo funkcijo z uporabo "firebase deploy" v ukaznem pozivu.

Ali je funkcija razmeščena, lahko preverite v meniju funkcij na konzoli firebase

6. korak: Koda

Koda
Koda
Koda
Koda
Koda
Koda

Za ESP8266:

Plošča se poveže z WiFi in Firebase s poverilnicami in počaka na pritisk na gumb. Glede na trajanje pritiska na gumb se sprožijo različni načini. V načinu zbiranja podatkov (recimo temu načinu "trgovina") bo vsak pritisk gumba pripeljal do tega, da se trenutni položaj pošlje v bazo podatkov, medtem ko je v načinu pridobivanja podatkov ("način obveščanja") trenutna lokacija poslana v bazo podatkov razdalja se samodejno pridobi iz baze podatkov. Dodal sem LED za opozorila (bližina označene lokacije) in obvestila (kot so popravek GPS, povezava WiFi, uspešno pisanje baze podatkov, sprememba načina itd.).

Za funkcijo Firebase:

Ta funkcija preveri, ali obstaja zapis v vozlišče 'trenutna lokacija' v bazi podatkov, izračuna razdaljo med lokacijami v zbirki podatkov in trenutno lokacijo ter nato najde najmanjšo razdaljo, ki se nato zapiše v vozlišče 'razdalja' v bazi podatkov.

Preden naložite program, ne pozabite dodati poverilnic za wifi in poverilnic za avtorizacijo firebase. (Oglejte si slike). Če ste novi v ESP8266 in jih kodirate v Arduino IDE, si oglejte te.

7. korak: Izbirni korak (gradnja ohišja)

Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)
Izbirni korak (gradnja ohišja)

Da bi bil del strojne opreme kompakten, tako da ga je mogoče namestiti, sem naredil majhno ohišje, ki ga je namestilo v notranjost. Narejenih je bilo nekaj lukenj za namestitev LED in priključitev kabla USB. Toda zadnje ohišje je preseglo moja pričakovanja !! Odlično se je prilegal v mojo dlan in ga je bilo zelo enostavno namestiti na ročaj koles in na volan.

8. korak: V akciji…

Tukaj je majhen videoposnetek, ki prikazuje oba načina (trgovina in obvestilo) z opozorilnimi in obvestilnimi LED.

9. korak: Premik naprej…

Premik naprej …
Premik naprej …

Ta sistem se lahko uporablja za različne namene, na primer glede na trenutni scenarij, če lahko dobite lokacije širjenja bolezni in jih shranite v zbirko podatkov, bo sistem opozoril, ko ste bližje tem lokacijam. Resno razmišljam, da bi po vsem svetu dobili podatke o prečkanju živali, da bi bili vozniki previdni in da bi mnoge živali rešili pred nesrečami. Naredil sem preprosto spletno stran (vendar še ni goščena), ki vsebuje vse podatke, ki sem jih zbral. To so podatki, ki sem jih zbral med hojo ali kolesarjenjem (kadar koli najdem mačko ali psa na cesti, ker so bolj nagnjeni k prečkanju), vendar za to potrebujemo veliko več podatkov.

Sem precej nov pri ustvarjanju spletnih strani (predvsem javascript) in drugih vsebin in bi želel vaše predloge in strokovno znanje:)

Priporočena: