LORA en Arduino IDE

Módulos HELTEC

Para añadir las placas al entorno Arduino IDE, se procede con:

1. En el menú Archivo/Preferencias, se añade en la sección “Gestor de URL’s Adicionales de Tarjetas” la dirección:

https://docs.heltec.cn/download/package_heltec_esp32_index.json

en caso de existir otra dirección previa, se añade con una coma ‘,’

2. En el menú de Herramientas, Placas, Gestor de tarjetas, se añade “Heltec ESP32 Series Dev-boards”

3. En el menú de Programa/Incluir librería/Administrador de librerías, descargar la correspondiente:

Con lo que se pueden usar las librerías y ejemplos proporcionados por el fabricante de las placas de desarrollo.

Referencia: https://docs.heltec.cn/#/en/user_manual/how_to_install_esp32_Arduino?id=setting-environment

LORA 915MHz módulos

Módulos de prueba LORA a 915MHz: módulos de radio, los módulos de desarrollo y módulos gateway

Todos se basan en los chips del fabricante Semptech.

https://www.semtech.com/products/wireless-rf/lora-transceivers

Módulos de radio – Lora Sx1276

Son de largo alcance a 915MHz y con pines compatible con 3-5v.

La comunicación con el módulo y un microcontrolador se realiza mediante protocolo SPI.

En éste modo se facilita la conexión directa con módulos arduino a 5V, al traer convertidor de señal de 3.3 a 5V bidireccional.

Una recomendación es conectarlos y encenderlos siempre con la antena conectada.

La configuración de pines se muestra en la figura.

Módulos de desarrollo con ESP32

También se puede usar los módulos Lora emparejados con ESP32 como microcontrolador. Aportan conexión a WIFI y viene en varias configuraciones, lo más relevante es que traen antenas de 915MHz

https://heltec.org/project/wifi-lora-32/

El módulo de desarrollo facilita realizar pruebas con tan solo unos cuantos elementos, tiene conexión USB para programación o acceso de datos y una pequeña pantalla para visualizar mensajes de estado.

Módulos para Gateway

También es posible adquirir módulos para gateway que se complementan con un raspberrypi.

Heltec Automation Mini IOT Lora Gateway LoraWan SX1301 sx1255/57 lora 8 Channel 915MHZ for Gateway Integrated for Raspberry Pi with esp32 lora node/stm32 lora Node

https://heltec.org/project/wireless-stick-lite/

ESP8266 en Arduino IDE

Las instrucciones para el módulo ESP8266 se pueden desarrollar en el IDE Arduino. Se requiere añadir el módulo a las «Herramientas» en el «Gestor de tarjetas» usando la versión «ESP8266 Community» más actualizada.

Los pasos a seguir son:

1. En el menú Archivo/Preferencias, se añade en «Gestor de URL’s Adicionales de Tarjetas» la dirección:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

2. En menú de Herramientas, Placas, Gestor de tarjetas, se añade «ESP8266 Community». Se puede buscar y filtrar con las palabras esp8266.

3. La acción anterior habilita la opción se seleccionar como placa: «Generic ESP8266 Module»

Con lo que es posible usar los ejemplos presentados.


Referencia

https://github.com/esp8266/Arduino

Conexión USB-TTL para Arduino IDE

Para subir las instrucciones (programar) el ESP8266 desde la computadora usando un puerto USB, es necesario disponer de un módulo USB-TTL. La conexión también es util para obtener los datos desde el «monitor serial» del IDE Arduino.

Para comunicarse con el ESP8266 se requiere conectar los cables de:

  • transmisión TX
  • recepción RX
  • Tierra GND

El módulo USB-TTL de preferencia debe tener entre los pines de  conexión, uno de 3.3v semejante al mostrado en la imagen. El pin 3V3 es usado en caso de necesitar alimentar el módulo ESP8266. Sin embargo, en los dispositivos usados se encontró que la corriente proporcionada no es suficiente para el funcionamiento del dispositivo.

Revisar las opciones de carga de programa en la sección de «IDE Arduino con ESP8266»

 

Fuente de alimentación a 3.3VDC

1. Consideraciones de diseño

La alimentación de energía de los dispositivos con ESP8266 es a 3.3V.

Para la mayor parte de los diseños se realiza desde la alimentación de energía con 110V AC, por lo que es necesario usar un regulador de voltaje para llegar hasta a 3.3V DC que es el voltaje de operación del ESP8266.

2. Componente HLK-PM03

HLK-PM03

Idealmente se puede usar un regulador HLK-PM03, que simplifica la fuente de alimentación.

Sin embargo inicialmente para el desarrollo no se encontró en el mercado local  y se analiza algunas opciones si se encuentra en un caso semejante.

3. Alternativas a componente HLK-PM03

Por fácilidad y  disponibilidad, la fuente de alimentación se realiza dos pasos:

  • Reducción de 110V AC a 5V DC
  • Reducción de 5V DC a 3.3V DC
3.1 Reduccion de 110VAC a 5VDC

El primer paso, 110V AC a 5V DC, se puede implementar con el circuito de un cargador de celular con salida USB.

En los módulos desarrollados, en algunos casos se ha usado solo la placa de circuito del cargador para optimizar espacio en la caja del dispositivo.

3.2  Reducción de 5VDC a 3.3VDC

Para el segundo paso es necesario un regulador de 5VDC a 3.3VDC como por ejemplo el LM1117-3.3V en formato componente o como módulo.

componente

 

módulo

Lo que disponga para el desarrollo del circuito no afecta al funcionamiento, solo el espacio usado en el protoboard o el destinado para la placa de circuito (PCB).

La opción de usar el módulo de 5VDC a 3.3VDC es la que más se ha usado en los diseños.

Sin embargo al principio no se tenía un módulo y se optó para el primer prototopo por curiosidad la alternativa de usar diodos para disminuir el voltaje hasta lo requerido. Los diodos en sentido directo tienen caidas de voltaje de 0.7 V, por lo que se usaron dos diodos en serie en sentido directo, se recomienda verificar el voltaje en operación empezando con 3 diodos.

Otra opciónes para 5V a 3.3V, usar un circuito con diodos zener.

3.3 Fuente para protoboard

Si la implementación la realiza solo en protoboard, puede un modulo regulador semenjante al mostrado, que permite seleccionar si la salida al protoboard es de 5VDC o 3.3VDC cambiando los jumpers.

La alimentación del módulo se puede realizar con una fuente igual ao mayor a 5VDC.

 

 

ESP32 en Arduino IDE

La versión más actualizada de los módulos para el ESP8266 es la ESP-32.

Igual que las versiones anteriores, se puede usar el IDE Arduino incorporando la placa al entorno de trabajo.

También existen las versiones para desarrollo, un ejemplo de ESP32 como módulo de desarrollo se presenta en la figura:

La mayor ventaja de éste módulo es la variadad de pines de diferentes tipo, por ejemplo los ADC que se incrementaron respecto a las versiones anteriores.

Existen otros modulos y placas de desarrollo, se recomienda revisar su configuración antes de usar los pines en en protoboard.

Observación: En algunos módulos, se incorpora un botón pulsador para el pin GPIO0 que debe ser presionado durante el proceso de carga de programa.

IDE Arduino

Para incorporar la tarjeta se realiza lo siguiente:

1. En el menú Archivo/Preferencias, se añade en la sección “Gestor de URL’s Adicionales de Tarjetas” la dirección:

https://dl.espressif.com/dl/package_esp32_index.json

en caso de existir otra dirección previa, se añade con una coma ‘,’

2. En el menú de Herramientas, Placas, Gestor de tarjetas, se añade “ESP32 by Espressif Systems”

3. Con lo que se habilita la opción se seleccionar como placa un ESP32, por ejemplo: “ESP32 Dev Module”

Con lo que es posible usar los scripts presentados como ejemplo, usando las librerias respectivas.


Referencia

https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md

ESP8266 versión ESP07

La versión del módulo ESP-07 ofrece más puntos de conexión que la versión ESP-01. http://wiki.ai-thinker.com/_media/esp8266/docs/aithinker_esp_07_datasheet_en.pdfPara la implementación básica ser recomienda usar la versión con antena incorporada y una placa para adaptar el módulo.

La placa permite conectarlo a un protoboard, pues la separación entre conectores del módulo es pequeña (2 mm).

Una de las ventajas del ESP-01 es convertidor Analógico-Digital (pin ADC), que tiene un rango de trabajo entre 0 y 1 voltio con pasos valorados entre 0-1023 (10 bits).

El pin ADC permite por ejemplo obtener lecturas de estado de voltaje de las baterias, obtenido con un divisor de voltaje  para asegurar que el voltaje máximo no supere 1V .

IDE Arduino

Para incorporar la tarjeta al programa IDE Arduino se se realizan los mismos que para la versión ESP-01, seleccionando la placa ESP8285.

Referencia: http://wiki.ai-thinker.com/_media/esp8266/docs/aithinker_esp_07_datasheet_en.pdf

 

ESP8266 versión ESP01

Distribución de Pines

Referencias: https://www.espressif.com/sites/default/files/esp8266-technical_reference_en_0.pdf

Para usa el módulo, se requeire además de alimentacion en VCC a 3.3V y GND  conectar los pines de configuración de modo de operación.

Estados de pines de configuración

Los estados de los pines de configuración son ALTO (HIGH) o BAJO(LOW).

El estado ALTO se establece conectar el pin a VCC de 3.3VDC mediante una resistencia de 10KΩ (pullup) para una corriente de activación de 0.033 mA.

El estado Bajo se realiza conectando el pin a GND con 0VDC.

Modo de Operación

Cargar o Ejecutar un programa se establece con estados de voltaje en los pines GPIO0 y GPI02.

Modos de operación
GPIO0 GPIO2 CH_PD RESET
 Cargar programa LOW HIGH HIGH HIGH
Ejecutar Programa HIGH HIGH HIGH HIGH

Observe que, el módulo ESP-01S, tiene incorporadas las resistencias a estado ALTO (HIGH,pull up), por lo que no es necesario añadirlas en éste caso.

Conexión a 3.3V

La alimentación de energía para el dispositivo es de 3.3V, preferible con una fuente o módulo de 3.3v .

Considere que puede resultar insuficiente si alimenta desde la salida de 3.3V de un módulo  USB-Serial con salida de 3.3V o desde el pin Arduino 3.3V.

La falta de energía en el dispositivo se presenta como error en la conexión al intentar subir instrucciones desde el IDE Arduino: «sincronizar la memoria del dispositivo.»

Si no dispone de la fuente externa, puede  al usar dos dispositivos USB-TTL para:

1. Alimentación (Vcc y GND)
2. Carga de datos (Tx y Rx)

Recuerde unir las referencias de cada dispositivo USB-Serial GND.