Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Laitteistoyksikkö
- Vaihe 2: Piiri
- Vaihe 3: Tietoja Firebasesta
- Vaihe 4: Reaaliaikainen tietokanta
- Vaihe 5: Firebase -toimintojen määrittäminen
- Vaihe 6: Koodi
- Vaihe 7: Valinnainen vaihe (kotelon rakentaminen)
- Vaihe 8: Toiminnassa…
- Vaihe 9: Siirry eteenpäin…
Video: Mappifier - kartoitus + ilmoitusjärjestelmä: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
Vaihe 3: 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
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
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
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)
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…
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:
IoT -pohjainen pyykin ilmoitusjärjestelmä: 18 vaihetta
IoT -pohjainen pyykin ilmoitusjärjestelmä: HiThis -ohje antaa vaiheittaisen esittelyn IoT -pohjaisen pyykin ilmoitusjärjestelmän rakentamisesta.Laite on kiinnitetty laatikoihisi ja pyykkipussiin. Esittelyn vuoksi olemme ottaneet kaksi laatikkoa ja yhden pyykkipussin. Se aistii
Automaattinen kahvin ilmoitusjärjestelmä: 7 vaihetta (kuvilla)
Automaattinen kahvin ilmoitusjärjestelmä: Tässä projektissa teen toimistokahvinkeittimen älykkääksi rakentamalla kahvin hälytysjärjestelmän, joka lähettää Slack -ilmoituksia, kun joku keittää tuoreen kahvipannun. Koodi voidaan muuttaa lähettämään sähköposti tai tekstiviesti. Tämä projekti on rakennettu
Yksinkertainen ISS -ilmoitusjärjestelmä: 6 vaihetta (kuvilla)
Yksinkertainen ISS -ilmoitusjärjestelmä: Mikä on kansainvälinen avaruusasema ja miksi haluat ennustaa sen sijainnin? Vastaamaan ensimmäiseen kysymykseen voimme etsiä vastauksen NASAn verkkosivustolta. Lyhyesti sanottuna: Kansainvälinen avaruusasema on suuri avaruusalus. Se kiertää ympäri