Herramientas de usuario

Herramientas del sitio


guias:lora_ttn

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
guias:lora_ttn [2018/04/21 13:08] Alejandro Taracidoguias:lora_ttn [2021/05/07 19:14] (actual) – [Montaje gateway de un canal] Fix image link Alejandro Taracido
Línea 1: Línea 1:
 ====== LoRa + TTN: comunicando cosas con Internet ====== ====== LoRa + TTN: comunicando cosas con Internet ======
  
-WORK IN PROGRESS+//by [[:user:tcrobotics|TCRobotics]]//
  
 ===== ¿Qué vas a aprender aquí? ===== ===== ¿Qué vas a aprender aquí? =====
Línea 104: Línea 104:
 } }
 </code> </code>
 +
   * Vete al gestor de librerías de Arduino, busca "LoRa" e instala la librería de Sandeep Mistry. Yo he utilizado la v0.3.0 [[https://github.com/sandeepmistry/arduino-LoRa|https://github.com/sandeepmistry/arduino-LoRa]] Esta librería es la que permite enviar y recibir datos con LoRa entre dos cacharros que tengan los mismos parámetros.   * Vete al gestor de librerías de Arduino, busca "LoRa" e instala la librería de Sandeep Mistry. Yo he utilizado la v0.3.0 [[https://github.com/sandeepmistry/arduino-LoRa|https://github.com/sandeepmistry/arduino-LoRa]] Esta librería es la que permite enviar y recibir datos con LoRa entre dos cacharros que tengan los mismos parámetros.
   * Vete al gestor de librerías de Arduino, busca "ESP32 SSD1306" e instala la librería "ESP8266 and ESP32 Oled Driver for SSD1306 display" Yo he utilizado la v3.2.7 [[https://github.com/ThingPulse/esp8266-oled-ssd1306|https://github.com/ThingPulse/esp8266-oled-ssd1306]] Esta librería permite hacer funcionar la pantallita Oled de nuestra placa. Que bonita que es {{https://bricolabs.cc/wiki/lib/plugins/ckgedit/ckeditor/plugins/smiley/images/heart.png?nolink&23x23|heart}}   * Vete al gestor de librerías de Arduino, busca "ESP32 SSD1306" e instala la librería "ESP8266 and ESP32 Oled Driver for SSD1306 display" Yo he utilizado la v3.2.7 [[https://github.com/ThingPulse/esp8266-oled-ssd1306|https://github.com/ThingPulse/esp8266-oled-ssd1306]] Esta librería permite hacer funcionar la pantallita Oled de nuestra placa. Que bonita que es {{https://bricolabs.cc/wiki/lib/plugins/ckgedit/ckeditor/plugins/smiley/images/heart.png?nolink&23x23|heart}}
Línea 214: Línea 215:
  
 En el pinado que te mostraba anteriormente ya encontrábamos un misterioso pin DI0 o DIO0 del transceiver LoRa. Pues resulta que hay dos más, el DIO1 y el DIO2. Estos pines se utilizan como pines de interrupción y son necesarios para la librería LMIC, desarrollada por IBM que vamos a utilizar. La mala noticia es que los amigos de TTGO, aunque conectaron el DIO0, se han olvidado de conectar estos pines a los del ESP32 de nuestra tarjeta. m( Nada que un par de cables y un soldador no puedan arreglar. <font inherit/inherit;;#c0392b;;inherit>**Conecta directamente el pin DIO1 al pin 33 y el DIO2 al **</font><font inherit/inherit;;#c0392b;;inherit>**32**</font>siguiendo como guía el siguiente pineado del amigo [[https://www.thethingsnetwork.org/forum/u/bluejedi|bluejedi]] (Thanks!) de los foros de TTN, que por cierto está corregido ya que el de los vendedores estaba incorrecto.m(  Guárdatelo! En el pinado que te mostraba anteriormente ya encontrábamos un misterioso pin DI0 o DIO0 del transceiver LoRa. Pues resulta que hay dos más, el DIO1 y el DIO2. Estos pines se utilizan como pines de interrupción y son necesarios para la librería LMIC, desarrollada por IBM que vamos a utilizar. La mala noticia es que los amigos de TTGO, aunque conectaron el DIO0, se han olvidado de conectar estos pines a los del ESP32 de nuestra tarjeta. m( Nada que un par de cables y un soldador no puedan arreglar. <font inherit/inherit;;#c0392b;;inherit>**Conecta directamente el pin DIO1 al pin 33 y el DIO2 al **</font><font inherit/inherit;;#c0392b;;inherit>**32**</font>siguiendo como guía el siguiente pineado del amigo [[https://www.thethingsnetwork.org/forum/u/bluejedi|bluejedi]] (Thanks!) de los foros de TTN, que por cierto está corregido ya que el de los vendedores estaba incorrecto.m(  Guárdatelo!
 +
 +Si vas a conectar como nodo otra tarjeta **TTGO LoRa32 V2.0 868 MHz **puedes aprovechar que tienes el soldador caliente para repetir la operación, ya que para el nodo también lo necesitamos.
  
 {{:guias:ttgolora32v20pinout.jpg?nolink&800x530|ttgolora32v20pinout.jpg}} {{:guias:ttgolora32v20pinout.jpg?nolink&800x530|ttgolora32v20pinout.jpg}}
Línea 219: Línea 222:
 Hardware listo, vamos con el software. Vamos a utilizar el proyecto Open Source: [[https://github.com/kersing/ESP-1ch-Gateway-v5.0|ESP-1ch-Gateway-v5.0]] del majete Marteen Westenberg. Es un proyecto basado en ESP8266 pero casi todo funciona en ESP32 gracias a Jac Kersing. Descárgalo y descomprímelo. Este proyecto utiliza [[https://github.com/kersing/ESP-1ch-Gateway-v5.0/tree/master/libraries|unas cuantas librerías]] de Arduino que necesitas tener instaladas. Si ya has hecho el ejemplo de comunicación punto a punto, la del ESP32 y ESP8266_Oled_Driver_for_SSD1306_display ya las tienes instaladas. Para el resto intenta primero instalarlas con el gestor de librerías de Arduino, si no las encuentras, instálalas de manera manual utilizando las de la [[https://github.com/kersing/ESP-1ch-Gateway-v5.0/tree/master/libraries|carpeta del proyecto]], hay muchos tutoriales que explican cómo instalar librerías en Arduino.;-) Hardware listo, vamos con el software. Vamos a utilizar el proyecto Open Source: [[https://github.com/kersing/ESP-1ch-Gateway-v5.0|ESP-1ch-Gateway-v5.0]] del majete Marteen Westenberg. Es un proyecto basado en ESP8266 pero casi todo funciona en ESP32 gracias a Jac Kersing. Descárgalo y descomprímelo. Este proyecto utiliza [[https://github.com/kersing/ESP-1ch-Gateway-v5.0/tree/master/libraries|unas cuantas librerías]] de Arduino que necesitas tener instaladas. Si ya has hecho el ejemplo de comunicación punto a punto, la del ESP32 y ESP8266_Oled_Driver_for_SSD1306_display ya las tienes instaladas. Para el resto intenta primero instalarlas con el gestor de librerías de Arduino, si no las encuentras, instálalas de manera manual utilizando las de la [[https://github.com/kersing/ESP-1ch-Gateway-v5.0/tree/master/libraries|carpeta del proyecto]], hay muchos tutoriales que explican cómo instalar librerías en Arduino.;-)
  
-Después de un rato instalando librerías (¡que divertido!), cuando las tengas todas, abre el archivo "ESP-sc-gway.ino" con Arduino. <font inherit/inherit;;#c0392b;;inherit>**Vamos a hacer una modificación sin la cual no va a compilar**</font>. Entra en el archivo "**ESP-sc-gway.h**" y en la **línea 242**  cambia el 0 por 1, y aprovecha a poner el nombre de tu wifi y la contraseña. Debe quedar algo así: +Después de un rato instalando librerías (¡que divertido!), cuando las tengas todas, abre el archivo "ESP-sc-gway.ino" con Arduino. <font inherit/inherit;;#c0392b;;inherit>**Vamos a hacer una modificación sin la cual no va a compilar**</font>. Entra en el archivo "**ESP-sc-gway.h**" y en la **línea 242** cambia el 0 por 1, y aprovecha a poner el nombre de tu wifi y la contraseña. Debe quedar algo así:
 <code> <code>
 +
 #if 1 #if 1
 wpas wpa[] = { wpas wpa[] = {
Línea 228: Línea 231:
     { "nombreWIFI2", "passwordWifi2" },     { "nombreWIFI2", "passwordWifi2" },
 }; };
 +
 </code> </code>
  
Línea 240: Línea 244:
 <code> <code>
 #define _CAD 0 #define _CAD 0
 +
 </code> </code>
  
Línea 246: Línea 251:
 <code> <code>
 #define _STRICT_1CH    1 #define _STRICT_1CH    1
 +
 </code> </code>
  
Línea 252: Línea 258:
 <code> <code>
 #define AP_PASSWD "MyPw01!" #define AP_PASSWD "MyPw01!"
 +
 </code> </code>
  
Línea 263: Línea 270:
 #define _LON 6.557 #define _LON 6.557
 #define _ALT 8 #define _ALT 8
 +
 </code> </code>
  
   * Línea 201: cambia al servidor de hora de tu [[http://www.pool.ntp.org/es/|país]], y en que zona UTC estás. El código no tiene en cuenta el horario de verano   * Línea 201: cambia al servidor de hora de tu [[http://www.pool.ntp.org/es/|país]], y en que zona UTC estás. El código no tiene en cuenta el horario de verano
- 
 <code> <code>
 +
 #define NTP_TIMESERVER "es.pool.ntp.org"    // Country and region specific #define NTP_TIMESERVER "es.pool.ntp.org"    // Country and region specific
 #define NTP_TIMEZONES    1                    // How far is our Timezone from UTC (excl daylight saving/summer time) #define NTP_TIMEZONES    1                    // How far is our Timezone from UTC (excl daylight saving/summer time)
 +
 </code> </code>
  
Línea 276: Línea 285:
 <code> <code>
  #define OLED_SCL 22 #define OLED_SDA 21  #define OLED_SCL 22 #define OLED_SDA 21
 +
 </code> </code>
  
-Por el pineado no nos tenemos que preocupar, ya que **la configuración de pines de esta versión del programa coincide con nuestra tarjeta** 8-)+Por el pineado no nos tenemos que preocupar, ya que **la configuración de pines de esta versión del programa coincide con nuestra tarjeta**8-)
  
 Ahora compila de nuevo, y si no hay ningún error, sube el programa. Una vez subido, abre el monitor serie de Arduino a 115200, deberías ver algo similar a: Ahora compila de nuevo, y si no hay ningún error, sube el programa. Una vez subido, abre el monitor serie de Arduino a 115200, deberías ver algo similar a:
  
-{{https://bricolabs.cc//wiki/lib/plugins/ckgedit/fckeditor/userfiles/image/serialgateway.jpg?nolink&578x300|serialgateway.jpg}}+{{:serialgateway.jpg}}
  
 Si no lo ves, es que te entretuviste viendo como en la pantallita ponia STARTING y te quedaste embobado como yo.^_^  Puedes apretar el botón de reset de tu placa y volverá a salir. Si no lo ves, es que te entretuviste viendo como en la pantallita ponia STARTING y te quedaste embobado como yo.^_^  Puedes apretar el botón de reset de tu placa y volverá a salir.
Línea 292: Línea 302:
 Ahora puedes buscar en tu red la IP de tu nuevo gateway, y si pones en un navegador su dirección… Voilá! Ahora puedes buscar en tu red la IP de tu nuevo gateway, y si pones en un navegador su dirección… Voilá!
  
-{{https://bricolabs.cc//wiki/lib/plugins/ckgedit/fckeditor/userfiles/image/guias/wifimonitorloragateway.jpg?nolink&503x400|wifimonitorloragateway.jpg}}+{{:guias;wifimonitorloragateway.jpg}}
  
 ¡La leche! Una pedazo de web que está generando nuestro ESP32 que nos vendrá genial para monitorizar nuestro gateway y su estado durante pruebas y funcionamiento. No te preocupes si la hora está atrasada o adelantada, no tiene en cuenta los horarios de verano e invierno;-) ¡La leche! Una pedazo de web que está generando nuestro ESP32 que nos vendrá genial para monitorizar nuestro gateway y su estado durante pruebas y funcionamiento. No te preocupes si la hora está atrasada o adelantada, no tiene en cuenta los horarios de verano e invierno;-)
Línea 302: Línea 312:
 Entra en TTN y loguéate con tu usuario. En el menú de tu usuario tienes un enlace a la [[https://console.thethingsnetwork.org/|consola]]. Entra en Gateway y registra uno nuevo. Para poder introducir el ID del gateway o EUI, debemos seleccionar "**I´m using the legacy packet forwarder**". Rellena el resto de campos, es útil para los que vean tu gateway que indiques que trabaja en la frecuencia 868.1 MHz y SP7. Entra en TTN y loguéate con tu usuario. En el menú de tu usuario tienes un enlace a la [[https://console.thethingsnetwork.org/|consola]]. Entra en Gateway y registra uno nuevo. Para poder introducir el ID del gateway o EUI, debemos seleccionar "**I´m using the legacy packet forwarder**". Rellena el resto de campos, es útil para los que vean tu gateway que indiques que trabaja en la frecuencia 868.1 MHz y SP7.
  
-{{https://bricolabs.cc//wiki/lib/plugins/ckgedit/fckeditor/userfiles/image/guias/configgateway.jpg?nolink&422x600|configgateway.jpg}}+{{:guias:configgateway.jpg}}
  
 Dale a register y si has hecho todo bien… Dale a register y si has hecho todo bien…
  
-{{https://bricolabs.cc//wiki/lib/plugins/ckgedit/fckeditor/userfiles/image/guias/gateway_overview.jpg?nolink&652x300|gateway_overview.jpg}}+{{:guias:gateway_overview.jpg|}}
  
 YEEEEEY!!! ¡Ya tienes tu gateway correctamente configurado y conectado! ¡Corre a mirar el mapa de gateways de la [[https://www.thethingsnetwork.org/|página principal de TTN]] puede que ya aparezca! ¡Enhorabuena! YEEEEEY!!! ¡Ya tienes tu gateway correctamente configurado y conectado! ¡Corre a mirar el mapa de gateways de la [[https://www.thethingsnetwork.org/|página principal de TTN]] puede que ya aparezca! ¡Enhorabuena!
  
-+ 
 +==== Montaje nodo ==== 
 + 
 +Ahora vamos a preparar nuestro primer nodo (espero que el primero de muchos:-P ), empezando por el hardware. 
 + 
 +¿Le has hecho los puentes de DIO1 y DIO2 a tu **TTGO Lora32 V2.0**  alma de cántaro? Si no, te toca encender de nuevo el soldador. ¡La vagancia paga doble!LOL 
 + 
 +Continuará
  
  
guias/lora_ttn.txt · Última modificación: 2021/05/07 19:14 por Alejandro Taracido