Taula de continguts:

The Path Mapper: 6 passos
The Path Mapper: 6 passos

Vídeo: The Path Mapper: 6 passos

Vídeo: The Path Mapper: 6 passos
Vídeo: Grasshopper Path Mapper is a BADASS 2024, De novembre
Anonim
L’assignador de camins
L’assignador de camins
L’assignador de camins
L’assignador de camins
L’assignador de camins
L’assignador de camins

En aquest projecte IoT, connectem un NEO-6M (mòdul GPS) per lliurar dades de localització a través de l’Arduino a un full Excel que es desarà a l’ordinador. Després, amb Tableau Public, creem una visualització de dades d’aquestes dades per traçar el camí que hem fet. Tot i que aquesta és una manera de recopilar i presentar dades en temps real en una dada altament correlacionada, és a dir, aquest procés també es pot aplicar a altres projectes basats en dades.

Pas 1: Adquisició de materials

Adquisició de materials
Adquisició de materials

Per a aquest projecte, necessitareu el següent:

  • Mòdul GPS NEO-6M
  • Arduino Uno
  • Cable de pont masculí / masculí (necessitareu 4 cables)
  • Cable USB 2.0 tipus A a B.
  • Ordinador amb aquests programes: Tableau Public, Arduino IDE (amb TinyGPS ++) i Processament

Pas 2: Configuració dels dispositius

Configuració dels dispositius
Configuració dels dispositius
Configuració dels dispositius
Configuració dels dispositius

Primer hem de configurar el mòdul GPS amb l’Arduino UNO perquè l’Arduino ens doni una interfície per mostrar les dades. Cadascun dels quatre cables connectats al NEO-6M correspon a ports específics. Si el NEO-6M no ve amb els cables, l'haureu de connectar directament amb cables de pont. Al diagrama anterior, el vermell correspon a la potència (VCC), el negre a terra (GND), el groc per transmetre dades (TxD) i el blanc per rebre dades (RxD). Connectem aquests cables a cables jumper mascle / home per poder connectar-los a l'Arduino. Seguint l'esquema anterior, connectem el cable de terra al pin digital GND de l'Arduino, el cable TxD a 4, el cable RxD a ~ 3 i el cable VCC a 5V per tensió. En un futur pas, haurem de definir TxD i RxD amb els números correctes al SoftwareSerial.

Un cop connectats els dos dispositius, hem de proporcionar una font d'alimentació. Connecteu el cable USB 2.0 al vostre ordinador portàtil i s’hauria d’encendre la llum del NEO-6M.

Pas 3: Codificació de l'Arduino per extreure dades

Codificació de l'Arduino per extreure dades
Codificació de l'Arduino per extreure dades

Ara que tenim els dispositius configurats per recopilar dades GPS dels satèl·lits, escriurem codi per analitzar les dades GPS que desitgem. Suposant que heu agafat un senyal (el meu mòdul GPS parpellejaria en blau), el NEO-6M imprimeix per defecte dades brutes al monitor sèrie en forma de missatges NMEA, que semblen $ GP seguits de més lletres i una sèrie de nombres. La imatge superior dóna una idea general del que s'hauria de mostrar al vostre monitor sèrie un cop introduït el codi bàsic Arduino.

Per explicar el codi que he adjuntat (o si voleu provar de codificar-lo vosaltres mateixos), primer heu d’incloure les biblioteques SoftwareSerial i TinyGPS ++ (per a aquesta última, Sketch> Include> Add. ZIP library). SoftwareSerial ens permet tenir una connexió en sèrie; TinyGPS ++ ens proporciona una eina senzilla per imprimir la informació orientada de forma llegible. Assegureu-vos d'inicialitzar l'objecte SoftwareSerial als pins corresponents de l'Arduino. A la funció de configuració, fem servir 9600 com a velocitat en bauds.

A l’efecte d’aquest instructiu, només imprimirem set tipus de dades en la funció de bucle: latitud (graus), longitud (graus), velocitat (km), recorregut (graus), altitud (km), nombre de satèl·lits a ús, i hdop. Podeu cercar la sintaxi per imprimir aquesta informació a la biblioteca Arduiniana. La forma general és Serial.print (). Per exemple, per imprimir la longitud, escriuríem Serial.print (gps.location.lng (), 6). El 6 representa quants dígits volem a la dreta del punt decimal.

El meu codi conté caràcters addicionals impresos per fer una reexpressió fàcil de formatar al següent pas. No obstant això, si voleu aturar-vos en aquest pas, no dubteu a formatar les dades de manera diferent per facilitar la visualització al monitor sèrie.

Pas 4: utilitzar el processament per escoltar

Utilitzant el processament per escoltar
Utilitzant el processament per escoltar

Tot i que tenim configurat el codi per a l’IDE Arduino, tenim problemes per desar aquestes dades. A hores d’ara, només podem veure les dades al monitor sèrie mentre les recopilem. Hi ha moltes maneres d’enregistrar aquestes dades, però he escollit Processing principalment perquè la seva interfície imita l’Arduino IDE i utilitza Java, un llenguatge que estic familiaritzat (tingueu en compte que també podríeu controlar la placa Arduino amb Processing si descarregueu Firmata). El processament escolta al port connectat a l’Arduino i té la possibilitat de manipular les dades que es llegeixen al monitor sèrie. Per trobar el nom d'aquest port, torneu a consultar el fitxer IDE d'Arduino i consulteu Eines> Port.

He proporcionat el codi de processament, però aquí teniu una descripció ràpida de com funciona el codi.

Abans de la funció de configuració, assegureu-vos que teniu variables per al port, la taula resultant, la fila amb la qual treballarem i el nom del fitxer. A continuació, a la funció de configuració, hi ha paràmetres per definir la mida de la finestra Executa, però aquests números no afecten la nostra funcionalitat (per exemple, configureu-los a (500, 500)). Quan inicialitzeu el port, utilitzeu el nom del port en forma de cadena i una velocitat de transmissió de 9600. Finalment, creeu les nou columnes (per a les set categories GPS, hora i data) per inicialitzar la taula.

A la funció de dibuix, fem servir les funcions de data i hora incorporades per fer un seguiment de quan s’extreuen cada conjunt de dades GPS. Ara, per llegir el flux de dades de l’Arduino i posar-les a les capçaleres adequades amb l’hora i la data correctes, fem servir expressions regulars.

Utilitzo l’expressió regular per analitzar les dades exactes amb la funció matchAll que busca qualsevol expressió entre el signe igual i el punt i coma (els delimitadors que he posat al meu codi Arduino). Posteriorment, col·loca totes les etiquetes coincidents, les dades numèriques, en una matriu bidimensional. A continuació, podem demanar aquests índexs de matriu per col·locar-los a les capçaleres del full Excel.

Per desar el nou fitxer.csv, fem servir una tecla per tancar la finestra Executa. Com més temps espereu a prémer una tecla, més dades obtindreu. Seguint la forma d'una altra guia, també vaig decidir desar el fitxer a la carpeta de dades amb la data i l'hora com a nom del fitxer.

Pas 5: visualització de dades a Tableau Public

Visualització de dades a Tableau Public
Visualització de dades a Tableau Public
Visualització de dades a Tableau Public
Visualització de dades a Tableau Public
Visualització de dades a Tableau Public
Visualització de dades a Tableau Public

L'últim pas consisteix en una visualització de dades. Hi ha molts programes per crear i mostrar visualitzacions de dades, és a dir, Plotly, però per a aquest projecte utilitzarem Tableau. Obriu Tableau Public i obriu el fitxer Excel desat com a fitxer de text. Per crear un full de treball, feu clic a Full 1 a la part inferior esquerra.

Com que estem treballant amb dades GPS, utilitzarem un mapa per representar la nostra informació. A la columna esquerra on es diu Mesures, arrossegarem la longitud a les columnes i la latitud a les files de la part superior. Les taules predeterminades de Tableau són AVG, de manera que feu clic al menú desplegable que hi ha al costat dels termes i canvieu-les a Paràmetre. Ara el mapa hauria de mostrar un camí amb els valors de latitud i longitud recollits.

Per netejar les dades per error (que també es pot fer abans d’obrir Tableau), podeu excloure alguns cercles d’ubicació fent-hi clic i seleccionant l’opció. El meu mòdul GPS no és 100% precís, ja que algunes parts del meu camí no s'han localitzat, però el camí general s'ha registrat.

Pas 6: Refinació de la vis

Refinant el Viz
Refinant el Viz

La darrera part és fer que aquestes dades siguin més llegibles. Si voleu context de carrer, podeu anar a Mapa> Capa de mapes> Carrers i carreteres. No dubteu a experimentar amb altres marques. Vaig arrossegar Speed over Color per mostrar com augmenta la intensitat del color quan augmenta la velocitat. També he utilitzat Detall en lloc d’etiqueta per al curs, perquè Label mostra els números al mapa, mentre que només volia que aparegui informació quan passeu el cursor per sobre dels punts d’ubicació.

Ara que heu experimentat tot el procés de recopilació de dades i visualització del que teniu en una visualització de dades, podeu aplicar-ho a altres projectes.

per Pingdi Huang, estiu de 2018

Recomanat: