Turinys:

Mappifier - Mapping + Notification System: 9 žingsniai
Mappifier - Mapping + Notification System: 9 žingsniai

Video: Mappifier - Mapping + Notification System: 9 žingsniai

Video: Mappifier - Mapping + Notification System: 9 žingsniai
Video: DON'T USE GMAIL unless you make these 5 Critical Security Changes 2024, Lapkritis
Anonim
Mappifier - Mapping + Notification System
Mappifier - Mapping + Notification System

Važiuoti naktį yra labai smagu. Tačiau dažnai tai pasirodo kaip košmaras - kelią kertančių gyvūnų pavidalu (ypač tų benamių kačių ir šunų, kurie laukia, kol parvažiuosite šalia jų, kad galėtų kirsti !!). Taigi sugalvojau padaryti kažką, kas jus įspėtų, kai priartėsite prie šių pažeidžiamų vietų, kad galėtumėte vairuoti atsargiau.

Sistemą sudaro dvi dalys: duomenų rinkimas ir duomenų gavimas. Pirmoje dalyje pateikiami vietos duomenys, tai yra vietos, kuriose yra didesnė gyvūnų kirtimo tikimybė. Šie duomenys turi būti pridėti rankiniu būdu ir atnaujinami žemėlapyje. Pastaroji dalis paima dabartinę mūsų buvimo vietą ir palygina ją su surinktais duomenimis, pateikiami atitinkami pranešimai ar įspėjimai.

Prekės

Naudota aparatinė įranga

ESP8266 „WiFi“kūrimo lenta

„Ublox NEO-6M“GPS modulis

Šviesos diodai

Momentinis mygtukas

Naudota programinė įranga

„Arduino IDE“

Bet kuris „JavaScript“redaktorius

„Firebase“(skirta duomenims saugoti ir atkurti)

1 žingsnis: Aparatūros blokas

Techninė įranga turi veikti dviem būdais (režimais): 1) saugoti vietą duomenų bazėje: tai yra pagrindinė duomenų rinkimo proceso dalis; GPS modulio nuskaityta vieta siunčiama į „Firebase“duomenų bazę per ESP8266 „WiFi“kūrimo plokštę.

2) Pateikite pranešimus navigacijos metu: navigacijos metu dabartinė vieta yra nuskaitoma ir siunčiama į duomenų bazę. Kiekvieną kartą atnaujinus vietą, apskaičiuojamas atstumas tarp dabartinės vietos ir tų vietų (kurios buvo išsaugotos duomenų rinkimo proceso metu) ir atkuriamas ESP8266 modulio, kuris tada įspėja vartotoją pagal tai, kaip arti vartotojas yra nuo tų saugomų vietų.

Pridėjau tris šviesos diodus, kad praneščiau apie režimų pasikeitimą, taip pat apie sėkmingą duomenų bazės atnaujinimą ir įspėjamąją lemputę, skirtą pranešti apie vartotojo artumą saugomai vietai.

Mygtukas naudojamas vietovei išsaugoti vienu paspaudimu (saugojimo/duomenų rinkimo režimu), taip pat norint perjungti šiuos režimus.

Maitinimas

Iš pradžių buvo naudojama 3,7 V 300 mAh talpos „Lipo“baterija, tačiau tai sukėlė tam tikrų problemų. Pagrindinė problema buvo ESP8266 atstatymas (gali būti dėl dabartinių šuolių). Be to, baterija ilgai nelaikė. Pagaliau man gelbsti elektros bankas.

2 žingsnis: grandinė

Grandinė
Grandinė

3 veiksmas: apie „Firebase“

Apie „Firebase“
Apie „Firebase“
Apie „Firebase“
Apie „Firebase“
Apie „Firebase“
Apie „Firebase“
Apie „Firebase“
Apie „Firebase“

„Firebase“yra mobiliųjų ir žiniatinklio programų kūrimo platforma, priklausanti „Google“. Jis turi daug funkcijų, tačiau čia aš naudoju tik dvi iš jų - realaus laiko duomenų bazę ir debesies funkcijas.

Jei norite pradėti naudotis „Firebase“, 1. Pirmiausia eikite į „Firebase“tinklalapį.

2. Dabar eikite į konsolę ir spustelėkite sukurti naują projektą.

3. Norėdami sukurti projektą, turite pateikti projekto pavadinimą ir kitą informaciją.

4. Sukūrus projektą, šoninėje srityje spustelėkite duomenų bazės parinktį, kad sukurtumėte naują duomenų bazę.

5. Atlikite tą patį su funkcijomis.

Tai yra bendri projekto kūrimo veiksmai, „Firebase“yra gerai dokumentuota ir yra daug „YouTube“vaizdo įrašų serijų pradedantiesiems, prašome, kad suprastumėte daugiau.

4 veiksmas: duomenų bazė realiuoju laiku

Realaus laiko duomenų bazė
Realaus laiko duomenų bazė
Realaus laiko duomenų bazė
Realaus laiko duomenų bazė

Sukūrę duomenų bazę, kitas žingsnis yra pamatyti, kaip duomenų bazės duomenys yra saugomi ir prieinami. Norėdami rašyti ar skaityti į/iš duomenų bazės, turite sukonfigūruoti duomenų bazės taisykles. Vystymo tikslais galime naudoti atvirą taisyklę, kad visi, turintys duomenų bazės nuorodą, galėtų skaityti/rašyti, tačiau būkite atsargūs konfigūruodami taisykles. Duomenų bazė saugo duomenis JSON formatu ir yra sinchronizuojama su visais prie įrenginio prijungtais įrenginiais duomenų bazę. Galite pridėti antrinių mazgų naudodami ženklą „+“, tačiau mazgus taip pat galima sukurti programiškai. Visi duomenys, kuriuos įkeliame į duomenų bazę „parduotuvės“režimu (saugoma surinkta vieta), čia saugomi kaip atskiri mazgai, o „pranešimo“režimu (duomenys gaunami naršant) atnaujinami kiekvieną kartą (patikrinkite vaizdą).

5 veiksmas: „Firebase“funkcijų nustatymas

„Firebase“funkcijų nustatymas
„Firebase“funkcijų nustatymas
„Firebase“funkcijų nustatymas
„Firebase“funkcijų nustatymas
„Firebase“funkcijų nustatymas
„Firebase“funkcijų nustatymas

Mums reikia kažko, kad apskaičiuotume dabartinės vietos artumą saugomoms vietoms, o fono duomenų bazės suaktyvintos funkcijos atliktų mūsų darbą. Funkcijos parašytos „JavaScript“ir turi būti įdiegtos „Firebase“.

Kompiuteryje turite įdiegti „node.js“.

1) Dabar atsisiųskite „Firebase“komandinės eilutės sąsają naudodami komandų eilutės komandą „npm install -g firebase -tools“

2) Dabar turite prisijungti prie „Firebase“naudodami komandą „firebase login“(jei dar nesate prisijungęs, turite pateikti savo „Gmail“prisijungimo slaptažodį)

3) Po to eikite į savo projekto katalogą ir paleiskite funkciją naudodami komandą „firebase init“. Norėdami pradėti „Firebase“funkcijas savo projektui, turėsite pasirinkti parinktį „funkcijos“.

4) Dabar jums reikia eiti į aplanką „funkcijos“savo projekto kataloge ir rasti failą „index.js“.

5] Redaguokite failą naudodami teksto redaktorių ir redaguokite failą/pakeiskite failą mappifier_function.txt. (Tai iš tikrųjų būtų mūsų funkcija)

6) Galiausiai įdiekite savo funkciją komandų eilutėje naudodami „firebase disloy“.

„Firebase“konsolės funkcijų meniu galite patikrinti, ar funkcija įdiegta

6 žingsnis: kodas

Kodas
Kodas
Kodas
Kodas
Kodas
Kodas

ESP8266:

Lenta prisijungia prie „WiFi“ir „Firebase“naudodami kredencialus ir laukia paspaudimo mygtuko. Atsižvelgiant į mygtuko paspaudimo trukmę, įjungiami skirtingi režimai. Duomenų rinkimo režimu (pavadinkime šį „parduotuvės“režimą), kiekvieną kartą paspaudus mygtuką, dabartinė padėtis bus išsiųsta į duomenų bazę, o duomenų paieškos režimu („pranešimo režimas“) dabartinė vieta siunčiama į duomenų bazę ir atstumas automatiškai paimamas iš duomenų bazės. Pridėjau šviesos diodus, skirtus įspėjimams (arti pažymėtos vietos) ir pranešimams (pvz., GPS pataisymas, „WiFi“ryšys, sėkmingas duomenų bazės rašymas, režimo pakeitimas ir kt.).

„Firebase“funkcijai:

Ši funkcija patikrina, ar duomenų bazėje nėra įrašo į „dabartinės vietos“mazgą, apskaičiuoja atstumą tarp duomenų bazėje esančių vietų ir dabartinės vietos, o tada nustato mažiausią atstumą, kuris vėliau įrašomas į duomenų bazės mazgą „atstumas“.

Prieš įkeldami programą nepamirškite pridėti „Wi -Fi“prisijungimo duomenų ir „Firebase“autentifikavimo duomenų. (Žiūrėkite vaizdus). Be to, jei esate naujas ESP8266 ir koduojate juos „Arduino IDE“, žr.

7 žingsnis: pasirenkamas žingsnis (aptvaro kūrimas)

Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)
Neprivalomas žingsnis (aptvaro kūrimas)

Kad techninė dalis būtų kompaktiška ir ją būtų galima sumontuoti, aš padariau nedidelį gaubtą, kad tilptų į vidų. Šviesos diodams pritvirtinti ir USB kabeliui prijungti buvo padaryta pora skylių. Bet galutinis korpusas pranoko mano lūkesčius !! Jis puikiai tilpo mano delno viduje ir buvo labai lengvai tvirtinamas ant dviračio rankenos ir vairo.

8 žingsnis: veiksmas…

Čia yra nedidelis vaizdo įrašas, kuriame demonstruojami abu režimai (parduotuvė ir pranešimas) su įspėjamaisiais ir įspėjamaisiais šviesos diodais.

9 žingsnis: judėkite toliau…

Judama toliau…
Judama toliau…

Ši sistema gali būti naudojama įvairiems tikslams, pavyzdžiui, atsižvelgiant į esamą scenarijų, jei galite gauti ligos plitimo vietas ir išsaugoti jas duomenų bazėje, ši sistema įspės jus, kai būsite arčiau tų vietų. Tačiau aš rimtai galvoju gauti gyvūnų kirtimo duomenis iš viso pasaulio, kad vairuotojai būtų atsargesni ir išgelbėtų daugelį gyvūnų nuo nelaimingų atsitikimų. Sukūriau paprastą tinklalapį (bet dar nepriglobtą), kuriame yra visi mano surinkti duomenys. Tai yra duomenys, kuriuos surinkau vaikščiojant ar važiuojant dviračiu (kai pakelėje randu katę ar šunį, nes jie yra labiau linkę kirsti), tačiau mums reikia daug daugiau duomenų, kad tai įgyvendintume.

Aš esu gana naujokas kurdamas tinklalapius (daugiausia „javascript“) ir kitus dalykus ir norėčiau jūsų pasiūlymų bei patirties:)