Cuprins:
- Pasul 1: Lucruri utilizate în acest proiect
- Pasul 2: Poveste
- Pasul 3: Conexiune hardware
- Pasul 4: Configurare web
- Pasul 5: Programare software
- Pasul 6: Cum să lucrați cu alt senzor Grove?
Video: Vizualizarea datelor de transport cu Google Map: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
De obicei, vrem să înregistrăm diferite date în timpul ciclismului, de data aceasta am folosit noul Wio LTE pentru a le urmări.
Pasul 1: Lucruri utilizate în acest proiect
Componente Hareware
- Compatibil cu Wio LTE versiunea UE v1.3- 4G, Cat.1, GNSS, Espruino
- Grove - Senzor de ritm cardiac cu clip pentru urechi
- Grove - LCD 16 x 2 (negru pe galben)
Aplicații software și servicii online
- IDE Arduino
- API PubNub Publish / Subscribe
- Hărți Google
Pasul 2: Poveste
Pasul 3: Conexiune hardware
Instalați antene GPS și LTE pe Wio LTE și conectați-vă cartela SIM la acesta. Conectați senzorul de ritm cardiac al clipului pentru urechi și ecranul LCD 16x2 la porturile D20 și I2C ale Wio LTE.
Puteți schimba senzorul de ritm cardiac al clipului pentru urechi cu alți senzori care vă plac. Vă rugăm să consultați sfârșitul acestui articol.
Pasul 4: Configurare web
Partea 1: PubNub
Faceți clic aici conectați-vă sau înregistrați un cont PubNub, PubNub este utilizat pentru a transmite date în timp real pe hartă.
Deschideți Demo Project în Portalul de administrare PubNub, veți vedea o cheie de publicare și o cheie de abonare, rețineți-le pentru programarea software-ului.
Partea 2: Google Map
Urmați aici pentru a obține o cheie API Google Map, aceasta va fi folosită și în programarea software.
Pasul 5: Programare software
Partea 1: Wio LTE
Deoarece nu există o bibliotecă PubNub pentru Wio LTE, putem trimite datele noastre din cererea HTTP, consultați Documentul API REST PubNub.
Pentru a face o conexiune HTTP prin intermediul cartelei SIM conectate la Wio LTE, ar trebui să setați mai întâi APN-ul dvs., dacă nu știți acest lucru, vă rugăm să contactați operatorii de telefonie mobilă.
Apoi, setați cheia de publicare PubNub, cheia de abonare și canalul. Canalul de aici este folosit pentru a diferenția editorii și abonații. De exemplu, folosim canalul bicicletei aici, toți Subcriberii din canalul canalului vor primi mesajele pe care le-am publicat.
Setările de mai sus, nu le-am împachetat în clasă, astfel încât să le puteți modifica mai ușor în bike.ino, puteți descărca aceste coduri de la sfârșitul acestui articol.
Partea 2: PubNub
Apăsați și mențineți apăsată tasta Boot0 în Wio LTE, conectați-o la computer printr-un cablu USB, încărcați programul în Arduino IDE, apăsați tasta Reset în Wio LTE.
Apoi, accesați PubNub, faceți clic pe Consola de depanare în Proiectul demonstrativ, completați numele canalului dvs. în canalul implicit, faceți clic pe Adăugare client.
Când vedeți [1, „Abonat”, „bicicletă”] în consolă, Abonatul a fost adăugat cu succes. Așteptați un timp, veți vedea datele Wio LTE apărând în consolă.
Partea 3: Harta Google
Hărțile ENO sunt hărți în timp real cu PubNub și MapBox, pot fi folosite și pentru PubNub și Google Map, o puteți descărca de pe GitHub.
Puteți utiliza pur și simplu un exemplu numit google-draw-line.html în folderul de exemple, doar să modificați cheia de publicare, cheia de abonare, canalul și cheia Google în rândurile 29, 30, 33 și 47.
ANUNȚ: Vă rugăm să comentați linia 42, sau va trimite datele de simulare la PubNub.
Dacă doriți să afișați graficul ritmului cardiac în coenerul din dreapta jos, puteți utiliza Chart.js, acesta poate fi descărcat de pe site-ul web, îl puteți pune în folderul rădăcină ENO Maps și îl puteți include în capul google-draw-line.html.
Și adăugați o pânză într-un div pentru a afișa graficul:
Apoi creați două tablouri pentru a păstra datele graficului
// … var chartLabels = new Array (); var chartData = new Array (); // …
Printre acestea, chartLabels este utilizat pentru păstrarea datelor de localizare, chartData este utilizat pentru păstrarea datelor despre ritmul cardiac. Când vin mesaje, împingeți date noi către ele și reîmprospătați graficul.
//… var map = eon.map ({mesaj: funcție (mesaj, calendar, canal) {//… chartLabels.push (obj2string (mesaj [0].latlng)); chartData.push (mesaj [0].data); var ctx = document.getElementById ("diagramă"). getContext ('2d'); var diagramă = diagramă nouă (ctx, {type: 'line', date: {labels: chartLabels, datasets: [{label: " Ritmul cardiac ", date: chartData}]}}); // …}});
Totul este gata. Încearcă să o iei cu bicicleta data viitoare.
Pasul 6: Cum să lucrați cu alt senzor Grove?
În programul Wio LTE, puteți lua una și mai multe date personalizate pentru a le afișa în diagramă sau puteți face mai multe. Următorul articol arată cum să modificați programul pentru a-l realiza.
Primul lucru pe care trebuie să-l știți este, json-ul pe care doriți să-l publicați în PubNub, ar trebui să fie codificat la adresa URL. Json codat este codat greu în clasa BikeTracker, arată astfel:
%% 5b %% 7b %% 22latlng %% 22 %% 3a %% 5b% f %% 2c% f %% 5d %% 2c %% 22data %% 22 %% 3a% d %% 7d %% 5d
Deci, este ușor să luați o singură dată personalizată sau puteți utiliza instrumente de codificare URL pentru a vă crea propriul json codificat pentru a lua mai multe date.
De această dată încercăm să folosim I2C High Accracy Temp & Humi Grove pentru a înlocui Heart Rate Grove. Deoarece LCD Grove folosește și I2C, folosim un hub I2C pentru a conecta Temp & Humi Grove și LCD Grove la Wio LTE.
Apoi includeți fișierul principal în BickTracker.h și adăugați o variabilă și o metodă la clasa BikeTracker pentru a stoca și măsura temperatura.
/// BikeTracker.h
// … #include aplicația din clasa „Seeed_SHT35.h”:: BikeTracker: application:: interface:: IApplication {//… protected: //… SHT35 _sht35; float _temperature; // … void MeasureTemperature (nul); } /// BikeTracker.cpp //… // BikeTracker:: BikeTracker (void) //: _ethernet (Ethernet ()), _gnss (GNSS ()) {} // 21 este numărul PIN SCL BikeTracker:: BikeTracker (void): _ethernet (Ethernet ()), _gnss (GNSS ()), _sht35 (SHT35 (21)) {} // … void BikeTracker:: measureTemperature (void) {temperatura de plutire, umiditate; if (_sht35.read_meas_data_single_shot (HIGH_REP_WITH_STRCH, & temperature, & umiditate) == NO_ERROR) {_temperature = temperature; }} // …
Dacă doriți, puteți schimba afișajul LCD în metoda Loop ():
// sprintf (linia2, „Ritm cardiac:% d”, _heartRate);
MeasureTemperature (); sprintf (linia2, "Temp:% f", _temperatură);
Dar cum să-l public pe PubNub? Trebuie să schimbați parametrii codați ai funcției json și sprintf () în metoda PublishToPubNub (), să arate astfel:
// sprintf (cmd, „GET / publish /% 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 / publish /% 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);
Apoi, puteți vedea temperatura în consola de depanare PubNub.
Recomandat:
Vizualizarea datelor de la Magicbit în AWS: 5 pași
Vizualizarea datelor de la Magicbit în AWS: Datele colectate de la senzorii conectați la Magicbit vor fi publicate pe baza AWS IOT prin MQTT pentru a fi vizualizate grafic în timp real. Folosim magicbit ca placă de dezvoltare în acest proiect care se bazează pe ESP32. Prin urmare, orice ESP32 d
IoT: Vizualizarea datelor senzorului de lumină folosind Node-RED: 7 pași
IoT: Vizualizarea datelor senzorului de lumină folosind Node-RED: În acest instructiv, veți afla cum să creați un senzor conectat la internet! Voi folosi un senzor de lumină ambientală (TI OPT3001) pentru această demonstrație, dar orice senzor la alegere (temperatură, umiditate, potențiometru etc.) ar funcționa. Valorile senzorului
Citirea datelor senzorului cu ultrasunete (HC-SR04) pe un ecran LCD 128 × 128 și vizualizarea acestuia folosind Matplotlib: 8 pași
Citirea datelor senzorului cu ultrasunete (HC-SR04) pe un ecran LCD de 128 × 128 și vizualizarea acestuia folosind Matplotlib: În acest instructable, vom folosi MSP432 LaunchPad + BoosterPack pentru a afișa datele unui senzor ultrasonic (HC-SR04) pe un 128 × 128 LCD și trimiteți datele către PC în serie și vizualizați-le folosind Matplotlib
Achiziționarea datelor și sistemul de vizualizare a datelor pentru o bicicletă electrică MotoStudent: 23 de pași
Achiziționarea datelor și sistemul de vizualizare a datelor pentru o bicicletă electrică MotoStudent: un sistem de achiziție de date este o colecție de hardware și software care lucrează împreună pentru a colecta date de la senzori externi, a le stoca și a le procesa ulterior, astfel încât să poată fi vizualizate grafic și analizate, permițând inginerilor să facă
Vizualizarea datelor senzorului wireless utilizând diagramele Google: 6 pași
Vizualizarea datelor senzorului wireless utilizând diagramele Google: Analiza predictivă a mașinilor este foarte necesară pentru a minimiza timpul de nefuncționare al mașinii. Verificarea regulată ajută la creșterea duratei de funcționare a mașinii și, la rândul său, la toleranța la erori. Senzor de vibrații și temperatură fără fir