Satura rādītājs:
- Piegādes
- 1. darbība: aparatūras vienība
- 2. solis: ķēde
- 3. darbība. Par Firebase
- 4. darbība: reāllaika datu bāze
- 5. darbība. Firebase funkciju iestatīšana
- 6. darbība: kods
- 7. darbība. Neobligāts solis (norobežojuma izveide)
- 8. darbība: darbībā…
- 9. solis. Virzieties tālāk…
Video: Mappifier - Mapping + Notification System: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Braukšana naktī ir diezgan jautra. Bet bieži vien tas izrādās murgs, dzīvnieku veidā, kas šķērso ceļu (īpaši tie klaiņojošie kaķi un suņi, kuri gaida, kad jūs piebrauksit pie viņiem, lai viņi varētu šķērsot !!). Tāpēc es izdomāju uztaisīt kaut ko tādu, kas brīdina, kad esat tuvu šīm neaizsargātajām vietām, lai varētu braukt uzmanīgāk.
Sistēmai ir divas daļas: datu vākšana un datu atgūšana. Pirmajā daļā tiek ņemti dati par atrašanās vietu, tas ir, vietās, kur pastāv lielāka dzīvnieku šķērsošanas varbūtība. Šie dati jāpievieno manuāli un jāatjaunina kartē. Pēdējā daļa ņem mūsu pašreizējo atrašanās vietu un pēc tam salīdzina to ar savāktajiem datiem, un tiek sniegti atbilstoši paziņojumi vai brīdinājumi.
Piegādes
Izmantota aparatūra
ESP8266 WiFi izstrādes dēlis
Ublox NEO-6M GPS modulis
Gaismas diodes
Mirkļa spiedpoga
Izmantotā programmatūra
Arduino IDE
Jebkurš JavaScript redaktors
Firebase (datu glabāšanai un izgūšanai)
1. darbība: aparatūras vienība
Aparatūrai ir jādarbojas divos veidos (režīmos): 1) Saglabājiet atrašanās vietu datu bāzē: Šī ir galvenā datu vākšanas procesa daļa; GPS moduļa izgūtā atrašanās vieta tiek nosūtīta uz Firebase datu bāzi, izmantojot ESP8266 WiFi izstrādes plati.
2) Sniedziet paziņojumus navigācijas laikā: navigācijas laikā pašreizējā atrašanās vieta tiek izgūta un nosūtīta uz datu bāzi. Pēc katras atrašanās vietas atjaunināšanas tiek aprēķināts attālums starp pašreizējo atrašanās vietu un tām vietām (kas tika saglabātas datu vākšanas procesā), un to atgūst ESP8266 modulis, kas pēc tam brīdina lietotāju atbilstoši tam, cik tuvu lietotājs atrodas no šīm saglabātajām vietām.
Es pievienoju trīs gaismas diodes, lai paziņotu par režīmu maiņu, kā arī veiksmīgu datu bāzes atjaunināšanu un brīdinājuma lampu, lai paziņotu par lietotāja tuvumu saglabātajai vietai.
Spiedpoga tiek izmantota, lai saglabātu atrašanās vietu tikai ar vienu klikšķi (veikala/datu vākšanas režīmā), kā arī lai pārslēgtos starp šiem režīmiem.
Barošana
Sākotnēji tika izmantots 3.7V 300mAh Lipo akumulators, taču tas radīja dažas problēmas. Galvenā problēma bija ESP8266 atiestatīšana (iespējams, pašreizējo tapas dēļ). Arī akumulators neizturēja daudz. Beidzot man palīdzēja spēka banka.
2. solis: ķēde
3. darbība. Par Firebase
Firebase ir mobilo un tīmekļa lietojumprogrammu izstrādes platforma, kas pieder Google. Tam ir daudz funkciju, taču šeit es izmantoju tikai divas no tām - reāllaika datu bāzi un mākoņa funkcijas.
Lai sāktu darbu Firebase, 1. Vispirms dodieties uz firebase tīmekļa vietni.
2. Tagad dodieties uz konsoli un noklikšķiniet uz Izveidot jaunu projektu.
3. Lai izveidotu projektu, jums jānorāda projekta nosaukums kopā ar citu informāciju.
4. Kad projekts ir izveidots, noklikšķiniet uz datu bāzes opcijas sānu rūtī, lai izveidotu jaunu datu bāzi.
5. Dariet to pašu attiecībā uz funkcijām.
Šie ir vispārīgi projekta izveides soļi, firebase ir labi dokumentēta, un ir daudz youtube video sēriju iesācējiem, laipni lūdzam, lai saprastu vairāk.
4. darbība: reāllaika datu bāze
Pēc datu bāzes izveides nākamais solis ir noskaidrot, kā tiek glabāti datu bāzes dati un vai tiem var piekļūt. Lai rakstītu vai lasītu datu bāzē/no tās, jums jākonfigurē datu bāzes noteikumi. Izstrādes nolūkos mēs varam izmantot atvērtu kārtulu, lai ikviens, kam ir atsauce uz datu bāzi, varētu lasīt/rakstīt, taču, rīkojoties ar noteikumiem, esiet piesardzīgs. Datu bāze saglabā datus JSON formātā un tiek sinhronizēta ar visām ierīcēm, kas ir savienotas ar datu bāzi. Jūs varat pievienot mezglus, izmantojot zīmi "+", bet mezglus var ģenerēt arī programmatiski. Visi dati, ko mēs augšupielādējam datu bāzē “veikala” režīmā (savāktās atrašanās vietas saglabāšana), tiek saglabāti šeit kā atsevišķi mezgli, savukārt “paziņojuma” režīmā (dati tiek izgūti navigācijas laikā) dati tiek atjaunināti katru reizi (pārbaudiet attēlu).
5. darbība. Firebase funkciju iestatīšana
Mums ir nepieciešams kaut kas, lai aprēķinātu pašreizējās atrašanās vietas tuvumu saglabātajām vietām, un fona datu bāzes aktivizētās funkcijas darītu savu darbu. Funkcijas ir rakstītas javascript, un tās ir jāizvieto firebase.
Jūsu datorā jābūt instalētai node.js.
1) Tagad lejupielādējiet firebase komandrindas saskarni, izmantojot komandu uzvednē komandu "npm install -g firebase -tools"
2) Tagad jums ir jāpiesakās firebase, izmantojot komandu "firebase login" (ja neesat pieteicies, jums jānorāda sava Gmail pieteikšanās parole)
3) Pēc tam dodieties uz savu projektu direktoriju un sāciet funkciju ar komandu "firebase init". Lai sāktu projekta Firebase funkcijas, jums jāizvēlas opcija “funkcijas”.
4) Tagad jums ir jādodas uz mapi "funkcijas" jūsu projekta direktorijā un jāatrod fails "index.js".
5) Rediģējiet failu ar teksta redaktoru un rediģējiet failu/aizstājiet failu ar mappifier_function.txt. (Tā faktiski būtu mūsu funkcija)
6) Visbeidzot izvietojiet savu funkciju, komandrindā izmantojot "firebase disloy".
Firebase konsoles funkciju izvēlnē varat pārbaudīt, vai funkcija ir izvietota
6. darbība: kods
ESP8266:
Tāfele izveido savienojumu ar WiFi un Firebase, izmantojot akreditācijas datus, un gaida spiedpogas nospiešanu. Atkarībā no pogas nospiešanas ilguma tiek aktivizēti dažādi režīmi. Datu vākšanas režīmā (sauksim šo “veikala” režīmu), katra pogas nospiešana novedīs pie tā, ka pašreizējā pozīcija tiks nosūtīta uz datu bāzi, savukārt datu izguves režīmā (“paziņošanas režīms”) pašreizējā atrašanās vieta tiek nosūtīta uz datu bāzi un attālums tiek automātiski iegūts no datu bāzes. Es pievienoju gaismas diodes brīdinājumiem (tuvums atzīmētajai vietai) un paziņojumiem (piemēram, GPS labojums, WiFi savienojums, veiksmīga datu bāzes rakstīšana, režīma maiņa utt.).
Firebase funkcijai:
Šī funkcija pārbauda, vai datu bāzē nav ierakstīts “pašreizējās atrašanās vietas” mezgls, un aprēķina attālumu starp atrašanās vietām datu bāzē un pašreizējo atrašanās vietu un pēc tam atrod mazāko attālumu, kas pēc tam tiek ierakstīts datu bāzes “attāluma” mezglā.
Pirms programmas augšupielādes neaizmirstiet pievienot savus wifi akreditācijas datus un Firebase autentifikācijas datus. (Lūdzu, skatiet attēlus). Tāpat, ja esat jauns ESP8266 lietotājs un kodējat tos Arduino IDE, skatiet tos.
7. darbība. Neobligāts solis (norobežojuma izveide)
Lai aparatūras daļu padarītu kompaktu, lai to varētu uzstādīt, es izveidoju nelielu korpusu, lai tos ievietotu iekšpusē. Tika izveidoti pāris caurumi, lai uzstādītu gaismas diodes un pievienotu USB kabeli. Bet galīgais iežogojums pārsniedza manas cerības !! Tas lieliski iederējās plaukstas iekšpusē, un to bija ļoti viegli uzstādīt uz velosipēda roktura un stūres.
8. darbība: darbībā…
Šeit ir neliels video, kurā demonstrēti abi režīmi (veikals un paziņojums) ar brīdinājuma un paziņojumu gaismas diodēm.
9. solis. Virzieties tālāk…
Šo sistēmu var izmantot dažādiem mērķiem, piemēram, ņemot vērā pašreizējo scenāriju, ja jūs varat iegūt slimības izplatīšanās vietas un saglabāt to datu bāzē, šī sistēma sniegs brīdinājumus, kad esat tuvāk šīm vietām. Bet es nopietni domāju iegūt datus par dzīvnieku šķērsošanu no visas pasaules, lai autovadītāji būtu piesardzīgi un daudzus dzīvniekus glābtu no negadījumiem. Esmu izveidojis vienkāršu tīmekļa lapu (bet vēl neesmu mitināta), kurā ir visi savāktie dati. Šie ir dati, ko apkopoju pastaigu vai riteņbraukšanas laikā (ikreiz, kad ceļmalā atrodu kaķi vai suni, jo tie ir vairāk pakļauti šķērsošanai), taču mums ir vajadzīgs daudz vairāk datu, lai to īstenotu.
Esmu diezgan jauns tīmekļa lapu (galvenokārt javascript) veidošanā un vēlos saņemt jūsu ieteikumus un zināšanas:)