Satura rādītājs:

Transporta datu vizualizācija, izmantojot Google karti: 6 soļi
Transporta datu vizualizācija, izmantojot Google karti: 6 soļi

Video: Transporta datu vizualizācija, izmantojot Google karti: 6 soļi

Video: Transporta datu vizualizācija, izmantojot Google karti: 6 soļi
Video: Картирование потока создания ценности. Бережливое производство. Управление изменениями 2024, Novembris
Anonim
Transporta datu vizualizācija, izmantojot Google karti
Transporta datu vizualizācija, izmantojot Google karti

Riteņbraukšanas laikā parasti vēlamies ierakstīt dažādus datus, šoreiz to izsekošanai izmantojām jaunu Wio LTE.

1. darbība. Šajā projektā izmantotās lietas

Hareware komponenti

  • Wio LTE EU versija v1.3- 4G, Cat.1, GNSS, Espruino saderīga
  • Grove - ausu skavas sirdsdarbības sensors
  • Grove - 16 x 2 LCD (melns uz dzeltena)

Programmatūras lietotnes un tiešsaistes pakalpojumi

  • Arduino IDE
  • PubNub publicēšanas/abonēšanas API
  • Google kartes

2. darbība: stāsts

Image
Image

3. darbība. Aparatūras savienojums

Tīmekļa konfigurācija
Tīmekļa konfigurācija

Instalējiet GPS un LTE antenas Wio LTE un pievienojiet tai SIM karti. Pievienojiet ausu skavas sirdsdarbības sensoru un 16x2 LCD Wio LTE D20 un I2C portam.

Jūs varat nomainīt ausu skavas sirdsdarbības sensoru uz citiem sensoriem, kas jums patīk. Lūdzu, skatiet šī raksta beigas.

4. darbība: tīmekļa konfigurācija

1. daļa: PubNub

Noklikšķiniet šeit, piesakieties vai reģistrējiet PubNub kontu, PubNub tiek izmantots reāllaika datu pārsūtīšanai kartē.

PubNub administrēšanas portālā atveriet demonstrācijas projektu, jūs redzēsit publicēšanas atslēgu un abonēšanas atslēgu, atcerieties tos programmatūras programmēšanai.

2. daļa: Google karte

Lūdzu, sekojiet šeit, lai iegūtu Google kartes API atslēgu, tā tiks izmantota arī programmatūras programmēšanā.

5. solis: programmatūras programmēšana

Programmatūras programmēšana
Programmatūras programmēšana

1. daļa: Wio LTE

Tā kā Wio LTE nav PubNub bibliotēkas, mēs varam nosūtīt savus datus no HTTP pieprasījuma, skatiet PubNub REST API dokuments.

Lai izveidotu HTTP savienojumu, izmantojot SIM karti, kas ir pievienota Wio LTE, vispirms iestatiet savu APN, ja to nezināt, lūdzu, sazinieties ar saviem mobilo sakaru operatoriem.

Pēc tam iestatiet PubNub publicēšanas atslēgu, abonēšanas atslēgu un kanālu. Šeit esošais kanāls tiek izmantots, lai atšķirtu izdevējus un abonentus. Piemēram, šeit mēs izmantojam kanāla velosipēdu, visi abonenti kanāla velosipēdā saņems mūsu publicētos ziņojumus.

Iepriekš minētos iestatījumus mēs neiesaiņojām klasē, lai jūs varētu vieglāk tos mainīt vietnē bike.ino, šos kodus varat lejupielādēt no šī raksta beigām.

2. daļa: PubNub

Wio LTE nospiediet un turiet Boot0 taustiņu, pievienojiet to datoram, izmantojot USB kabeli, augšupielādējiet programmu Arduino IDE, nospiediet Reset taustiņu Wio LTE.

Pēc tam pagriezieties uz PubNub, demonstrācijas projektā noklikšķiniet uz atkļūdošanas konsoles, noklusējuma kanālā ievadiet sava kanāla nosaukumu un noklikšķiniet uz Pievienot klientu.

Kad konsolē redzat [1, "Abonēts", "velosipēds"], abonents tika veiksmīgi pievienots. Pagaidiet kādu brīdi, un konsole parādīsies Wio LTE dati.

3. daļa: Google karte

ENO Maps ir reālā laika kartes ar PubNub un MapBox, to var izmantot arī PubNub un Google Map, jūs varat to lejupielādēt no vietnes GitHub.

Piemēru mapē varat vienkārši izmantot piemēru ar nosaukumu google-draw-line.html, 29., 30., 33. un 47. rindā vienkārši pārveidojiet publicēšanas atslēgu, abonēšanas atslēgu, kanālu un Google atslēgu.

PAZIŅOJUMS: lūdzu, komentējiet 42. rindiņu, pretējā gadījumā tā nosūtīs simulācijas datus uz jūsu PubNub.

Ja vēlaties rādīt sirds ritma diagrammu apakšējā labajā savienotājā, varat izmantot Chart.js, to var lejupielādēt no savas vietnes, ievietot ENO Maps saknes mapē un iekļaut google-draw-line.html galvgalī.

Un pievienojiet audeklu div, lai parādītu diagrammu:

Pēc tam izveidojiet divus masīvus, lai saglabātu diagrammas datus

//… var chartLabels = new Array (); var chartData = jauns masīvs (); //…

Starp tiem chartLabels tiek izmantots, lai saglabātu atrašanās vietas datus, chartData - lai saglabātu sirdsdarbības datus. Kad tiek saņemti ziņojumi, nosūtiet tiem jaunus datus un atsvaidziniet diagrammu.

//… var map = eon.map ({ziņojums: funkcija (ziņojums, laika grafiks, kanāls) {//… chartLabels.push (obj2string (ziņojums [0].latlng))); chartData.push (ziņojums [0].data); var ctx = document.getElementById ("chart"). getContext ('2d'); var chart = new Chart (ctx, {type: 'line', data: {labels: chartLabels, datasets: [{label: " Sirdsdarbības ātrums ", dati: chartData}]}}); //…}});

Viss pabeigts. Nākamreiz mēģiniet to ņemt līdzi ar velosipēdu.

6. darbība. Kā strādāt ar citu sensoru birzi?

Wio LTE programmā varat ņemt vienu un vairākus pielāgotus datus, lai tos parādītu diagrammā, vai veikt vairāk. Šajā rakstā ir parādīts, kā modificēt programmu, lai to sasniegtu.

Pirmā lieta, kas jums jāzina, ir tas, ka json, kuru vēlaties publicēt PubNub, ir jāiekodē ar URL. Kodētais json ir grūti kodēts BikeTracker klasē, tas izskatās šādi:

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

Tāpēc ir viegli ņemt vienu pielāgotu informāciju vai izmantot url-kodēšanas rīkus, lai izveidotu savu kodēto json, lai iegūtu vairāk datu.

Šoreiz mēs mēģinām izmantot I2C High Accracy Temp & Humi Grove, lai aizstātu Heart Rate Grove. Tā kā LCD birzs izmanto arī I2C, mēs izmantojam I2C centrmezglu, lai savienotu Temp & Humi Grove un LCD Grove ar Wio LTE.

Pēc tam iekļaujiet galvas failu vietnē BickTracker.h un pievienojiet mainīgo un metodi BikeTracker klasei temperatūras saglabāšanai un mērīšanai.

/// BikeTracker.h

//… #include "Seeed_SHT35.h" klases lietojumprogramma:: BikeTracker: application:: interface:: IApplication {//… aizsargāts: //… SHT35 _sht35; pludiņš _temperatūra; //… void MeasureTemperature (void); } /// BikeTracker.cpp //… // BikeTracker:: BikeTracker (void) //: _ethernet (Ethernet ()), _gnss (GNSS ()) {} // 21 ir SCL pin numurs BikeTracker:: BikeTracker (void): _ethernet (Ethernet ()), _gnss (GNSS ()), _sht35 (SHT35 (21)) {} //… void BikeTracker:: meetTemperature (void) {pludiņa temperatūra, mitrums; if (_sht35.read_meas_data_single_shot (HIGH_REP_WITH_STRCH, & temperatūra un mitrums) == NO_ERROR) {_temperatūra = temperatūra; }} //…

Ja vēlaties, varat mainīt LCD displeju ar cilpas () metodi:

// sprintf (2. rindiņa, "Sirdsdarbības ātrums: %d", _heartRate);

Mērīt temperatūru (); sprintf (2. līnija, "Temperatūra: %f", _temperatūra);

Bet kā to publicēt PubNub? Jums ir jāmaina kodēto json un sprintf () funkciju parametri PublishToPubNub () metodē, ļaujiet tam izskatīties šādi:

// sprintf (cmd, "GET/publicēt/%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/publicēt/%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, _longitude, _temperature);

Pēc tam jūs varat redzēt temperatūru PubNub atkļūdošanas konsolē.

Ieteicams: