Tartalomjegyzék:

A Mappifier - Mapping + Notification System: 9 lépés
A Mappifier - Mapping + Notification System: 9 lépés

Videó: A Mappifier - Mapping + Notification System: 9 lépés

Videó: A Mappifier - Mapping + Notification System: 9 lépés
Videó: Using 28BYJ-48 Stepper Motor Push button Speed with 8 projects: Ultimate Video Tutorial Lesson 107 2024, November
Anonim
A Mappifier - Mapping + Notification System
A Mappifier - Mapping + Notification System

Az éjszakai vezetés nagyon szórakoztató. De gyakran kiderül, hogy rémálom, az úton átkelő állatok formájában (különösen azok a kóbor macskák és kutyák, akik arra várnak, hogy a közelükbe hajtson, hogy átkelhessenek !!). Ezért arra gondoltam, hogy készítek valamit, ami figyelmeztet, ha közel kerülsz ezekhez a veszélyeztetett helyekhez, hogy óvatosabban vezethess.

A rendszer két részből áll: Adatgyűjtés és adatlekérdezés. Az első rész a helyadatokat veszi át, vagyis azokat a helyeket, ahol nagyobb az állatok átkelésének valószínűsége. Ezeket az adatokat manuálisan kell hozzáadni, és frissíteni kell a térképen. Az utóbbi rész figyelembe veszi jelenlegi tartózkodási helyünket, majd összehasonlítja az összegyűjtött adatokkal, és megfelelő értesítéseket vagy figyelmeztetéseket biztosít.

Kellékek

Használt hardver

ESP8266 WiFi fejlesztőlap

Ublox NEO-6M GPS modul

LED -ek

Pillanatnyi nyomógomb

Használt szoftver

Arduino IDE

Bármilyen JavaScript szerkesztő

Firebase (adattároláshoz és visszakereséshez)

1. lépés: A hardver egység

A hardvernek kétféle módon (üzemmódban) kell működnie: 1) A hely tárolása az adatbázisban: Ez az adatgyűjtési folyamat jelentős része; a GPS -modul által lekért hely az ESP8266 WiFi fejlesztői táblán keresztül kerül elküldésre a firebase adatbázisba.

2) Értesítések biztosítása navigáció közben: Navigáció közben az aktuális hely lekérésre kerül, és elküldésre kerül az adatbázisba. A hely minden frissítésekor kiszámítja a távolságot az aktuális hely és azok között a helyek között (amelyeket az adatgyűjtési folyamat során tároltak), és az ESP8266 modul visszaállítja, majd figyelmezteti a felhasználót aszerint, hogy milyen közel van a felhasználó a tárolt helyektől.

Hozzáadtam három LED -et, hogy értesítsem az üzemmódok változását, valamint az adatbázisba történő sikeres frissítést és egy figyelmeztető lámpát, amely jelzi a felhasználó közelségét a tárolt helyre.

A nyomógombbal tárolhatja a helyet egyetlen kattintással (tárolás/adatgyűjtés módban), és ezen módok között is válthat.

Tápellátás

Kezdetben egy 3,7 V -os 300 mAh -s Lipo akkumulátort használtak, de ez némi problémát okozott. A fő probléma az ESP8266 visszaállítása volt (lehet, hogy a jelenlegi tüskék miatt). Ráadásul az akkumulátor sem tartott sokáig. Végül egy powerbank mentett meg.

2. lépés: Áramkör

Áramkör
Áramkör

3. lépés: A Firebase -ről

A Firebase -ről
A Firebase -ről
A Firebase -ről
A Firebase -ről
A Firebase -ről
A Firebase -ről
A Firebase -ről
A Firebase -ről

A Firebase a Google tulajdonában lévő mobil- és webes alkalmazásfejlesztő platform. Sok funkcióval rendelkezik, de itt csak kettőt használok, a valós idejű adatbázist és a felhőfunkciókat.

A Firebase használatának megkezdéséhez

1. Először lépjen a firebase weboldalára.

2. Most navigáljon a konzolhoz, és kattintson az Új projekt létrehozása elemre.

3. A projekt létrehozásához meg kell adnia a projekt nevét és egyéb részleteit.

4. A projekt létrehozása után kattintson az adatbázis lehetőségre az oldalsó ablaktáblán egy új adatbázis létrehozásához.

5. Tegye ugyanezt a funkciókkal.

Ezek általános lépések a projekt létrehozásához, a firebase jól dokumentált, és sok youtube videósorozat található a kezdők számára. Kérjük, nézze át a további megértést.

4. lépés: Valós idejű adatbázis

Valós idejű adatbázis
Valós idejű adatbázis
Valós idejű adatbázis
Valós idejű adatbázis

Az adatbázis létrehozása után a következő lépés annak megtekintése, hogy az adatbázisban lévő adatok hogyan tárolódnak és hogyan érhetők el. Az adatbázisba való íráshoz vagy olvasáshoz be kell állítania az adatbázis szabályait. A fejlesztési célok érdekében használhatunk egy nyílt szabályt, hogy bárki, aki rendelkezik adatbázis -hivatkozással, tudjon olvasni/írni, de legyen óvatos a szabályok konfigurálásakor. Az adatbázis JSON formátumban tárolja az adatokat, és szinkronizálva van az összes eszközzel, amely a adatbázis. A „+” jel használatával hozzáadhat gyermekcsomópontokat, de a csomópontok programozottan is létrehozhatók. Minden adat, amelyet "tárolás" módban (az összegyűjtött hely tárolása) töltünk fel az adatbázisba, külön csomópontként kerül ide, míg az "értesítési" módban lévő adatok (adatok lekérése navigáció közben) minden alkalommal frissül (ellenőrizze a képet).

5. lépés: A Firebase funkciók beállítása

A Firebase funkciók beállítása
A Firebase funkciók beállítása
A Firebase funkciók beállítása
A Firebase funkciók beállítása
A Firebase funkciók beállítása
A Firebase funkciók beállítása

Szükségünk van valamire, hogy kiszámítsuk az aktuális tartózkodási hely közelségét a tárolt helyekhez, és a háttéradatbázis által kiváltott funkciók tennék a dolgunkat. A függvények javascriptben vannak írva, és telepíteni kell őket a tűzbázisra.

Telepítenie kell a node.js fájlt a számítógépére.

1) Most töltse le a firebase parancssori felületét a parancssor "npm install -g firebase -tools" parancsával

2) Most be kell jelentkeznie a firebase -be a "firebase login" paranccsal (meg kell adnia a gmail bejelentkezési jelszavát, ha még nem jelentkezett be)

3) Ezután lépjen a projekt könyvtárába, és indítsa el a funkciót a "firebase init" paranccsal. Ki kell választania a „függvények” opciót a projekt Firebase funkcióinak elindításához.

4) Most el kell mennie a projektfunkciók könyvtárában a "function" mappába, és meg kell találnia az "index.js" fájlt.

5) Szerkessze a fájlt szövegszerkesztővel, és szerkessze a fájlt/cserélje le a mappifier_function.txt fájlra. (Ez ténylegesen a mi feladatunk lenne)

6) Végül telepítse a funkciót a parancssor "firebase deploy" használatával.

A Firebase konzol funkció menüjében ellenőrizheti, hogy a funkció telepítve van -e

6. lépés: Kód

Kód
Kód
Kód
Kód
Kód
Kód

ESP8266 esetén:

A tábla hitelesítő adatok segítségével csatlakozik a WiFi -hez és a Firebase -hez, és várja a nyomógomb megnyomását. A gombnyomás időtartamától függően különböző módok indulnak el. Adatgyűjtési módban (nevezzük ezt a "tárolási" módot) minden gombnyomás az aktuális pozíciónak az adatbázisba történő elküldéséhez vezet, míg adatkeresési módban ("értesítési mód") az aktuális hely elküldésre kerül az adatbázisba és a távolság automatikusan lekérésre kerül az adatbázisból. Hozzáadtam LED -eket a figyelmeztetésekhez (a megjelölt helyhez való közelség) és az értesítésekhez (például GPS -javítás, WiFi -kapcsolat, sikeres adatbázis -írás, módváltás stb.).

A Firebase funkcióhoz:

Ez a függvény ellenőrzi, hogy van -e írás az adatbázis „aktuális hely” csomópontjába, és kiszámítja az adatbázis helyei és az aktuális hely közötti távolságot, majd megkeresi a legkisebb távolságot, amelyet az adatbázis „távolság” csomópontjába írnak.

Ne felejtse el hozzáadni a wifi hitelesítő adatait és a Firebase hitelesítési adatait a program feltöltése előtt. (Kérjük, tekintse meg a képeket). Továbbá, ha új vagy az ESP8266 -ban, és kódolni szeretné az Arduino IDE -n, olvassa el ezeket.

7. lépés: Opcionális lépés (burkolat építése)

Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)
Opcionális lépés (burkolat építése)

Annak érdekében, hogy a hardverrész kompakt legyen, és fel lehessen szerelni, készítettem egy kis házat, amely illeszkedik hozzájuk. Néhány lyukat készítettek a LED -ek felszerelésére és az USB -kábel csatlakoztatására. De a végleges burkolat felülmúlta a várakozásaimat !! Tökéletesen illeszkedett a tenyerembe, és nagyon könnyen felszerelhető volt a kerékpár fogantyújára és a kormányra.

8. lépés: Működésben…

Itt van egy kis videó, amely mindkét üzemmódot (tárolás és értesítés) bemutatja figyelmeztető és értesítő LED -ekkel.

9. lépés: Továbblépés…

Továbblépés…
Továbblépés…

Ez a rendszer különféle célokra használható, például a jelenlegi forgatókönyvet figyelembe véve, ha meg tudja találni a betegség terjedésének helyét és tárolja egy adatbázisban, akkor ez a rendszer figyelmeztetéseket küld, ha közelebb van ezekhez a helyekhez. De komolyan gondolkodom azon, hogy a világ minden tájáról szerezzem be az állatkeresztezési adatokat, hogy óvatossá tegyék a sofőröket, és sok állatot megmentsenek a balesetektől. Készítettem egy egyszerű weboldalt (de még nem tároltam), amely tartalmazza az összes általam gyűjtött adatot. Ezeket az adatokat gyűjtöttem gyaloglás vagy kerékpározás során (amikor macskát vagy kutyát találok az út szélén, mivel hajlamosabbak az átkelésre), de ennek megvalósításához sokkal több adatra van szükségünk.

Elég kezdő vagyok a weboldalak (főleg javascript) és egyéb anyagok készítésében, és szívesen várom a javaslataitokat és a szakértelmeteket:)

Ajánlott: