Obsah:
- Zásoby
- Krok 1: Hardwarová jednotka
- Krok 2: Okruh
- Krok 3: O Firebase
- Krok 4: Realtime Database
- Krok 5: Nastavení funkcí Firebase
- Krok 6: Kód
- Krok 7: Volitelný krok (stavba přílohy)
- Krok 8: V akci…
- Krok 9: Pokračujeme dále…
Video: The Mappifier - Mapping + Notification System: 9 Steps
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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
Krok 3: 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
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
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
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)
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…
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:
Motion Detected Email Notification for DVR or NVR: 4 Steps
E -mailové oznámení detekované pohybem pro DVR nebo NVR: V tomto pokynu vám ukážeme, jak nastavit e -mailová oznámení detekovaná pohybem na vašem DVR nebo NVR. Téměř každý, kdo pronikne do jakékoli budovy, ví, že lidé se uchýlili k instalaci kamerových systémů, aby chránili své
Vytvořte „Ultimate Craigslist Notification Tool“: 5 kroků
Vytvořte 'Ultimate Craigslist Notification Tool': Upozornění: tento projekt je pro uživatele mac. Dobře. Všem uživatelům craigslistu se to stalo jednou nebo dvakrát. Z nového ohřívače šálků na kávu USB jste čerpali za 10 $ a zjistíte, že si ho nejprve pořídil soused od vedle. &Quot; Kdyby jen " přejete si a