Përmbajtje:

Aplikuesi - Hartimi + Sistemi i Njoftimit: 9 Hapa
Aplikuesi - Hartimi + Sistemi i Njoftimit: 9 Hapa

Video: Aplikuesi - Hartimi + Sistemi i Njoftimit: 9 Hapa

Video: Aplikuesi - Hartimi + Sistemi i Njoftimit: 9 Hapa
Video: CS50 2013 - Week 2, continued 2024, Qershor
Anonim
Aplikuesi - Sistemi i hartave + njoftimeve
Aplikuesi - Sistemi i hartave + njoftimeve

Vozitja gjatë natës është shumë argëtuese. Por shpesh, rezulton të jetë një makth, në formën e kafshëve që kalojnë rrugën (veçanërisht ato mace dhe qen endacakë, të cilët presin që ju të vozitni pranë tyre në mënyrë që ata të kalojnë !!). Kështu që unë mendova të bëj diçka që ju paralajmëron kur të afroheni në këto vende të cenueshme, në mënyrë që të mund të vozisni më me kujdes.

Sistemi ka dy pjesë: Grumbullimi i të dhënave dhe marrja e të dhënave. Pjesa e parë merr të dhënat e vendndodhjes, ato janë vendet në të cilat ka më shumë mundësi të kalimit të kafshëve. Këto të dhëna duhet të shtohen me dorë dhe të përditësohen në një hartë. Pjesa e fundit merr vendndodhjen tonë aktuale dhe më pas krahasojeni atë me të dhënat e mbledhura dhe jepen njoftimet ose paralajmërimet e duhura.

Furnizimet

Hardueri i Përdorur

ESP8266 bordi i zhvillimit WiFi

Moduli GPS Ublox NEO-6M

LEDs

Butoni Momental i Shtypjes

Softueri i përdorur

Arduino IDE

Çdo redaktues JavaScript

Firebase (për ruajtjen dhe marrjen e të dhënave)

Hapi 1: Njësia e pajisjeve

Pajisja kërkohet të punojë në dy mënyra (mënyra): 1) Ruani vendndodhjen në bazën e të dhënave: Kjo është një pjesë kryesore në procesin e mbledhjes së të dhënave; vendndodhja e marrë nga moduli GPS dërgohet në bazën e të dhënave të bazës së zjarrit përmes një bordi të zhvillimit WiFi ESP8266.

2) Siguroni njoftime gjatë lundrimit: Gjatë lundrimit, vendndodhja aktuale merret dhe dërgohet në bazën e të dhënave. Me çdo azhurnim të vendndodhjes, distanca midis vendndodhjes aktuale dhe atyre vendndodhjeve (të cilat u ruajtën gjatë procesit të grumbullimit të të dhënave) llogaritet dhe rikuperohet nga moduli ESP8266 i cili më pas paralajmëron përdoruesin se sa afër është përdoruesi nga ato vende të ruajtura.

Shtova tre LED për të njoftuar ndryshimin e mënyrave, si dhe azhurnimin e suksesshëm në bazën e të dhënave dhe një llambë paralajmëruese për të njoftuar afërsinë e përdoruesit me vendin e ruajtur.

Butoni i shtypjes përdoret për të ruajtur vendndodhjen në vetëm një klik (në modalitetin e ruajtjes/mbledhjes së të dhënave) dhe gjithashtu për të ndryshuar midis këtyre mënyrave.

Fuqizimin

Fillimisht, u përdor një bateri 3.7V 300mAh Lipo, por paraqiti disa probleme. Problemi kryesor ishte rivendosja e ESP8266 (mund të jetë për shkak të goditjeve aktuale). Gjithashtu bateria nuk zgjati shumë. Më në fund një bankë fuqie më erdhi në ndihmë.

Hapi 2: Qarku

Qarku
Qarku

Hapi 3: Rreth Firebase

Rreth Firebase
Rreth Firebase
Rreth Firebase
Rreth Firebase
Rreth Firebase
Rreth Firebase
Rreth Firebase
Rreth Firebase

Firebase është një platformë për zhvillimin e aplikacioneve celular dhe në internet, në pronësi të Google. Ka shumë veçori, por këtu po përdor vetëm dy prej tyre, Baza e të Dhënave në Realtime dhe Funksionet Cloud.

Për të filluar në Firebase, 1. Së pari shkoni në faqen e internetit të firebase.

2. Tani lundroni në tastierë dhe klikoni në krijimin e një projekti të ri.

3. Ju duhet të jepni një emër projekti së bashku me detaje të tjera për të krijuar një projekt.

4. Pasi të krijohet projekti, klikoni në opsionin e bazës së të dhënave nga paneli anësor për të krijuar një bazë të dhënash të re.

5. Bëni të njëjtën gjë për funksionet.

Këto janë hapa të përgjithshëm për krijimin e një projekti, baza e zjarrit është e dokumentuar mirë dhe ka shumë seri video në youtube për fillestarët, me mirësi kaloni për të kuptuar më shumë.

Hapi 4: Baza e të dhënave në kohë reale

Baza e të dhënave në kohë reale
Baza e të dhënave në kohë reale
Baza e të dhënave në kohë reale
Baza e të dhënave në kohë reale

Pasi të keni krijuar bazën e të dhënave, hapi tjetër është të shihni se si ruhen dhe mund të arrihen të dhënat në bazën e të dhënave. Për të shkruar ose lexuar në/nga baza e të dhënave, duhet të konfiguroni rregullat e bazës së të dhënave. Për qëllimin e zhvillimit, ne mund të përdorim një rregull të hapur në mënyrë që kushdo me referencën e bazës së të dhënave të mund të lexojë/shkruajë, por të jetë i kujdesshëm gjatë konfigurimit të rregullave. Baza e të dhënave ruan të dhënat në formatin JSON dhe sinkronizohet me të gjitha pajisjet që janë të lidhura me baza e të dhënave. Ju mund të shtoni nyje fëmijë duke përdorur shenjën '+' por nyjet gjithashtu mund të gjenerohen në mënyrë programore. Të gjitha të dhënat që ngarkojmë në bazën e të dhënave në modalitetin 'dyqan' (ruajtja e vendndodhjes së mbledhur) ruhen këtu si nyje të veçanta ndërsa të dhënat në modalitetin 'njoftim' (marrja e të dhënave gjatë lundrimit) përditësohen çdo herë (kontrolloni imazhin).

Hapi 5: Vendosja e funksioneve të Firebase

Vendosja e funksioneve të Firebase
Vendosja e funksioneve të Firebase
Vendosja e funksioneve të Firebase
Vendosja e funksioneve të Firebase
Vendosja e funksioneve të Firebase
Vendosja e funksioneve të Firebase

Ne kemi nevojë për diçka për të llogaritur afërsinë e vendndodhjes aktuale me vendet e ruajtura, dhe funksionet e shkaktuara nga baza e të dhënave në sfond do të bënin punën tonë. Funksionet janë të shkruara në javascript dhe duhet të vendosen në bazën e zjarrit.

Ju duhet të keni node.js të instaluar në kompjuterin tuaj.

1) Tani shkarkoni ndërfaqen e linjës së komandës firebase duke përdorur komandën "npm install -g firebase -tools" në komandën tuaj

2) Tani ju duhet të identifikoheni në bazën e zjarrit duke përdorur komandën "hyrja në bazën e zjarrit" (Duhet të jepni fjalëkalimin tuaj të hyrjes në gmail nëse nuk jeni regjistruar tashmë)

3) Pas kësaj lundroni në drejtorinë e projektit tuaj dhe filloni funksionin me komandën "firebase init". Ju do të duhet të zgjidhni opsionin 'funksione' për fillimin e funksioneve të bazës së zjarrit për projektin tuaj.

4) Tani ju duhet të shkoni te dosja 'funksione' në drejtorinë e projektit tuaj dhe të gjeni skedarin 'index.js'.

5) Ndryshoni skedarin me një redaktues teksti dhe redaktoni skedarin/zëvendësoni skedarin me mappifier_function.txt. (Ky do të ishte efektivisht funksioni ynë)

6) Më në fund vendosni funksionin tuaj duke përdorur "vendosjen e bazës së zjarrit" në komandën e shpejtë.

Mund të kontrolloni nëse funksioni është vendosur nën menunë e funksioneve në tastierën tuaj të bazës së zjarrit

Hapi 6: Kodi

Kodi
Kodi
Kodi
Kodi
Kodi
Kodi

Për ESP8266:

Bordi lidhet me WiFi dhe Firebase duke përdorur kredencialet dhe pret për një shtypje të butonit. Sipas kohëzgjatjes së shtypjes së butonit, fillojnë mënyra të ndryshme. Në modalitetin e grumbullimit të të dhënave (le ta quajmë këtë mënyrë "dyqan"), çdo shtypje butoni do të çojë në dërgimin e pozicionit aktual në bazën e të dhënave ndërsa në modalitetin e marrjes së të dhënave ("mënyra e njoftimit"), vendndodhja aktuale i dërgohet bazës së të dhënave dhe distanca merret automatikisht nga baza e të dhënave. Shtova LED për paralajmërimet (afërsia me vendndodhjen e shënuar) dhe njoftimin (si rregullimi GPS, lidhja WiFi, shkrimi i suksesshëm i bazës së të dhënave, ndryshimi i modalitetit, etj.).

Për funksionin Firebase:

Ky funksion kontrollon për një shkrim në nyjen "vendndodhja aktuale" në bazën e të dhënave dhe llogarit distancën midis vendndodhjeve në bazën e të dhënave dhe vendndodhjen aktuale dhe pastaj gjen distancën më të vogël e cila më pas shkruhet në nyjen "distanca" në bazën e të dhënave.

Mos harroni të shtoni kredencialet tuaja wifi dhe kredencialet e autorizimit të firebase para se të ngarkoni programin tuaj. (Ju lutemi shikoni imazhet). Gjithashtu, nëse jeni i ri në ESP8266 dhe i kodoni ato në Arduino IDE, referojuni këtyre.

Hapi 7: Hapi Opsional (Ndërtimi i një Shtojce)

Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)
Hapi opsional (Ndërtimi i një rrethimi)

Në mënyrë që pjesa e harduerit të jetë kompakte në mënyrë që të mund të montohet, unë bëra një rrethim të vogël për t'i përshtatur ato brenda. U bënë disa vrima për të montuar LED -të dhe për të lidhur kabllon USB. Por mbyllja përfundimtare ishte përtej pritshmërive të mia !! Ai u vendos në mënyrë të përsosur brenda pëllëmbës sime, dhe ishte shumë lehtë i montueshëm në dorezën e ciklit dhe në timon.

Hapi 8: Në veprim…

Këtu është një video e vogël që demonstron të dyja mënyrat (ruani dhe njoftoni) me LED paralajmërues dhe njoftues.

Hapi 9: Lëvizja Më tej…

Lëvizja Më tej…
Lëvizja Më tej…

Ky sistem mund të përdoret për qëllime të ndryshme, për shembull, duke marrë parasysh skenarin aktual, nëse mund të merrni vendndodhjet e përhapjes së sëmundjes dhe ta ruani atë në një bazë të dhënash, paralajmërimet do të jepen nga ky sistem kur të jeni më afër atyre vendndodhjeve. Por unë jam duke menduar seriozisht të marr të dhëna për kalimin e kafshëve nga e gjithë bota për t'i bërë shoferët të kujdesshëm dhe për të shpëtuar shumë kafshë nga aksidentet. Unë kam bërë një faqe të thjeshtë në internet (por jo akoma të hostuar) e cila ka të gjitha të dhënat që kam mbledhur. Këto janë të dhënat që kam mbledhur gjatë shëtitjes ose çiklizmit (sa herë që gjej një mace ose qen në rrugë pasi ata janë më të prirur për të kaluar), por ne kemi nevojë për shumë më tepër të dhëna për ta zbatuar këtë.

Unë jam mjaft i ri në krijimin e faqeve në internet (kryesisht javascript) dhe sende të tjera dhe do të më pëlqente të kisha sugjerimet dhe ekspertizën tuaj:)

Recommended: