Diferència entre revisions de la pàgina «TempoCat - Manual Técnico»

De Wiket
Salta a la navegació Salta a la cerca
 
(Hi ha 35 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
==<b>Como conectar el sensor en la placa Whitecat</b>==
+
==<b>Cómo conectar el sensor en la placa Whitecat</b>==
 
<p>Si nos fijamos en la siguiente imagen, el sensor tiene 4 cables:
 
<p>Si nos fijamos en la siguiente imagen, el sensor tiene 4 cables:
*
+
*<b>Cable marrón:</b> Este cable es el responsable de conectarlo en los apartados de 3V3/3V3s de la placa.
[[File:sensor_tecnico.jpg|center]]
+
*<b>Cable naranja:</b> Este cable va conectado al apartado de GND(suelo) de la placa.
 +
*<b>Cable verde:</b> Como ya dice en el sensor, va conectado a los módulos de SCL.
 +
*<b>Cable azul:</b> Como ya dice en el sensor, va conectado a los módulos de SDA.
 +
[[File:sensor_tecnico.jpg|center|320px|189px]]
 +
 
 +
 
 +
En la siguiente imagen se puede ver donde van conectados los diferentes cables
 +
 
 +
 
 +
[[File:cables.jpg|center|180px|240px]]
 +
 
 +
==<b>Conexión antena</b>==
 +
<p>Para poder coger tener una mejor conexión con la gateway y poder recoger más información, podemos utilizar una antena. Esta antena se conecta a la placa a traves de una mini ranura, que se encuentra en la parte inferior derecha de la placa WhiteCat</b>
 +
[[File:antena.jpg|center|180px|240px]]
 +
 
 +
==<b>Conexión Sensor-Whitecat</b>==
 +
<p> En este apartado explicamos las funciones del archivo que establece comunicación entre el sensor y la whitecat.</p>
 +
*<b>s = sensor.attach("BME280", i2c.I2C0, 0)</b> --> Esta sentencia provoca una comunicación del sensor. Especifica el modelo del sensor(BME280) y el protocolo de comunicación (i2c.I2C0).
 +
*<b>temperature = s:read("temperature")</b> --> Hace que el sensor guarde la temperatura en una variable.
 +
*<b>humidity = s:read("humidity")</b> --> Hace que el sensor guarde la humedad en una variable.
 +
*<b>pressure = s:read("pressure")</b> --> Hace que el sensor guarde la presión en una variable.
 +
*<b>print("temp: "..temperature..", humidity: "..humidity..", pressure: "..pressure)</b> --> Printa por pantalla todas las variables.
 +
*<b>tmr.delayms(500)</b> --> Esta sentencia hace referencia al tiempo que tarda en devolver los parámetros
 +
 
 +
==<b>Conexión WhiteCat-Lora</b>==
 +
En este apartado se explican las diferentes partes que tiene que tener el archivo de conexión entre LoRa-WhiteCat.
 +
*<b>lora.attach(lora.BAND868)</b>--> Esta sentencia sirve para adjuntar el dispositivo final (WhiteCat).
 +
*<b>lora.setAppEui()</b> --> Esta linea sirve para adjuntar la AppEUI.
 +
<b>AppEUI</b> es un ID de aplicación global en el espacio de direcciones IEEE EUI64 que identifica de forma única al proveedor de la aplicación del dispositivo final. Para poder conseguir este ID, necesitamos escribir el siguiente comando en el Programa IDE WHITECAT: <b>lora.getDevEui()</b>
 +
*<b>lora.setAppKey()</b> --> Establece la AppKey. La AppKey es una clave de aplicación AES-128 específica para el dispositivo final que el propietario de la aplicación asigna al dispositivo final.
 +
*<b>lora.setDr(4)</b> --> Establece la velocidad de datos máxima para usar en la próxima transmisión. Este valor se ignora si la velocidad de datos adaptativa está habilitada.
 +
*<b>lora.setAdr(true/false)</b> --> Activa o desactiva la función de velocidad de datos adaptable.
 +
*<b>lora.join(lora.OTAA)</b> --> Se une al dispositivo final a través de OTAA.
 +
 
 +
==<b>Configuración en The Things Network</b>==
 +
<p>Para seguir los pasos de este apartado, necesitas una cuenta en la página web de The Things Network [https://www.thethingsnetwork.org/].</p>
 +
<p>Una vez que se haya creado la cuenta, los pasos son los siguientes:</p>
 +
*Ir al apartado de <b>Aplicaciones ("Applications")</b> para poder crear una nueva. Una vez dentro, seleccionar la opción de añadir aplicaciones <b>("+add applications")</b>
 +
[[File:app1.jpg|center|1900px|900px]]
 +
*Al crear la aplicación, solo te pedirá un nombre para poder identificarlo.
 +
*Una vez creada la aplicación, vamos al apartado de dispositivos <b>("Devices")</b>. Seleccionamos la opción de registrar un nuevo dispositivo <b>("+register device")</b>
 +
[[File:device.jpg|center|1900px|900px]]
 +
*Al crear la aplicación, te pedirá un nombre para poder identificarlo y el ID de la aplicación creada anteriormente.
 +
*Una vez que se haya creado, saldrá el nombre que le hayas puesto, su ID (devEui) y el id de la aplicación (AppEui)
 +
[[File:id.jpg|center]]
 +
 
 +
==<b>Conexión BBDD</b>==
 +
<p>Se trata de una base de datos MySQL. Para poder entrar desde terminal, necesitas el comando siguiente:</p>
 +
*<b>sudo mysql -u Nombre_usuario -p</b>
 +
  la opción -u hace referéncia a usuario.
 +
  la opción -p hace referéncia a la password
 +
<p>Una vez dentro, necesitamos crear una base de datos nueva. Para ello, necesitas el siguiente comando:</p>
 +
*<b>CREATE DATABASE nom_base;</b>
 +
<p>A continuación, tienes que introducirte dentro de la base nueva para poder empezar a crear tablas. Utiliza este comando:</p>
 +
*<b>USE nom_base;</b>
 +
<p>Para poder crear la tabla de la base de datos, se utiliza el siguiente comando</p>
 +
*<b>CREATE TABLE nom_tabla (campo1 valor1, campo2 valor2..);</b>
 +
  los valores de los campos pueden ser: VARCHAR2, DATE, NUMBER, FLOAT...
 +
<p>Si quisieras ver la estructura de la tabla, necesitas el siguiente comando:</p>
 +
*<b>DESCRIBE nom_tabla</b>
 +
 
 +
==<b>Código app.js</b>==
 +
<p>Este archivo se utiliza para conectar la aplicación de The Things Network con la base de datos.</p>
 +
<p>Las siguientes lineas son las funciones que necesita este archivo:</p>
 +
*<b>TTNCallback = function(message)</b> --> Esta sentencia hace que el TTN llame a la base de datos.
 +
*<b>var connection = mslq.createConnection({});</b> --> Esta funcion crea la snetencia de MySQL. Dentro de ella, se especifica el host, el usuario, la contraseña y el database de MySQL.
 +
*<b>connection.connect();</b> --> Establece la conexión de la base de datos.
 +
*<b>var sql = "sentencia"</b> --> Esta funcion escribe una snetencia de MySQL para poder extraer los datos de TTN y pasarlos a la base de datos.

Revisió de 08:42, 25 maig 2019

Cómo conectar el sensor en la placa Whitecat

Si nos fijamos en la siguiente imagen, el sensor tiene 4 cables:

  • Cable marrón: Este cable es el responsable de conectarlo en los apartados de 3V3/3V3s de la placa.
  • Cable naranja: Este cable va conectado al apartado de GND(suelo) de la placa.
  • Cable verde: Como ya dice en el sensor, va conectado a los módulos de SCL.
  • Cable azul: Como ya dice en el sensor, va conectado a los módulos de SDA.
Sensor tecnico.jpg


En la siguiente imagen se puede ver donde van conectados los diferentes cables


Cables.jpg

Conexión antena

Para poder coger tener una mejor conexión con la gateway y poder recoger más información, podemos utilizar una antena. Esta antena se conecta a la placa a traves de una mini ranura, que se encuentra en la parte inferior derecha de la placa WhiteCat

Antena.jpg

Conexión Sensor-Whitecat

En este apartado explicamos las funciones del archivo que establece comunicación entre el sensor y la whitecat.

  • s = sensor.attach("BME280", i2c.I2C0, 0) --> Esta sentencia provoca una comunicación del sensor. Especifica el modelo del sensor(BME280) y el protocolo de comunicación (i2c.I2C0).
  • temperature = s:read("temperature") --> Hace que el sensor guarde la temperatura en una variable.
  • humidity = s:read("humidity") --> Hace que el sensor guarde la humedad en una variable.
  • pressure = s:read("pressure") --> Hace que el sensor guarde la presión en una variable.
  • print("temp: "..temperature..", humidity: "..humidity..", pressure: "..pressure) --> Printa por pantalla todas las variables.
  • tmr.delayms(500) --> Esta sentencia hace referencia al tiempo que tarda en devolver los parámetros

Conexión WhiteCat-Lora

En este apartado se explican las diferentes partes que tiene que tener el archivo de conexión entre LoRa-WhiteCat.

  • lora.attach(lora.BAND868)--> Esta sentencia sirve para adjuntar el dispositivo final (WhiteCat).
  • lora.setAppEui() --> Esta linea sirve para adjuntar la AppEUI.
AppEUI es un ID de aplicación global en el espacio de direcciones IEEE EUI64 que identifica de forma única al proveedor de la aplicación del dispositivo final. Para poder conseguir este ID, necesitamos escribir el siguiente comando en el Programa IDE WHITECAT: lora.getDevEui()
  • lora.setAppKey() --> Establece la AppKey. La AppKey es una clave de aplicación AES-128 específica para el dispositivo final que el propietario de la aplicación asigna al dispositivo final.
  • lora.setDr(4) --> Establece la velocidad de datos máxima para usar en la próxima transmisión. Este valor se ignora si la velocidad de datos adaptativa está habilitada.
  • lora.setAdr(true/false) --> Activa o desactiva la función de velocidad de datos adaptable.
  • lora.join(lora.OTAA) --> Se une al dispositivo final a través de OTAA.

Configuración en The Things Network

Para seguir los pasos de este apartado, necesitas una cuenta en la página web de The Things Network [1].

Una vez que se haya creado la cuenta, los pasos son los siguientes:

  • Ir al apartado de Aplicaciones ("Applications") para poder crear una nueva. Una vez dentro, seleccionar la opción de añadir aplicaciones ("+add applications")
App1.jpg
  • Al crear la aplicación, solo te pedirá un nombre para poder identificarlo.
  • Una vez creada la aplicación, vamos al apartado de dispositivos ("Devices"). Seleccionamos la opción de registrar un nuevo dispositivo ("+register device")
Device.jpg
  • Al crear la aplicación, te pedirá un nombre para poder identificarlo y el ID de la aplicación creada anteriormente.
  • Una vez que se haya creado, saldrá el nombre que le hayas puesto, su ID (devEui) y el id de la aplicación (AppEui)
Id.jpg

Conexión BBDD

Se trata de una base de datos MySQL. Para poder entrar desde terminal, necesitas el comando siguiente:

  • sudo mysql -u Nombre_usuario -p
 la opción -u hace referéncia a usuario.
 la opción -p hace referéncia a la password

Una vez dentro, necesitamos crear una base de datos nueva. Para ello, necesitas el siguiente comando:

  • CREATE DATABASE nom_base;

A continuación, tienes que introducirte dentro de la base nueva para poder empezar a crear tablas. Utiliza este comando:

  • USE nom_base;

Para poder crear la tabla de la base de datos, se utiliza el siguiente comando

  • CREATE TABLE nom_tabla (campo1 valor1, campo2 valor2..);
 los valores de los campos pueden ser: VARCHAR2, DATE, NUMBER, FLOAT...

Si quisieras ver la estructura de la tabla, necesitas el siguiente comando:

  • DESCRIBE nom_tabla

Código app.js

Este archivo se utiliza para conectar la aplicación de The Things Network con la base de datos.

Las siguientes lineas son las funciones que necesita este archivo:

  • TTNCallback = function(message) --> Esta sentencia hace que el TTN llame a la base de datos.
  • var connection = mslq.createConnection({}); --> Esta funcion crea la snetencia de MySQL. Dentro de ella, se especifica el host, el usuario, la contraseña y el database de MySQL.
  • connection.connect(); --> Establece la conexión de la base de datos.
  • var sql = "sentencia" --> Esta funcion escribe una snetencia de MySQL para poder extraer los datos de TTN y pasarlos a la base de datos.