Obsah:

The Mappifier - Mapping + Notification System: 9 Steps
The Mappifier - Mapping + Notification System: 9 Steps

Video: The Mappifier - Mapping + Notification System: 9 Steps

Video: The Mappifier - Mapping + Notification System: 9 Steps
Video: मेकअप के सारे स्टेप्स Step By Step Easy MAKEUP FOR BEGINNERS शुरू से आखिर तक 2024, Červen
Anonim
The Mappifier - Mapping + Notification System
The Mappifier - Mapping + Notification System

Noční jízda je docela zábava. Často se ale ukazuje, že je to noční můra, a to v podobě zvířat přecházejících silnici (zejména těch toulavých koček a psů, kteří čekají, až budete řídit v jejich blízkosti, aby mohli přejít !!). Napadlo mě tedy vytvořit něco, co by vás varovalo, až se dostanete do blízkosti těchto zranitelných míst, abyste mohli řídit opatrněji.

Systém má dvě části: sběr dat a získávání dat. První část obsahuje údaje o poloze, tj. Místa, kde je větší pravděpodobnost křížení zvířat. Tato data musí být přidána ručně a jsou aktualizována na mapě. Druhá část přebírá naši aktuální polohu a poté ji porovnává se shromážděnými údaji a jsou poskytována příslušná oznámení nebo varování.

Zásoby

Použitý hardware

Vývojová deska WiFi ESP8266

GPS modul Ublox NEO-6M

LED diody

Okamžité tlačítko

Použitý software

Arduino IDE

Libovolný editor JavaScriptu

Firebase (pro ukládání a načítání dat)

Krok 1: Hardwarová jednotka

Hardware musí fungovat dvěma způsoby (režimy): 1) Uložení umístění do databáze: Toto je hlavní část procesu sběru dat; poloha načtená modulem GPS je odeslána do databáze firebase prostřednictvím vývojové desky WiFi ESP8266.

2) Poskytovat upozornění během navigace: Během navigace se načte aktuální poloha a odešle se do databáze. Po každé aktualizaci umístění se vypočítá vzdálenost mezi aktuálním umístěním a těmi místy (která byla uložena během procesu sběru dat) a je obnovena modulem ESP8266, který poté uživatele varuje podle toho, jak blízko je uživatel od těchto uložených míst.

Přidal jsem tři LED diody pro upozornění na změnu režimů, stejně jako úspěšnou aktualizaci do databáze a výstražnou kontrolku pro upozornění na blízkost uživatele k uloženému místu.

Tlačítko slouží k uložení polohy jediným kliknutím (v režimu ukládání/shromažďování dat) a také k přepínání mezi těmito režimy.

Napájení

Zpočátku byla používána baterie Lipo 3,7 V 300 mAh, ale představovalo to určité problémy. Hlavním problémem bylo resetování ESP8266 (může to být kvůli aktuálním špičkám). Také baterie moc nevydržela. Nakonec mě zachránila powerbanka.

Krok 2: Okruh

Obvod
Obvod

Krok 3: O Firebase

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

Firebase je platforma pro vývoj mobilních a webových aplikací, kterou vlastní společnost Google. Má mnoho funkcí, ale zde používám pouze dvě z nich, Realtime Database a Cloud Functions.

Chcete -li začít na Firebase, 1. Nejprve přejděte na webovou stránku firebase.

2. Nyní přejděte do konzoly a klikněte na vytvořit nový projekt.

3. K vytvoření projektu musíte zadat název projektu spolu s dalšími podrobnostmi.

4. Po vytvoření projektu klikněte na možnost databáze z bočního panelu a vytvořte novou databázi.

5. Totéž proveďte pro funkce.

Toto jsou obecné kroky pro vytvoření projektu, firebase je dobře zdokumentováno a existuje mnoho sérií videí na YouTube pro začátečníky, laskavě projděte, abyste porozuměli více.

Krok 4: Realtime Database

Realtime databáze
Realtime databáze
Realtime databáze
Realtime databáze

Poté, co jste vytvořili databázi, je dalším krokem zjistit, jak jsou data v databázi uložena a je k nim přístup. Pro zápis nebo čtení z/do databáze je třeba nakonfigurovat pravidla databáze. Pro účely vývoje můžeme použít otevřené pravidlo, aby kdokoli s referencí na databázi mohl číst/zapisovat, ale při konfiguraci pravidel buďte opatrní. Databáze ukládá data ve formátu JSON a je synchronizována se všemi zařízeními, která jsou připojena k databázi. Podřízené uzly můžete přidat pomocí znaménka „+“, ale uzly lze také generovat programově. Všechna data, která nahrajeme do databáze v režimu 'store' (ukládání uloženého místa), se zde uloží jako samostatné uzly, zatímco data v režimu 'notification' (načítání dat při navigaci) se aktualizují pokaždé (zkontrolujte obrázek).

Krok 5: Nastavení funkcí Firebase

Nastavení funkcí Firebase
Nastavení funkcí Firebase
Nastavení funkcí Firebase
Nastavení funkcí Firebase
Nastavení funkcí Firebase
Nastavení funkcí Firebase

Potřebujeme něco pro výpočet blízkosti aktuálního umístění k uloženým místům a funkce spuštěné databází na pozadí by svou práci zvládly. Funkce jsou napsány v JavaScriptu a je třeba je nasadit na firebase.

Na počítači musíte mít nainstalovaný node.js.

1) Nyní stáhněte rozhraní příkazového řádku firebase pomocí příkazu „npm install -g firebase -tools“na příkazovém řádku

2) Nyní se musíte přihlásit do firebase pomocí příkazu „firebase login“(Pokud nejste přihlášeni, musíte zadat své přihlašovací heslo do gmailu)

3) Poté přejděte do adresáře projektu a spusťte funkci příkazem „firebase init“. Pro spuštění funkcí firebase pro váš projekt budete muset vybrat možnost 'functions'.

4) Nyní musíte přejít do složky 'functions' v adresáři projektu a najít soubor 'index.js'.

5) Upravte soubor pomocí textového editoru a upravte soubor/nahraďte soubor mappifier_function.txt. (To by ve skutečnosti byla naše funkce)

6) Nakonec nasaďte svou funkci pomocí „firebase deploy“na příkazovém řádku.

V nabídce funkcí na konzole firebase můžete zkontrolovat, zda je funkce nasazena

Krok 6: Kód

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

Pro ESP8266:

Deska se připojuje k WiFi a Firebase pomocí pověření a čeká na stisknutí tlačítka. Podle doby stisknutí tlačítka se spustí různé režimy. V režimu sběru dat (nazývejme tento režim „úložiště“) každé stisknutí tlačítka povede k odeslání aktuální polohy do databáze v režimu načítání dat („režim upozornění“), aktuální poloha se odešle do databáze a vzdálenost se automaticky načte z databáze. Přidal jsem LED diody pro varování (blízkost označeného místa) a upozornění (jako oprava GPS, připojení WiFi, úspěšné zápisy do databáze, změna režimu atd.).

Pro funkci Firebase:

Tato funkce kontroluje zápis do uzlu 'aktuální poloha' v databázi a vypočítá vzdálenost mezi místy v databázi a aktuálním umístěním a poté vyhledá nejmenší vzdálenost, která se poté zapíše do uzlu 'vzdálenost' v databázi.

Před nahráním programu nezapomeňte přidat své přihlašovací údaje pro wifi a přihlašovací údaje pro firebase. (Viz obrázky). Pokud jste v ESP8266 noví a kódujete je v Arduino IDE, podívejte se na ně.

Krok 7: Volitelný krok (stavba přílohy)

Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)
Volitelný krok (stavba skříně)

Aby byla hardwarová část kompaktní, aby ji bylo možné namontovat, vytvořil jsem malý kryt, který je vešel dovnitř. Bylo provedeno několik otvorů pro montáž LED diod a připojení kabelu USB. Ale konečný výběh byl nad mé očekávání !! Perfektně se vešel do mé dlaně a bylo velmi snadno namontovatelné na rukojeť cyklu a na volant.

Krok 8: V akci…

Zde je malé video demonstrující oba režimy (ukládání a upozornění) s varovnými a oznamovacími LED diodami.

Krok 9: Pokračujeme dále…

Posun dále…
Posun dále…

Tento systém lze použít k různým účelům, například s ohledem na současný scénář, pokud dokážete zjistit umístění šíření nemoci a uložit jej do databáze, bude vám tento systém poskytovat varování, až se k těmto místům přiblížíte. Ale vážně myslím na získání údajů o křížení zvířat z celého světa, aby byli řidiči opatrní a zachránili mnoho zvířat před nehodami. Vytvořil jsem jednoduchou webovou stránku (ale ještě ne hostovanou), která obsahuje všechna data, která jsem shromáždil. Toto jsou data, která jsem shromáždil při procházce nebo jízdě na kole (kdykoli najdu kočku nebo psa na silnici, protože jsou náchylnější ke křížení), ale potřebujeme mnohem více údajů, abychom to mohli implementovat.

Jsem docela nový ve vytváření webových stránek (hlavně javascript) a dalších věcí a rád bych měl vaše návrhy a odborné znalosti:)

Doporučuje: