INHOUDSOPGAWE:

The Mappifier - kartering + kennisgewingstelsel: 9 stappe
The Mappifier - kartering + kennisgewingstelsel: 9 stappe

Video: The Mappifier - kartering + kennisgewingstelsel: 9 stappe

Video: The Mappifier - kartering + kennisgewingstelsel: 9 stappe
Video: CRAZY HAIR VOLUME TUTORIAL! Men’s Hairstyles, By Vilain NEON 2024, Junie
Anonim
The Mappifier - kartering + kennisgewingstelsel
The Mappifier - kartering + kennisgewingstelsel

Nagry is baie lekker. Maar dit blyk dikwels 'n nagmerrie te wees, in die vorm van diere wat die pad oorsteek (veral die verdwaalde katte en honde wat wag dat jy naby hulle ry sodat hulle kan oorsteek !!). Daarom het ek daaraan gedink om iets te maak wat u waarsku as u naby hierdie kwesbare plekke kom, sodat u versigtig kan ry.

Die stelsel bestaan uit twee dele: Data -insameling en data -opsporing. Die eerste deel neem die liggingsdata, dit wil sê die plekke waar die kans groter is dat diere kruis. Hierdie data moet handmatig bygevoeg word en op 'n kaart opgedateer word. Laasgenoemde deel neem ons huidige ligging in en vergelyk dit dan met die versamelde data, en gepaste kennisgewings of waarskuwings word verskaf.

Voorrade

Hardeware gebruik

ESP8266 WiFi -ontwikkelingsbord

Ublox NEO-6M GPS-module

LED's

Kort drukknop

Sagteware gebruik

Arduino IDE

Enige JavaScript -redakteur

Firebase (vir die berging en herwinning van data)

Stap 1: Die hardeware -eenheid

Die hardeware moet op twee maniere (modi) werk: 1) Stoor die ligging in die databasis: dit is 'n belangrike deel van die data -insamelingsproses; die ligging wat deur die GPS -module opgespoor word, word via 'n ESP8266 WiFi -ontwikkelbord na die vuurbasisdatabasis gestuur.

2) Gee kennisgewings tydens navigasie: Tydens navigasie word die huidige ligging opgespoor en na die databasis gestuur. By elke opdatering van die ligging word die afstand tussen die huidige ligging en die liggings (wat tydens die data -insameling gestoor is) bereken en word dit herwin deur die ESP8266 -module, wat die gebruiker dan waarsku oor hoe naby die gebruiker van die gestoorde liggings is.

Ek het drie LED's bygevoeg om die verandering in modusse in kennis te stel, sowel as 'n suksesvolle opdatering van die databasis en 'n waarskuwingslamp om die nabyheid van die gebruiker aan die gestoorde ligging in kennis te stel.

Die drukknoppie word gebruik om die ligging met net een klik op te slaan (in die winkel/data -insamelingsmodus) en ook om tussen hierdie modusse te wissel.

Krag

Aanvanklik is 'n 3,7V 300mAh Lipo -battery gebruik, maar dit het probleme opgelewer. Die grootste probleem was die herstel van ESP8266 (kan te wyte wees aan die huidige styging). Die battery het ook nie veel gehou nie. Uiteindelik het 'n powerbank my gered.

Stap 2: Skakel

Kring
Kring

Stap 3: Oor Firebase

Oor Firebase
Oor Firebase
Oor Firebase
Oor Firebase
Oor Firebase
Oor Firebase
Oor Firebase
Oor Firebase

Firebase is 'n platform vir ontwikkeling van mobiele en webtoepassings, wat deur Google besit word. Dit het baie funksies, maar hier gebruik ek slegs twee daarvan, Realtime Database en Cloud Functions.

Om met Firebase te begin, 1. Gaan eers na die vuurbank -webwerf.

2. Navigeer nou na die konsole en klik op skep 'n nuwe projek.

3. U moet 'n projeknaam saam met ander besonderhede verskaf om 'n projek te skep.

4. Nadat die projek geskep is, klik op die databasis opsie in die syvenster om 'n nuwe databasis te skep.

5. Doen dieselfde vir die funksies.

Dit is algemene stappe om 'n projek te skep, die vuurbasis is goed gedokumenteer en daar is baie YouTube -video -reekse vir beginners. Gaan asseblief deur om meer te verstaan.

Stap 4: Intydse databasis

Intydse databasis
Intydse databasis
Intydse databasis
Intydse databasis

Nadat u die databasis geskep het, is die volgende stap om te sien hoe data in die databasis gestoor word en wat verkry kan word. Om die databasisreëls op te stel of te lees van/na die databasis. Vir die ontwikkelingsdoeleindes kan ons 'n oop reël gebruik sodat almal met die databasisverwysing kan lees/skryf, maar wees versigtig tydens die opstel van die reëls. Die databasis stoor die data in die JSON -formaat en word gesinkroniseer met alle toestelle wat aan die U kan kinderknope byvoeg met die '+' teken, maar nodes kan ook programmaties gegenereer word. Al die data wat ons in die 'winkel' -modus na die databasis oplaai (stoor versamelde ligging) word hier as aparte nodusse gestoor, terwyl die data in die' kennisgewing' -modus (data na navigasie ophaal) elke keer opgedateer word (kyk na die prentjie).

Stap 5: Die opstel van Firebase -funksies

Die opstel van Firebase -funksies
Die opstel van Firebase -funksies
Die opstel van Firebase -funksies
Die opstel van Firebase -funksies
Die opstel van Firebase -funksies
Die opstel van Firebase -funksies

Ons het iets nodig om die nabyheid van die huidige ligging met die gestoorde liggings te bereken, en die funksies wat deur die agtergronddatabasis veroorsaak word, sal ons werk doen. Funksies word in javascript geskryf en moet op die vuurbasis ontplooi word.

Node.js moet op u rekenaar geïnstalleer wees.

1) Laai nou die firebase -opdragreël -koppelvlak af met die opdrag "npm install -g firebase -tools" op u opdragprompt

2) Nou moet u by die firebase aanmeld met die opdrag "firebase login" (u moet u gmail -wagwoord gee as u nog nie aangemeld is nie)

3) Gaan daarna na u projekgids en begin die funksie met die opdrag "firebase init". U sal die opsie 'funksies' moet kies om die basisbasisfunksies vir u projek te begin.

4) Nou moet u na die gids 'funksies' in u projekgids gaan en die 'index.js' -lêer vind.

5) Wysig die lêer met 'n teksredakteur en redigeer die lêer/vervang die lêer met mappifier_function.txt. (Dit sou effektief ons funksie wees)

6) Gebruik u funksie uiteindelik met behulp van 'firebase deploy' op die opdragprompt.

U kan kyk of die funksie ontplooi is onder die funksie -kieslys op u firebase -konsole

Stap 6: Kode

Kode
Kode
Kode
Kode
Kode
Kode

Vir ESP8266:

Die bord maak verbinding met die WiFi en Firebase met behulp van geloofsbriewe en wag vir 'n druk op die knoppie. Afhangende van die duur van die druk op die knoppie, word verskillende modusse begin. In die data -insamelingsmodus (laat ons hierdie "stoor" -modus noem), sal elke druk op die knoppie daartoe lei dat die huidige posisie na die databasis gestuur word, terwyl die huidige ligging in die data -opsporingsmodus ("kennisgewingsmodus") na die databasis gestuur word en afstand word outomaties uit die databasis gehaal. Ek het LED's bygevoeg vir waarskuwings (nabyheid aan gemerkte ligging) en kennisgewing (soos GPS -oplossing, WiFi -verbinding, suksesvolle databasis skryf, modusverandering, ens.).

Vir Firebase -funksie:

Hierdie funksie kyk na 'n skryf na die 'huidige ligging' knoop op die databasis en bereken die afstand tussen die liggings op die databasis en die huidige ligging en vind dan die kleinste afstand wat dan na die 'afstand' knoop op die databasis geskryf word.

Onthou om u wifi -geloofsbriewe en firebase -verifikasiebewyse by te voeg voordat u u program oplaai. (Sien die prente). As u nog nie ESP8266 is nie en dit op Arduino IDE wil kodeer, verwys dan na hierdie.

Stap 7: Opsionele stap (bou van 'n omheining)

Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)
Opsionele stap (bou van 'n omheining)

Om die hardeware -deel kompak te maak sodat dit gemonteer kan word, het ek 'n klein omhulsel gemaak om dit binne te pas. 'N Paar gate is gemaak om die LED's te monteer en om die USB -kabel aan te sluit. Maar die finale omhulsel was bo my verwagtinge !! Dit pas perfek in my handpalm, en dit is baie maklik om op die fietshandvatsel en op die stuurwiel te monteer.

Stap 8: In aksie …

Hier is 'n klein video wat albei modusse (winkel en kennisgewing) demonstreer met waarskuwings- en kennisgewing -LED's.

Stap 9: Verder beweeg …

Beweeg verder…
Beweeg verder…

Hierdie stelsel kan vir verskillende doeleindes gebruik word, byvoorbeeld, in die lig van die huidige scenario; as u die ligging van siektes kan versprei en in 'n databasis kan stoor, sal hierdie stelsel waarskuwings verskaf wanneer u nader aan die liggings is. Maar ek dink ernstig daaraan om data van oor die hele wêreld oor te dra om bestuurders versigtig te maak en om baie diere van ongelukke te red. Ek het 'n eenvoudige webblad gemaak (maar nog nie gehuisves nie) met al die data wat ek versamel het. Dit is die data wat ek versamel het tydens loop of fietsry (wanneer ek 'n kat of hond langs die pad kry, aangesien hulle meer geneig is om oor te steek), maar ons benodig baie meer data om dit te implementeer.

Ek is redelik nuut in die maak van webblaaie (hoofsaaklik javascript) en ander goed, en ek sal graag u voorstelle en kundigheid wil hê:)

Aanbeveel: