Përmbajtje:

Vizualizimi i të dhënave të transportit me Google Map: 6 hapa
Vizualizimi i të dhënave të transportit me Google Map: 6 hapa

Video: Vizualizimi i të dhënave të transportit me Google Map: 6 hapa

Video: Vizualizimi i të dhënave të transportit me Google Map: 6 hapa
Video: Универсальная и интерактивная карта-диаграмма, которая работает в любой версии Excel 🔝 2024, Nëntor
Anonim
Vizualizimi i të dhënave të transportit me Google Map
Vizualizimi i të dhënave të transportit me Google Map

Zakonisht duam të regjistrojmë të dhëna të ndryshme gjatë biçikletës, këtë herë përdorëm Wio LTE të ri për t'i gjurmuar ato.

Hapi 1: Gjërat e përdorura në këtë projekt

Komponentët e hareware

  • Wio LTE EU Version v1.3- 4G, Cat.1, GNSS, Espruino Compatible
  • Grove - Sensor i Shkallës së Zemrës të klipit të veshit
  • Grove - 16 x 2 LCD (E zezë në të verdhë)

Aplikacionet softuerike dhe shërbimet online

  • Arduino IDE
  • PubNub Publikimi/Abonimi API
  • hartat e Google

Hapi 2: Histori

Image
Image

Hapi 3: Lidhja e harduerit

Konfigurimi i uebit
Konfigurimi i uebit

Instaloni antena GPS dhe LTE në Wio LTE dhe lidhni kartën tuaj SIM me të. Lidhni Sensorin e Rrahjeve të Zemrës të kapësit të veshit dhe LCD 16x2 me portën D20 dhe I2C të Wio LTE.

Mund ta ndryshoni Sensorin e Rrahjeve të Zemrës të kapësit të veshit me sensorë të tjerë që ju pëlqejnë. Ju lutemi shihni fundin e këtij artikulli.

Hapi 4: Konfigurimi i Uebit

Pjesa 1: PubNub

Klikoni këtu identifikohuni ose regjistroni një llogari PubNub, PubNub përdoret për të transmetuar të dhëna në kohë reale në hartë.

Hapni Demo Project në PubNub Admin Portal, do të shihni një Çelës Publikimi dhe një Çelës Abonimi, mbajini mend për programimin e softuerit.

Pjesa 2: Google Map

Ju lutemi ndiqni këtu për të marrë një çelës API të Hartës Google, ai do të përdoret gjithashtu në programimin e softuerëve.

Hapi 5: Programimi i softuerit

Programim Softuerësh
Programim Softuerësh

Pjesa 1: Wio LTE

Meqenëse nuk ka bibliotekë PubNub për Wio LTE, ne mund t'i dërgojmë të dhënat tona nga kërkesa HTTP, shiko Dokumentin API PubNub REST.

Për të bërë një lidhje HTTP përmes kartës suaj SIM të lidhur në Wio LTE, duhet së pari të vendosni APN -në tuaj, nëse nuk e dini këtë, ju lutemi kontaktoni operatorët tuaj celular.

Dhe pastaj, vendosni Çelësin tuaj Publik PubNub, Çelësin e Abonimit dhe Kanalin. Kanali këtu, përdoret për të dalluar Botuesit dhe Abonentët. Për shembull, ne përdorim biçikletën e kanalit këtu, të gjithë Abonentët në biçikletën e kanalit do të marrin mesazhe që kemi publikuar.

Cilësimet e mësipërme, ne nuk i kemi paketuar në klasë, në mënyrë që t'i modifikoni ato në bike.ino më lehtë, mund t'i shkarkoni këto kode nga fundi i këtij artikulli.

Pjesa 2: PubNub

Shtypni dhe mbani butonin Boot0 në Wio LTE, lidheni atë me kompjuterin tuaj përmes një kabllo USB, ngarkoni programin në Arduino IDE, shtypni butonin Reset në Wio LTE.

Pastaj kthehuni te PubNub, klikoni Debug Console në Demo Project, plotësoni emrin e kanalit tuaj në Default Channel, klikoni Add Client.

Kur shihni [1, "Abonuar", "biçikletë"] në tastierë, Abonenti u shtua me sukses. Prisni pak, do të shihni që të dhënat e Wio LTE të shfaqen në tastierë.

Pjesa 3: Google Map

Hartat ENO janë harta në kohë reale me PubNub dhe MapBox, mund të përdoren gjithashtu për PubNub dhe Google Map, mund ta shkarkoni nga GitHub-i i saj.

Ju thjesht mund të përdorni një shembull të quajtur google-draw-line.html në dosjen e shembujve, thjesht modifikoni Publish Key, Subscribe Key, Channel dhe Google Key në rreshtat 29, 30, 33 dhe 47.

SH NOTNIM: Ju lutemi komentoni rreshtin 42, ose do të dërgojë të dhëna simulimi në PubNub -in tuaj.

Nëse dëshironi të shfaqni tabelën e rrahjeve të zemrës në koenerin e poshtëm të djathtë, mund të përdorni Chart.js, mund të shkarkohet nga Uebfaqja e tij, ta vendosni në dosjen rrënjësore të ENO Maps dhe ta përfshini në kokën e google-draw-line.html Me

Dhe shtoni një kanavacë në një div për të shfaqur tabelën:

Pastaj krijoni dy vargje për të mbajtur të dhënat e grafikut

//… var chartLabels = Array e re (); var chartData = re Array (); //…

Midis tyre, chartLabels përdoret për të mbajtur të dhënat e vendndodhjes, chartData përdoret për të mbajtur të dhënat e rrahjeve të zemrës. Kur të vijnë mesazhet, shtyni tek ata të dhëna të reja dhe rifreskoni tabelën.

//… harta var); var ctx = document.getElementById ("tabelë"). getContext ('2d'); var chart = tabelë e re (ctx, {type: 'line', të dhëna: {etiketat: chartLabels, grupet e të dhënave: [{label: " Rrahjet e zemrës ", të dhënat: chartData}]}}); //…}});

Të gjitha të përfunduara. Mundohuni ta merrni me biçikletën tuaj herën tjetër.

Hapi 6: Si të punoni me Sensor Grove të tjerë?

Në programin e Wio LTE, ju mund të merrni një dhe më shumë të dhëna të personalizuara për t'u shfaqur në tabelë ose të bëni më shumë. Artikulli i mëposhtëm tregon se si të modifikoni programin për ta arritur atë.

Gjëja e parë që duhet të dini është, json që dëshironi të publikoni në PubNub, duhet të jetë i koduar me url. Json i koduar është i koduar në klasën BikeTracker, duket kështu:

%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f %% 5d %% 2c %% 22data %% 22 %% 3a%d %% 7d %% 5d

Pra, është e lehtë të marrësh një të dhënë të personalizuar, ose mund të përdorësh mjete të koduara me url për të bërë json-in tënd të koduar për të marrë më shumë të dhëna.

Këtë herë ne përpiqemi të përdorim I2C High Accracy Temp & Humi Grove për të zëvendësuar Heart Rate Grove. Për shkak se LCD Grove gjithashtu përdor I2C, ne përdorim një Qendër I2C për të lidhur Temp & Humi Grove dhe LCD Grove me Wio LTE.

Pastaj përfshini skedarin kokë në BickTracker.h, dhe shtoni një variabël dhe një metodë në klasën BikeTracker për të ruajtur dhe matur temperaturën.

/// BikeTracker.h

//… # #përfshijë aplikacionin e klasës "Seeed_SHT35.h":: BikeTracker: application:: interface:: IApplication {// … mbrojtur: // … SHT35 _sht35; noton _temperatura; //… void MeasureTemperature (i pavlefshëm); } /// BikeTracker.cpp //… // BikeTracker:: BikeTracker (e pavlefshme) //: _ethernet (Ethernet ()), _gnss (GNSS ()) {} // 21 është numri i kunjit SCL BikeTracker:: BikeTracker (i zbrazët): _ethernet (Ethernet ()), _gnss (GNSS ()), _sht35 (SHT35 (21)) {} //… void BikeTracker:: masëTemperatura (e pavlefshme) {temperatura e notimit, lagështia; nëse (_sht35.read_meas_data_single_shot (HIGH_REP_WITH_STRCH, & temperatura dhe lagështia) == NO_ERROR) {_temperatura = temperatura; }} //…

Nëse dëshironi, mund të ndryshoni ekranin LCD në metodën Loop ():

// sprintf (rreshti 2, "Ritmi i zemrës: %d", _heartRate);

MeasureTemperature (); sprintf (rreshti2, "Temp: %f", _temperatura);

Por si ta publikoni atë në PubNub? Ju duhet të ndryshoni parametrat e koduar të funksionit json dhe sprintf () në metodën PublishToPubNub (), le të duket kështu:

// sprintf (cmd, "GET/publiko/%s/%s/0/%s/0/%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f% %5d %% 2c %% 22data %% 22 %% 3a%d %% 7d %% 5d? Store = 0 HTTP/1.0 / n / r / n / r ", // _publishKey, _subscribeKey, _channel, _latitude, _longitude, _heartRate); sprintf (cmd, "GET/publiko/%s/%s/0/%s/0/%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b%f %% 2c%f %% 5d %% 2c %% 22data %% 22 %% 3a%f %% 7d %% 5d? Store = 0 HTTP/1.0 / n / r / n / r ", _publishKey, _subscribeKey, _channel, _latitude, _litude, _temperature);

Pastaj mund të shihni temperaturën në tastierën e korrigjimit të PubNub.

Recommended: