Sisällysluettelo:

Mappifier - kartoitus + ilmoitusjärjestelmä: 9 vaihetta
Mappifier - kartoitus + ilmoitusjärjestelmä: 9 vaihetta

Video: Mappifier - kartoitus + ilmoitusjärjestelmä: 9 vaihetta

Video: Mappifier - kartoitus + ilmoitusjärjestelmä: 9 vaihetta
Video: Как быстро убрать жирный блеск с лица | Retouch4Me Mattifier 2024, Kesäkuu
Anonim
Mappifier - kartoitus + ilmoitusjärjestelmä
Mappifier - kartoitus + ilmoitusjärjestelmä

Yöllä ajaminen on aika hauskaa. Mutta usein se osoittautuu painajaiseksi, tien muodossa ylittävien eläinten muodossa (erityisesti harhailevat kissat ja koirat, jotka odottavat sinun ajavan niiden lähellä, jotta he voivat ylittää !!). Joten ajattelin tehdä jotain, joka varoittaa sinua, kun tulet näiden haavoittuvien paikkojen lähelle, jotta voit ajaa varovaisemmin.

Järjestelmässä on kaksi osaa: tiedonkeruu ja tiedonhaku. Ensimmäinen osa sisältää paikkatiedot, eli paikat, joissa eläinten ylittämisen todennäköisyys on suurempi. Nämä tiedot on lisättävä manuaalisesti ja päivitettävä kartalle. Jälkimmäinen osa ottaa nykyisen sijaintimme ja vertaa sitä sitten kerättyihin tietoihin ja antaa asianmukaiset ilmoitukset tai varoitukset.

Tarvikkeet

Käytetty laitteisto

ESP8266 WiFi -kehityskortti

Ublox NEO-6M GPS-moduuli

LEDit

Hetkellinen painike

Käytetty ohjelmisto

Arduino IDE

Mikä tahansa JavaScript -editori

Firebase (tietojen tallentamiseen ja hakemiseen)

Vaihe 1: Laitteistoyksikkö

Laitteiston on toimittava kahdella tavalla (tilassa): 1) Tallenna sijainti tietokantaan: Tämä on tärkeä osa tiedonkeruuprosessia; GPS -moduulin noutama sijainti lähetetään firebase -tietokantaan ESP8266 WiFi -kehityskortin kautta.

2) Ilmoita navigoinnin aikana: Navigoinnin aikana nykyinen sijainti haetaan ja lähetetään tietokantaan. Jokaisen sijainnin päivityksen yhteydessä lasketaan etäisyys nykyisen sijainnin ja niiden sijaintien (jotka on tallennettu tiedonkeruuprosessin aikana) välillä ja se palautetaan ESP8266 -moduulilla, joka varoittaa käyttäjää sen mukaan, kuinka lähellä käyttäjä on tallennetuista sijainneista.

Lisäsin kolme LEDiä ilmoittamaan tilojen muutoksesta sekä onnistuneen päivittämisen tietokantaan ja varoitusvalon, joka ilmoittaa käyttäjän läheisyydestä tallennettuun paikkaan.

Painikkeella tallennetaan sijainti yhdellä napsautuksella (tallennus-/tiedonkeruutilassa) ja myös vaihdetaan näiden tilojen välillä.

Käynnissä

Aluksi käytettiin 3,7 V 300 mAh: n Lipo -akkua, mutta se aiheutti joitain ongelmia. Suurin ongelma oli ESP8266 -nollaus (saattaa johtua nykyisistä piikeistä). Myös akku ei kestänyt paljoa. Lopulta pelastus tehopankki.

Vaihe 2: Piiri

Piiri
Piiri

Vaihe 3: Tietoja Firebasesta

Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta
Tietoja Firebasesta

Firebase on Googlen omistama mobiili- ja verkkosovelluskehitysalusta. Siinä on monia ominaisuuksia, mutta tässä käytän vain kahta niistä, Realtime Database ja Cloud Functions.

Aloita Firebasen käyttö

1. Siirry ensin firebase -verkkosivulle.

2. Siirry nyt konsoliin ja napsauta Luo uusi projekti.

3. Sinun on annettava projektin nimi ja muut tiedot projektin luomiseksi.

4. Kun projekti on luotu, luo uusi tietokanta napsauttamalla sivupaneelin tietokanta -vaihtoehtoa.

5. Tee sama toiminnoille.

Nämä ovat yleisiä vaiheita projektin luomisessa, firebase on hyvin dokumentoitu ja aloittelijoille on monia youtube -videosarjoja. Käy ystävällisesti läpi saadaksesi lisätietoja.

Vaihe 4: Reaaliaikainen tietokanta

Reaaliaikainen tietokanta
Reaaliaikainen tietokanta
Reaaliaikainen tietokanta
Reaaliaikainen tietokanta

Kun olet luonut tietokannan, seuraava vaihe on nähdä, miten tietokannan tiedot tallennetaan ja miten niihin pääsee käsiksi. Jos haluat kirjoittaa tai lukea tietokantaan/tietokannasta, sinun on määritettävä tietokantasäännöt. Kehitystarkoituksessa voimme käyttää avointa sääntöä, jotta kaikki tietokantaviittauksen omaavat voivat lukea/kirjoittaa, mutta ole varovainen, kun määrität sääntöjä. Tietokanta tallentaa tiedot JSON -muodossa ja synkronoidaan kaikkiin laitteisiin, jotka on Voit lisätä alisolmuja käyttämällä+-merkkiä, mutta solmut voidaan luoda myös ohjelmallisesti. Kaikki tiedot, jotka lataamme tietokantaan "tallennustilassa" (tallennetun sijainnin tallentaminen), tallennetaan tänne erillisinä solmuina, kun taas ilmoitustilassa olevat tiedot (tietojen hakeminen navigoinnin aikana) päivitetään joka kerta (tarkista kuva).

Vaihe 5: Firebase -toimintojen määrittäminen

Firebase -toimintojen määrittäminen
Firebase -toimintojen määrittäminen
Firebase -toimintojen määrittäminen
Firebase -toimintojen määrittäminen
Firebase -toimintojen määrittäminen
Firebase -toimintojen määrittäminen

Tarvitsemme jotain, jotta voimme laskea nykyisen sijainnin läheisyyden tallennettuihin sijainteihin, ja taustatietokannan käynnistämät toiminnot tekisivät tehtävämme. Toiminnot on kirjoitettu javascriptillä ja ne on otettava käyttöön palokunnassa.

Sinun on asennettava tietokoneeseen node.js.

1) Lataa nyt firebase -komentorivikäyttöliittymä käyttämällä komentokehotteesi komentoa "npm install -g firebase -tools"

2) Nyt sinun on kirjauduttava firebaseen komennolla "firebase login" (Sinun on annettava Gmail -kirjautumissalasanasi, jos et ole jo kirjautunut sisään)

3) Siirry tämän jälkeen projektihakemistoosi ja käynnistä toiminto komennolla "firebase init". Sinun on valittava "toiminnot" -vaihtoehto, kun haluat käynnistää projektisi Firebase -toiminnot.

4) Nyt sinun on siirryt projektihakemistosi toimintojen kansioon ja löydettävä index.js -tiedosto.

5) Muokkaa tiedostoa tekstieditorilla ja muokkaa tiedostoa/korvaa tiedosto mappifier_function.txt -tiedostolla (tämä olisi käytännössä tehtävämme)

6) Ota toiminto käyttöön lopuksi komentokehotteessa "firebase deploy".

Voit tarkistaa, onko toiminto otettu käyttöön Firebase -konsolin toimintovalikosta

Vaihe 6: Koodi

Koodi
Koodi
Koodi
Koodi
Koodi
Koodi

ESP8266:

Taulu muodostaa yhteyden WiFi: hen ja Firebaseen kirjautumistietojen avulla ja odottaa painikkeen painallusta. Painikkeen painalluksen keston mukaan eri tilat käynnistyvät. Tiedonkeruutilassa (kutsutaan tätä "tallennustilaksi") jokainen painikkeen painallus johtaa nykyisen sijainnin lähettämiseen tietokantaan, kun taas tiedonhakutilassa ("ilmoitustila") nykyinen sijainti lähetetään tietokantaan ja etäisyys haetaan tietokannasta automaattisesti. Lisäsin merkkivaloja varoituksiin (lähellä merkittyä sijaintia) ja ilmoituksiin (kuten GPS -korjaus, WiFi -yhteys, onnistunut tietokannan kirjoittaminen, tilanvaihto jne.).

Firebase -toiminto:

Tämä toiminto tarkistaa kirjoituksen tietokannan nykyisen sijainnin solmuun ja laskee etäisyyden tietokannan sijaintien ja nykyisen sijainnin välillä ja löytää sitten pienimmän etäisyyden, joka sitten kirjoitetaan tietokannan etäisyyssolmuun.

Muista lisätä wifi -kirjautumistietosi ja Firebase -kirjautumistietosi ennen ohjelman lataamista. (Katso kuvat). Lisäksi, jos olet uusi ESP8266: ssa ja koodaat ne Arduino IDE: ssä, katso nämä.

Vaihe 7: Valinnainen vaihe (kotelon rakentaminen)

Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)
Valinnainen vaihe (kotelon rakentaminen)

Jotta laitteisto -osa olisi kompakti, jotta se voidaan asentaa, tein pienen kotelon, joka sopii niihin. Pari reikää tehtiin LEDien asentamiseen ja USB -kaapelin liittämiseen. Mutta lopullinen kotelo ylitti odotukseni !! Se istui täydellisesti kämmeneni sisään, ja se oli erittäin helppo asentaa pyörän kahvaan ja ohjauspyörään.

Vaihe 8: Toiminnassa…

Tässä on pieni video, joka osoittaa molemmat tilat (tallennus ja ilmoitus) sekä varoitus- ja ilmoitus -LEDit.

Vaihe 9: Siirry eteenpäin…

Siirrytään pidemmälle…
Siirrytään pidemmälle…

Tätä järjestelmää voidaan käyttää eri tarkoituksiin, esimerkiksi kun otetaan huomioon nykyinen skenaario, jos saat taudin leviämispaikat ja tallennat sen tietokantaan, tämä järjestelmä antaa varoituksia, kun olet lähempänä näitä paikkoja. Mutta ajattelen vakavasti, että saan eläinten ylitystietoja kaikkialta maailmasta, jotta kuljettajat olisivat varovaisia ja pelastaisin monet eläimet onnettomuuksilta. Olen tehnyt yksinkertaisen verkkosivun (mutta en ole vielä isännöinyt), joka sisältää kaikki keräämäni tiedot. Nämä ovat tietoja, jotka olen kerännyt kävelyn tai pyöräilyn aikana (aina kun löydän kissan tai koiran tien varrelta, koska ne ovat alttiimpia ylittämään), mutta tarvitsemme paljon enemmän tietoja tämän toteuttamiseksi.

Olen melko uusi verkkosivujen (lähinnä javascript) ja muiden asioiden luomisessa ja haluaisin saada ehdotuksiasi ja asiantuntemustasi:)

Suositeltava: