Obsah:

Mapovač - mapovací a oznamovací systém: 9 krokov
Mapovač - mapovací a oznamovací systém: 9 krokov

Video: Mapovač - mapovací a oznamovací systém: 9 krokov

Video: Mapovač - mapovací a oznamovací systém: 9 krokov
Video: Vývoj Ukrajiny PAK VS TEĎ (Countryballs/mapování) 2024, Septembra
Anonim
Mapovač - mapovací + oznamovací systém
Mapovač - mapovací + oznamovací systém

Nočná jazda je celkom zábava. Často sa však ukazuje, že je to nočná mora v podobe zvierat prechádzajúcich cez cestu (najmä tie túlavé mačky a psy, ktoré čakajú, kým prejdete blízko nich, aby mohli prejsť !!). Preto ma napadlo vytvoriť niečo, čo by vás varovalo, keď sa dostanete do blízkosti týchto zraniteľných miest, aby ste mohli jazdiť opatrnejšie.

Systém má dve časti: zber údajov a získavanie údajov. Prvá časť obsahuje údaje o polohe, tj. Miesta, na ktorých je väčšia pravdepodobnosť kríženia zvierat. Tieto údaje je potrebné pridať ručne a aktualizovať ich na mape. Druhá časť berie našu aktuálnu polohu a potom ju porovnáva so zozbieranými údajmi a sú k dispozícii príslušné oznámenia alebo varovania.

Zásoby

Použitý hardvér

Vývojová doska WiFi ESP8266

GPS modul Ublox NEO-6M

LED diódy

Krátke tlačidlo

Použitý softvér

Arduino IDE

Akýkoľvek editor JavaScript

Firebase (na ukladanie a získavanie údajov)

Krok 1: Hardvérová jednotka

Hardvér musí fungovať dvoma spôsobmi (režimami): 1) Uložte umiestnenie do databázy: Toto je hlavná časť procesu zberu údajov; poloha získaná modulom GPS sa odošle do databázy firebase prostredníctvom vývojovej dosky WiFi ESP8266.

2) Poskytovať upozornenia počas navigácie: Počas navigácie sa načítava aktuálna poloha a odosiela sa do databázy. Pri každej aktualizácii umiestnenia sa vypočíta vzdialenosť medzi aktuálnym umiestnením a tými miestami (ktoré boli uložené počas procesu zberu údajov) a obnoví ich modul ESP8266, ktorý potom používateľa upozorní podľa toho, ako blízko sa používateľ od týchto uložených miest nachádza.

Pridal som tri diódy LED na upozornenie na zmenu režimov, ako aj úspešnú aktualizáciu databázy a výstražnú kontrolku na upozornenie na blízkosť používateľa k uloženému miestu.

Toto tlačidlo slúži na uloženie polohy jediným kliknutím (v režime ukladania/zhromažďovania údajov) a tiež na prepínanie medzi týmito režimami.

Napájanie

Pôvodne sa používala batéria Lipo 3,7 V 300 mAh, ale predstavovalo to určité problémy. Hlavným problémom bolo resetovanie ESP8266 (môže to byť spôsobené aktuálnymi hrotmi). Batéria tiež veľa nevydržala. Nakoniec mi prišla na pomoc powerbanka.

Krok 2: Okruh

Obvod
Obvod

Krok 3: O platforme Firebase

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

Firebase je platforma na vývoj mobilných a webových aplikácií, ktorú vlastní spoločnosť Google. Má mnoho funkcií, ale tu používam iba dve z nich, databázu v reálnom čase a cloudové funkcie.

Ak chcete začať používať Firebase, 1. Najprv choďte na webovú stránku firebase.

2. Teraz prejdite na konzolu a kliknite na položku vytvoriť nový projekt.

3. Na vytvorenie projektu musíte zadať názov projektu a ďalšie podrobnosti.

4. Po vytvorení projektu kliknite na možnosť databázy na bočnom paneli a vytvorte novú databázu.

5. To isté urobte pre funkcie.

Toto sú všeobecné kroky pri vytváraní projektu, platforma firebase je dobre zdokumentovaná a existuje mnoho sérií videí na YouTube pre začiatočníkov, láskavo si prečítajte ďalšie informácie.

Krok 4: Databáza v reálnom čase

Databáza v reálnom čase
Databáza v reálnom čase
Databáza v reálnom čase
Databáza v reálnom čase

Po vytvorení databázy je ďalším krokom zistiť, ako sa údaje v databáze ukladajú a je k nim prístup. Na zápis alebo čítanie z/do databázy musíte nakonfigurovať pravidlá databázy. Na účely vývoja môžeme použiť otvorené pravidlo, aby ktokoľvek s databázovou referenciou mohol čítať/písať, ale pri konfigurácii pravidiel buďte opatrní. Databáza ukladá údaje vo formáte JSON a je synchronizovaná so všetkými zariadeniami, ktoré sú pripojené k databáza. Podradené uzly môžete pridať pomocou znamienka „+“, ale uzly je možné generovať aj programovo. Všetky údaje, ktoré nahráme do databázy v režime „uložiť“(uložené miesto sa zhromaždí), sa tu uložia ako samostatné uzly, zatiaľ čo údaje v režime „upozornení“(načítanie údajov pri navigácii) sa aktualizujú zakaždým (skontrolujte obrázok).

Krok 5: Nastavenie funkcií Firebase

Nastavenie funkcií Firebase
Nastavenie funkcií Firebase
Nastavenie funkcií Firebase
Nastavenie funkcií Firebase
Nastavenie funkcií Firebase
Nastavenie funkcií Firebase

Potrebujeme niečo na výpočet blízkosti aktuálnej polohy k uloženým miestam a funkcie spustené databázou na pozadí by svoju prácu zvládli. Funkcie sú napísané v JavaScripte a je potrebné ich nasadiť na platformu firebase.

Na počítači musíte mať nainštalovaný node.js.

1) Teraz si stiahnite rozhranie príkazového riadka firebase pomocou príkazu „npm install -g firebase -tools“na príkazovom riadku

2) Teraz sa musíte prihlásiť do firebase pomocou príkazu „prihlásenie do firebase“(Ak ešte nie ste prihlásení, musíte zadať svoje prihlasovacie heslo do Gmailu)

3) Potom prejdite do adresára projektu a spustite funkciu príkazom „firebase init“. Na spustenie funkcií platformy firebase pre svoj projekt budete musieť vybrať možnosť „funkcie“.

4) Teraz musíte prejsť do priečinka „functions“v adresári projektu a nájsť súbor „index.js“.

5) Upravte súbor pomocou textového editora a upravte súbor/nahraďte súbor mappifier_function.txt. (To by v skutočnosti bola naša funkcia)

6) Nakoniec nasaďte svoju funkciu pomocou „nasadenia firebase“na príkazovom riadku.

Či je funkcia nasadená, môžete skontrolovať v ponuke funkcií na konzole firebase

Krok 6: Kód

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

Pre ESP8266:

Doska sa pripája k WiFi a Firebase pomocou poverení a čaká na stlačenie tlačidla. Podľa trvania stlačenia tlačidla sa spustia rôzne režimy. V režime zberu údajov (nazvime to „režim ukladania“) každé stlačenie tlačidla povedie k odoslaniu aktuálnej polohy do databázy v režime získavania údajov („režim oznámenia“), aktuálne umiestnenie sa odošle do databázy. a vzdialenosť sa automaticky načítava z databázy. Pridal som LED diódy pre výstrahy (blízkosť označenej polohy) a upozornenia (ako napríklad oprava GPS, pripojenie WiFi, úspešné zapisovanie do databázy, zmena režimu atď.).

Pre funkciu Firebase:

Táto funkcia kontroluje zápis do uzla „aktuálne umiestnenie“v databáze a vypočíta vzdialenosť medzi miestami v databáze a aktuálnym umiestnením a potom vyhľadá najmenšiu vzdialenosť, ktorá sa potom zapíše do uzla „vzdialenosť“v databáze.

Pred odoslaním programu nezabudnite pridať svoje poverenia wifi a autorizačné údaje firebase. (Pozrite si obrázky). Ak ste ešte novým v ESP8266 a chcete ich kódovať v Arduino IDE, prečítajte si ich.

Krok 7: Voliteľný krok (zostavenie prílohy)

Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)
Voliteľný krok (stavba prílohy)

Aby bola hardvérová časť kompaktná a mohla byť namontovaná, vyrobil som malý kryt, ktorý ich zmestí dovnútra. Vytvorilo sa niekoľko otvorov na upevnenie diód LED a pripojenie kábla USB. Ale konečná príloha bola nad moje očakávania !! Dokonale sa zmestil do mojej dlane a bolo veľmi ľahko namontovateľné na rukoväti cyklu a na volant.

Krok 8: V akcii …

Tu je malé video demonštrujúce oba režimy (ukladanie a upozornenie) s výstražnými a notifikačnými diódami LED.

Krok 9: Posuňte sa ďalej…

Posúvame sa ďalej …
Posúvame sa ďalej …

Tento systém môže byť použitý na rôzne účely, napríklad vzhľadom na súčasný scenár, ak dokážete lokalizovať miesta šírenia chorôb a uložiť ho do databázy, tento systém vám poskytne varovania, keď budete bližšie k týmto miestam. Vážne však uvažujem o získaní údajov o krížení zvierat z celého sveta, aby boli vodiči opatrní a zachránili mnoho zvierat pred nehodami. Vytvoril som jednoduchú webovú stránku (ale ešte nie je hostiteľom), ktorá obsahuje všetky údaje, ktoré som zhromaždil. Toto sú údaje, ktoré som zhromaždil počas prechádzky alebo jazdy na bicykli (kedykoľvek nájdem na ceste mačku alebo psa, pretože sú náchylnejší na prejazd), ale na ich implementáciu potrebujeme oveľa viac údajov.

Som celkom nový vo vytváraní webových stránok (hlavne JavaScript) a ďalších vecí a rád by som mal vaše návrhy a odborné znalosti:)

Odporúča: