Catálogo de Formación

Este catálogo contiene los itinerarios formativos para Arduino, Raspberry Pi, IoT/Industria Conectada, ESP8266/ESP32 y Digitalización profesorado, así como otros cursos y talleres para impartir de forma presencial.  Los itinerarios formativos están compuestos de varios cursos de 20 horas cada uno, empezando por un nivel sencillo sin necesidad de conocimientos previos hasta un nivel avanzado o especializado en un aspecto de la tecnología del itinerario.

También es posible realizar charlas o talleres prácticos personalizados relacionados con las áreas de este catálogo. Para ello basta con ponerse en contacto y realizar la propuesta formativa.

Dada la experiencia de AprendiendoArduino, los cursos son inicialmente de duración de 20 horas a impartir en 5 días de 4 horas cada uno, con el objetivo de no hacerlos muy largos y poder compatibilizar con la actividad laboral. Por supuesto, tanto la duración de los cursos como el reparto de horas por días se puede modificar a las necesidades del cliente.

Catálogo de formación en pdf: https://aprendiendoarduino.files.wordpress.com/2020/01/catalogo-formacion-aprendiendoarduino.pdf

Toda la documentación de los cursos, talleres y charlas se publicará de forma libre en https://www.aprendiendoarduino.com/

Formación, Charlas y Talleres

Itinerario de Arduino

Itinerario de Raspberry Pi

Itinerario ESP8266 y ESP32

Itinerario IoT/Industria Conectada con Tecnologías Libres

Itinerario Digitalización Profesorado

Otros Cursos

Talleres y Charlas

Anexo I – Material Prácticas Curso y Requisitos Técnicos

Anexo II – Curriculum Enrique Crespo

Material Formativo para los Cursos

Son posibles varias opciones:

  • Comprado por el centro/cliente
  • Comprado por AprendiendoArduino (solicitar presupuesto en aprendiendoarduino@gmail.com)
  • El material comprado también se podría dar a los alumnos como parte del curso.

Descripción de material necesario para cada curso, ver Anexo I.

Contacto

Para cualquier propuesta formativa, duda, presupuesto o más información, mandar un correo a aprendiendoarduino@gmail.com

Otras formas de contacto:

Más información, ver curriculum en Anexo II.

Preparación Arduino Day Logroño 2019

Primera Reunión de Coordinación

El 10 de enero nos reunimos en el UR-Maker para organizar el Arduino Day en Logroño e involucrar a todos los interesados en la organización.

Este año todo comenzó el 6 de diciembre de 2018 en este tweet https://twitter.com/nuria_pp/status/1070630044945563650 donde nos fuimos animando entre todos.

El Arduino Day 2019 se celebrará el 16 de marzo, pero dado que queremos asistir a varios de los eventos del Arduino Day, hemos decidido celebrarlo en días diferentes para no coincidir entre las comunidades de España, especialmente con Zaragoza y Lugo.

Por parte de Logroño vamos a celebrar un evento local sencillo el 16 de marzo y un gran evento al que está invitada toda la comunidad maker española con ponentes de gran nivel para los días 29 y 30 de marzo al que hemos llamado “Arduino Day Extension 2019”.

Algunas de las propuestas quedaron reflejadas en la pizarra del UR-Maker.

Algunas fotos más:

Segunda Reunión de Coordinación

En la segunda reunión de coordinación realizada el 13 de febrero en el Área UR-MAKER, presentamos la agenda confirmada hasta ese momento y los eventos pendientes por confirmar.

La agenda se puede consultar en la web oficial del Arduino Day 2019 Logroño en https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-logrono-2019/

Los eventos confirmados son:

  • 15 de marzo de 2019
    • Lucha Sumo. Talleres de montaje de los robots: UR-maker + Mariete + Enrique Crespo, con la colaboración de Aertic – Colegio Obispo Blanco el 15/3 17:00 – 20:00.
  • 16 de marzo de 2019
    • Presentación del evento. Think TIC. Horario 10:00 a 10:30.
    • Taller “Arduino desde Cero” – Julio Clavijo y José Domínguez. Think TIC. Horario 10:30 a 13:00
    • Taller “Arduino Wifi” – Enrique Crespo. Think TIC. Horario 10:30 a 13:00
  • 30 de marzo 2019
    • Presentación del evento. Think TIC. Horario 9:00 a 9:30.
    • Taller “ESPurna” – Xose Pérez.  Horario de 9:30 a 12:00
    • Taller “Asistentes Virtuales con Arduino” – @kikeelectronico Horario de 9:30 a 12:00
    • Taller “Redes LPWAN accesibles para makers” – Luis del Valle, Xose Pérez y @G4lile0. Horario de 12:00 a 14:30
    • Taller “Echidnashield: programando sistemas físicos en entornos gráficos” – Jorge Lobo (lobo_tic) y Xavier Rosas: Horario de 12:00 a 14:30

Los eventos pendientes de confirmar son:

  • Evento del 29 de marzo
  • Otros eventos para día 16 de marzo: Merienda maker, exposición de academias de robótica, etc..
  • Lucha Sumo para niños. Competiciones – UR-maker + Mariete + Enrique, con la colaboración de Aertic – Colegio Obispo Blanco o UR-Maker. Horario pendiente de definir.
  • Comida Ponentes 30 de marzo – Sociedad La Trastienda (Pendiente de confirmar)
  • Merienda Maker 30 de marzo – Sociedad La Trastienda (Pendiente de confirmar)
  • Concursos y exposiciones en Merienda maker el 30 de marzo
  • Eventos feria FP
  • Eventos Loading Rioja Party

También confirmamos como patrocinadores para traer a los ponentes a AERTIC y Think TIC (Gobierno de La Rioja)

AERTIC nos cede dos faldones en el diario La Rioja para publicitar los eventos de los días 16 y 30 de marzo

AERTIC nos patrocina los kits de los robots de sumo y seleccionamos a SEL como suministrador del kit de robot mini sumo

Área UR-MAKER con Sergio Peciña a la cabeza diseñará el robot de mini sumo

Fotos del evento:

Top 5 Gadgets Electrónica

En mi recorrido con Arduino en los últimos años, he recibido muchas preguntas sobre electrónica de personas que programan pero les faltan unos conocimientos básicos de electrónica para saber cómo conectar sensores, actuadores y periféricos a Arduino. Para ellos he escrito varios artículos como estos:

Una vez que ya tienes los conocimientos básicos de electrónica el siguiente paso es empezar a hacer pequeñas modificaciones o reparaciones de placas electrónicas y luego ya lanzarnos a hacer nuestras propias placas, pero de este tema haré un artículo próximamente.

Si nos decidimos a hacer pequeñas reparaciones o modificaciones electrónica, os recomiendo algunos gadgets básicos de electrónica que todos debemos tener en casa. Se trata de unos accesorios muy económicos y que seguro usaremos con frecuencia si eres una aficionado a la electrónica y Arduino.

Pistola Manual de Soldadura

Una pistola de soldadura manual sencilla es uno de los gadgets imprescindibles que debemos tener en casa para hacer pequeñas reparaciones o montajes de nuestra placas que conectaremos a Arduino o Raspberry Pi.

Puedes comprarla por menos de 9€ con envío gratuito en https://www.gearbest.com/soldering-supplies/pp_009456656818.html?wid=1433363

Lupa Soldadura LED

Otro accesorio imprescindible en casa para hacer pequeñas reparaciones de soldaduras o montar tus propias placas electrónicas es una lupa de soldadura con iluminación LED y accesorios para sujetar las placas.

Es muy común que cuando compras shields para Arduino o breakout boards https://programmingelectronics.com/what-is-a-breakout-board-for-arduino/, estas vengan con los componentes sin soldar y este accesorio te va a ser de gran utilidad.

Puedes comprarla por menos de 14€ con envío gratuito en https://www.gearbest.com/magnifiers/pp_291442.html?wid=1433363

Pinzas de Acero Antiestáticas

Tener unas pinzas para manejar los elementos electrónicos, resulta imprescindible al trabajar con dispositivos SMD https://es.wikipedia.org/wiki/Tecnolog%C3%ADa_de_montaje_superficial, así como para poder soldar y desoldar en placas cualquier otro dispositivo.

Puedes comprarla por unos 5 euros en https://www.gearbest.com/other-tools/pp_638400.html?wid=1433363

Pistola de Pegamento Caliente

Aunque una pistola de pegamento caliente no es necesaria para tareas de soldadura o en general para trabajos con electrónica es un accesorio imprescindible para los makers que queremos hacer un proyecto completo.

La pistola de pegamento caliente se usa para pegar casi cualquier material como cartón y plástico. Se puede usar para ensamblar partes de por ejemplo un robot o un coche teledirigido donde vayamos a insertar la electrónica que hemos diseñado.

Puedes comprarla por unos 8.50 euros con envío gratuito en https://www.gearbest.com/soldering-supplies/pp_1577491.html?wid=1433363

Bomba Desoldar Manual

Por último, otro accesorio imprescindible en nuestra caja de herramientas es la bomba de desoldar que permite quitar la soldadura de un elemento calentando previamente y succionando con esta bomba manual. Totalmente necesaria para hacer reparaciones o cuando cometemos un error soldando.

Puedes comprarla por menos de 10 euros con envío gratuito en https://www.gearbest.com/soldering-supplies/pp_238769.html?wid=1433363

Top 5 Accesorios Raspberry Pi

Aunque mi especialidad es Arduino, uso frecuentemente Raspberry Pi, principalmente como un servidor (p.e. mosquitto, Node-RED, servidor web, base de datos, etc…) más que como un sistema embebido para control de actuadores o leer sensores, para lo que creo es mejor usar Arduino.

Una de las primeras cosas que hago en los cursos de iniciación de Arduino es explicar la diferencia entre Arduino y Raspberry Pi, puesto que son dos elementos muy utilizados por los makers, pero a veces la gente no tiene muy claro en qué casos usar Arduino o Raspberry Pi y para qué tipo de proyectos es más adecuado uno u otro. En este artículo explico las diferencias y en qué tipo de proyectos es más adecuado usarlos: https://aprendiendoarduino.wordpress.com/2017/06/19/arduino-vs-raspberry-pi-3/

Ahora uso más Raspberry Pi porque estoy preparando el próximo curso de Desarrollo Soluciones IoT con Herramientas Libres, así que dejo aquí algunos elementos necesarios para los que se quieren iniciar con Raspberry Pi. Incluso estoy planteandome hacer cursos de Raspberry Pi.

Raspberry Pi 3 Model B

Raspberry Pi es un ordenador de placa reducida, ordenador de placa única u ordenador de placa simple (SBC) de bajo coste desarrollado en el Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de informática en las escuelas.

Una Raspberry Pi es un ordenador de tamaño reducido con linux.

La placa Raspberry Pi 3 Model B o B+ es posible comprarla por poco más de 30€, son los últimos modelos de Raspberry Pi. Una comparativa entre ambas placas puede verse en https://www.xataka.com/ordenadores/llega-la-nueva-raspberry-pi-3-model-b-mismo-precio-pero-mas-velocidad-y-wifi-de-doble-banda

En este enlace puedes comprarla con envío gratuito: https://www.gearbest.com/raspberry-pi/pp_488334.html?wid=1451237

Alimentador para Raspberry Pi

Raspberry Pi se alimenta con un alimentador AC/DC a 5V con conector microUSB, el mismo que la mayoría de los móviles.

Un problema muy común es que la potencia del alimentador no es suficiente, por ello es importante elegir un alimentador con la potencia suficiente para la Raspberry Pi.

Si además quieres apagar y encender la Raspberry Pi, aunque se debe tener cuidado si no la has apagado desde software, puedes usar este cable USB:

Puedes comprarlo por aproximadamente 2€ con envío gratuito en: https://www.gearbest.com/chargers-cables/pp_009456972686.html?wid=1433363

Caja Oficial Raspberry Pi

Si vas a usar una Raspberry Pi el accesorio imprescindible es la caja oficial, para proteger la placa y evitar contactos con superficies metálicas.

Puedes comprarlo por aproximadamente 3€ en: https://es.gearbest.com/raspberry-pi/pp_391810.html?wid=1433363

Adaptador Protoboard Raspberry Pi

Cualquier maker necesitará este adaptador del GPIO de Raspberry Pi para protoboard, permite conectar de forma sencilla los pines GPIO de la Raspberry Pi a una protoboard.

Puedes comprarla por unos 6€ con envío gratuito en: https://es.gearbest.com/raspberry-pi/pp_278162.html?wid=1451237  

Placa de Conexiones Raspberry Pi

Si quieres conectar sensores, actuadores o cualquier otro dispositivo a los pines de expansión GPIO de Raspberry Pi, la mejor forma de hacerlo de una forma sencilla y segura que no van a a salir los cables es con esta placa de expansión.

Puedes comprarla por menos de 10€ con envío gratuito en https://es.gearbest.com/raspberry-pi/pp_424133.html?wid=1451237

Pantalla Táctil 5’’

Otro de los accesorios imprescindibles si no puedes conectar la Raspberry Pi a un monitor o TV es la pantalla táctil, con la ventaja que tampoco necesitarás llevar el teclado y ratón para manejarla. Es el accesorio ideal para usar Raspberry Pi en modo quiosco y mostrar datos con un espacio reducido.

Puedes comprarla por unos 45€ en https://es.gearbest.com/raspberry-pi/pp_278164.html?wid=1433363

Arduino UNO, Nano y NodeMCU ESP8266 a buen precio

Una de las preguntas que me hacen con más frecuencia es donde comprar Arduinos a buen precio. Una de las opciones para comprar Arduinos es GearBest https://www.gearbest.com/

Aquí os dejo tres Arduinos que puedes usar en muchos proyectos y que en función del proyecto y sus necesidades doy pistas para optar por uno u otro.

Arduino UNO

Arduino UNO es el Arduino más popular y del que existe más documentación en Internet. Es el Arduino perfecto para iniciarse y al tener el factor de forma estándar de Arduino puedes ponerle alguno de los miles de shields disponibles en el mercado, aquí puedes ver algunos ejemplos https://www.gearbest.com/arduino-shields-_gear/

Un detalle de estos Arduinos es que es necesario instalarse el driver de conversor de puerto serial a USB. Este Arduino dispone de un chip CH340G como conversor serial a USB y por lo tanto deberemos usar el driver de este chip y que podemos encontrar su última versión en http://www.wch.cn/download/CH341SER_EXE.html. Enlaces de descarga:

En este enlace puedes comprarlo por alrededor de 4€ y con envío gratuito a España: https://www.gearbest.com/boards-shields/pp_228782.html?wid=1433363

Arduino Nano

Arduino Nano es el Arduino ideal para los proyectos donde es necesario un Arduino con el microcontrolador ATmega328P del Arduino UNO pero con un tamaño mucho más pequeño, menor consumo e incluso alimentar mediante batería.

Al igual que el Arduino UNO, este Arduino Nano dispone de un chip CH340G como conversor serial a USB y por lo tanto deberemos usar el driver de este chip y que podemos encontrar su última versión en http://www.wch.cn/download/CH341SER_EXE.html. Enlaces de descarga:

En este enlace puedes comprarlo por alrededor de 4€ y con envío gratuito a España: https://www.gearbest.com/boards-shields/pp_265453.html?wid=1433363

NodeMCU ESP8266

Si quieres empezar a trabajar con ESP8266 o tu proyecto con Arduino necesita de conexión wifi, el módulo más adecuado es el NodeMCU ESP8266 por su facilidad de uso y pequeño tamaño.

Se trata de la versión de hardware v1.0, debe tenerse en cuenta porque las versiones anteriores cambian bastante los pines y los drivers a instalar.

Comparación entre versiones:

Para usar el NodeMCU es necesario instalar el driver del chip adaptador de serial a USB. Esta placa dispone de un chip CP2102 como conversor serial a USB y por lo tanto deberemos usar el driver de este chip y que podemos encontrar su última versión en https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

En este enlace puedes comprarlo por alrededor de 4€ y con envío gratuito a España: https://www.gearbest.com/transmitters-receivers-module/pp_366523.html?wid=1433363

Si quieres más información sobre el uso del ESP8266 y del nodeMCU puedes ver estos artículos del curso avanzado de Arduino:

También hablo del nodeMCU en estos dos vídeos del curso de ESP8266:

Eventos Arduino Day 2018

Los hashtags: #ArduinoD18 #LaRiojaArduinoD18

Qué es el Arduino Day

Arduino Day es una celebración mundial del cumpleaños de Arduino. Es un evento de 24 horas, organizado directamente por la comunidad o por los fundadores de Arduino, que reúne a las personas para compartir sus experiencias y aprender más sobre la plataforma de código abierto.

Este año hemos decidido dedicar el Arduino Day en Logroño a Arduino en la Educación.

Anteriores Ediciones

Año 2016 – Taller Iniciación Arduino: https://www.aprendiendoarduino.com/talleres-arduino/arduino-day/

Año 2017 – Arduino en el IoT: https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-2017/

Eventos Arduino Day 2018 Esta Semana

Curso Arduino para docentes los días 8  y 9 de mayo: https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-2018-logrono/iniciacion-arduino-para-docentes/

Industrializa tu PCBA con Norpoo https://www.norpoo.es/

Taller de Escornabot en área UR-Maker https://www.unirioja.es/urmaker/

Eventos Arduino Day 2018 Hoy

Agenda: https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-2018-logrono/

Meetup merienda maker: http://meetu.ps/e/FfWY1/zhT8k/f

Concurso con premios, para el Arduino Day en Logroño tenemos preparado el sábado por la tarde en La Trastienda https://buff.ly/2rwb9wi un concurso con premios para los que más sepan de Arduino

Premios:

  • 2 kits completos Arduino
  • 7 Arduinos UNO
  • 5 Arduinos nano

Video. Conectar ESP8266 a Internet. WifiClient

TODO: poner enlace al vídeo

Una vez escaneadas las redes, vamos a conectarnos a una de ellas y acceder a internet llegando a un servidor y ver su contenido.

El ejemplo WiFiClientBasic que podemos encontrar en Archivos – Ejemplos – ESP8266WiFi – WiFiClientBasic.

Este ejemplo se conecta a una red WiFi y manda un mensaje a un servidor TCP, en este caso a la IP 192.168.1.1 y al puerto 80.

La clase ESP8266WiFiMulti es igual que la clase ESP8266WiFi pero que permite configurar múltiples conexiones a puntos de acceso que en caso de perder la conexión se conecte al siguiente: http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/station-examples.html?highlight=ESP8266WiFiMulti

Con WiFi.mode(WIFI_STA); pongo el ESP8266 en modo estación, es decir, para conectar a una red WiFi de un punto de acceso.

Para más información:

Una vez conectado entramos en el loop y me conecto a un servidor como cliente. La clase cliente permite acceder a servicios de los servidores pudiendo enviar y recibir datos:

NOTA: en caso que el router wifi de una IP en otro rango que no sea el 192.168.1.x, cambiar la IP de la variable host por la IP del router wifi al que nos conectamos.

Ejercicio propuesto: conectar a https://www.aprendiendoarduino.com/servicios/aprendiendoarduino/ y leer el mensaje que devuelve.

Solución: https://github.com/jecrespo/aprendiendoarduino-curso-esp8266-youtube/blob/master/WiFiClientBasicMejorado/WiFiClientBasicMejorado.ino

En este caso debemos usar un lenguaje de comunicación común para hablar entre el servidor y el ESP8266, es el mismo lenguaje que usa cualquier navegador que se conecta a una página web y es el HTTP.

Una vez conectados al puerto 80 debe mandar un GET con la ruta del servidor y acabar con una línea nueva, tal y como funciona este protocol. Para ello mando:

client.println("GET /servicios/aprendiendoarduino/ HTTP/1.0");
client.println("Host: www.aprendiendoarduino.com");
client.println();

Si todo funciona bien recibiré la respuesta “HTTP1.1 200 OK” seguido de las cabeceras y luego una línea nueva, tras la cual aparecerá la respuesta del servidor. Para leer todas las líneas y no solo la primera es necesario hacer un bucle while mientras haya datos recibidos con la instrucción client.available(): https://www.arduino.cc/en/Reference/WiFiClientAvailable

NOTA: es necesario añadir la cabecera HTTP “Host: www.aprendiendoarduino.com” para que el hosting de la web resuelva el nombre del dominio.

La respuesta obtenida es:

Mensaje oculto: “Bienvenido al servidor de www.aprendiendoarduino.com

Más información sobre el protocolo HTTP: https://aprendiendoarduino.wordpress.com/2017/06/26/protocolo-http-2/

Resultado de imagen de Cliente-servidor-tcp.jpeg

Sigfox

Sigfox: es una solución de conectividad celular mundial para el Internet of Things pensada para comunicaciones de baja velocidad que permite reducir los precios y el consumo de energía para los dispositivos conectados. La solución de conectividad SIGFOX se basa en una infraestructura de antenas y de estaciones de base totalmente independientes de las redes existentes.

Sigfox es una alternativa de amplio alcance, que en términos de alcance está entre Wi-Fi y la comunicación móvil. Utiliza bandas ISM, que se pueden utilizar sin necesidad de adquirir licencias. Sigfox responde a las necesidades de muchas aplicaciones M2M que funcionan con una batería pequeña y solo requieren niveles menores de transferencia de datos, allí donde WiFi se queda demasiado corto y la comunicación móvil es muy cara y consume demasiada energía.

Sigfox utiliza una tecnología llamada Ultra Narrow Band (UNB) diseñada para funcionar con bajas velocidades de transferencias de 10 a 1.000 bits por segundo.

Sigfox usa la modulación de banda estrecha BPSK para hacer redes IoT de área amplia (WAN). LoRaWan usa un formato de modulación y sigfox usa otra modulación.

Al transmitir a través de un canal UNB, es decir, 200Hz de ancho en la señalización SIGFOX, se requiere poca potencia para transmitir datos a distancias considerables con poca fecha de datos de aire. Los sistemas UNB se usan frecuentemente en un solo sentido, desde un sensor (dispositivo terminal) hasta una estación base, pero es posible que se requieran servicios bidireccionales de vez en cuando. Por ejemplo, un sensor en un aparcamiento que indica si un espacio en particular está vacío solo tiene que transmitirse una vez cuando un automóvil ingresa al espacio, y una vez más cuando un automóvil se va y opcionalmente abre su receptor unas cuantas veces cada hora para escuchar comandos del sistema.

SIGFOX es relativamente único en este mercado, como controlador de tecnología y proveedor de servicios, al ofrecer la certificación de módem para que el dispositivo compatible con SIGFOX se pueda suscribir a la red únicamente administrada por SIGFOX Network Operator (SNO). Esto es similar al operador de telecomunicaciones en el negocio celular, excepto que solo se enfoca en OBJETOS CONECTADOS. Su beneficio es el chipset disponible comercialmente que permite acelerar el crecimiento del mercado y la adopción temprana de tecnología. El servicio SIGFOX está actualmente disponible en 45 países en todo el mundo en 2018 https://www.sigfox.com/en/news/sigfox-expands-its-global-network-45-countries

Buena explicación de Adafruit para LoRa y Sigfox: https://learn.adafruit.com/alltheiot-transports/lora-sigfox

Ultra Narrow Band (UNB)

UNB, Ultra Narrow Band, tecnología de modulación utilizada por LPWAN por varias compañías, incluyendo:

  • Sigfox, UNB-based technology de origen francés.
  • Telensa: https://www.telensa.com/
  • NB-IoT, otro estándar de banda estrecha iniciado y completado por 3gpp con su lanzamiento de la serie de estandarizaciones de IoT. Más inforamción: https://en.wikipedia.org/wiki/NarrowBand_IOT
  • Nwave, es una empresa que hace cosas muy similares a SIGFOX utilizando el estándar Weightless. Usa una tecnología patentada desarrollada en cooperación con MIT. Su primera versión sin códigos de corrección de errores, también forma la base del protocolo abierto Weightless-N.
  • Weightless, a set of communication standards from the Weightless SIG
  • Neul, el concepto de este sistema es similar al de Sigfox y funciona en la banda sub-1GHz. Neul Utiliza la infraestructura actual móvil 4G para una solución NB-IoT
  • Z-Wave es una tecnología RF de bajo consumo diseñada inicialmente para productos de domótica como controladores de iluminación y sensores. Optimizado para la comunicación fiable de baja latencia de pequeños paquetes de datos, alcanza velocidades de datos de hasta 100kbit/s, opera en la banda de sub-1 GHz y es robusta frente a interferencias de Wi-Fi y otras tecnologías inalámbricas en el rango 2,4 GHz como Bluetooth o ZigBee. Más información: https://en.wikipedia.org/wiki/Z-Wave

Ultra Narrow Band (UNB) generalmente se refiere a la tecnología que transmite por un canal de espectro muy estrecho, es decir <1KHz, para lograr un enlace de larga distancia (5 km en el área urbana o 25km en campo abierto) para el enlace de datos entre el transmisor y el receptor. Esto tiene sentido desde el punto de vista teórico debido a la excelente relación entre la potencia y el ruido de recepción bajo en banda (los filtros de recepción estrechos  eliminan la mayor parte del ruido). Una alternativa es usar comunicación de banda ancha, alta velocidad de datos y agregar ganancia de codificación (como CSS en LORA). Sin embargo, dado el mismo rendimiento neto de datos, ambos sistemas tendrán un rango similar.

Más sobre UNB:

UNB solo permite un operador en una frecuencia libre, en españa es Sigfox operado por Cellnex.

Tecnología Sigfox

SigFox se encuentra disponible a través de los principales proveedores de chips y módulos del mercado (entre otros; Silicon Labs, Texas Instrument, Intel, Telecom Design, o ETSI), ofreciéndoles soporte y facilidades para la integración de sus equipos en la red. SigFox, que busca la normalización de sus soluciones para la comunicación en el IoT, permite así la interoperabilidad entre equipos de distintos fabricantes. Además de este soporte, SigFox ofrece la posibilidad de certificar los dispositivos con la marca SigFox Ready. Este proceso pretende clasificar los dispositivos en función de la cobertura y el alcance radio al que pueden tener acceso, con categorías de 0 a 3; siendo la 0 la que mejor calidad radio ofrece, y la 3 la que da una calidad más baja.

Una vez fabricados y certificados los dispositivos, queda desarrollar aplicaciones para ellos, de manera que se podrían reemplazar soluciones existentes porque el uso de SigFox fuese más conveniente en diversos campos de estudio, o bien se podrían desarrollar aplicaciones completamente nuevas e innovadoras para su introducción en el mercado.

SIGFOX emplea un sistema de tipo celular que permite que los dispositivos remotos se conecten usando tecnología de banda ultraancha (UNB).

Sigfox en Cellnex. https://www.cellnextelecom.com/productos-y-servicios/smart-cities-iot-seguridad/internet-of-things/

Cómo funciona la red sigfox:

Los tres pilares de Sigfox son: bajo coste, eficiencia y alcance global

Así, basándose en los tres pilares fundamentales, las características más destacables de lo que ofrecen a sus clientes son las siguientes:

  • Frecuencias libres (ISM) resistentes frente a interferencias
  • Conectividad Ultra Narrow Band (UNB) bidireccional
  • Compatibilidad con los chips existentes
  • Conforme con ETSI y FCC
  • Eficiencia energética: han logrado que la autonomía de algunos productos se prolongue hasta 15 años
  • Conexión sencilla (plug & play)
  • Gestión basada en la nube
  • Cobertura internacional
  • Libre de derechos y royalties

Interesante Comparativa de  redes LPWAN: https://www.sciencedirect.com/science/article/pii/S2405959517302953

Red Sigfox

SIGFOX es muy simple: ni códigos, ni configuración, ni peering. Busca algo sencillo y que el usuario no tenga que estar insertando códigos, PINs o claves complejas, por ello se adapta tan bien al IoT.

En el caso de smartphones y tablets, actualmente no son compatibles con esta red, pero, al no tener licencia de uso, su inclusión sería realmente económica y sencilla.

Lo cierto es que la red SIGFOX, por el uso que hace de los datos, tiene más de inspiración en el telégrafo o en Twitter que en las redes de banda ancha.

El enlace de radio SIGFOX utiliza bandas de radio ISM sin licencia. Las frecuencias exactas pueden variar de acuerdo a las regulaciones nacionales, pero, en Europa, la banda de 868 MHz es la más utilizada mientras que en EE UU es la de 915 MHz. La densidad de las células en la red SIGFOX se basa en un rango promedio de unos 30-50km en las zonas rurales. En las zonas urbanas, donde hay más obstáculos y el ruido es mayor, la densidad podrá reducirse a entre 3 y 10 km . Las distancias pueden ser mucho mayores para los nodos al aire libre, donde SIGFOX ha conseguido alcances de más de 1.000 kilómetros, lo que la hace especialmente adecuada para zonas despobladas o lejanas.

SigFox para la comunicación, proporciona una infraestructura de telecomunicación ya construida e independiente de cualquier red existente, con un bajo ancho de banda, y mejor adaptado a la transmisión de mensajes pequeños frente a otras alternativas, como LoRa. El uso del backend de SigFox (https://backend.sigfox.com/) como punto final de la comunicación, que recibirá los datos enviados por el módem y los presentará a través de su página web. Estos mensajes se reenviarán, mediante callback, a servicios externos para la generación de estadísticas y alarmas en tiempo real, haciendo innecesario el gateway que se usa con LoRa.

Arduino y LoRaWAN

Arduino MKR WAN 1300

MKR WAN 1300 es una placa potente que combina la funcionalidad de la conectividad MKR Zero y LoRa. Es la solución ideal para los fabricantes que desean diseñar proyectos de IoT con una mínima experiencia previa en redes que tengan un dispositivo de baja potencia.

La placa MKR WAN 1300 tiene comunicación inalámbrica unido a un diseño de la placa MKR Zero Board, es decir, que tendremos soporte para aplicaciones de 32 bits. La placa cuenta con 256KB de Memoria flash y 32KB SRAM. Puede funcionar con la energía de dos pilas de 1,5V y todo en un tamaño de 67,64 x 25mm. Al tener comunicación inalámbrica, el dispositivo al que se conecte tendrá opción de comunicarse a Internet.

El MKR WAN 1300 usar el módulo Murata CMWX1ZZABZ Lo-Ra module que lleva el transceiver Semtech SX1276:

Más información: https://store.arduino.cc/mkr-wan-1300

Buen artículo para sobre el MKR 1300: http://tinkerman.cat/arduino-mkr-wan-1300/

Moteino

Moteino es una plataforma de desarrollo compatible con Arduino inalámbrica de baja potencia basada en el popular chip ATmega328p utilizado en el Arduino-UNO, lo que lo hace 100% compatible con el IDE de Arduino (entorno de programación).

Para la programación, necesitará un adaptador FTDI externo para cargar los sketchs, con las ventajas de un menor costo y un tamaño más pequeño. La variante MoteinoUSB incluye el convertidor de serie USB.

Los Moteinos son compatibles y se pueden comunicar con cualquier otra plataforma Arduino o de desarrollo que utilice los populares transceptores HopeRF RFM69 o LoRa. Moteino también viene con un chip de memoria flash SPI opcional para programación inalámbrica o registro de datos.

Web Moteino: https://lowpowerlab.com/guide/moteino/

Moteino fue diseñado para ser una plataforma de desarrollo compacta, altamente personalizable y asequible, adecuada para IoT, domótica y proyectos inalámbricos de largo alcance. Estas son algunas de las características que distinguen a Moteino:

  • diseño modular pequeño y ligero que se adapta a recintos minúsculos
  • las configuraciones flexibles permiten el uso de varios transceptores inalámbricos
  • potencia realmente ultra baja: con tan solo ~ 2uA alcanzables en el modo de suspensión profunda, los Moteinos permiten que los proyectos con batería, como los sensores inalámbricos de movimiento/entorno, funcionen durante años. El modo de suspensión de Watchdog está en ~ 6uA (activación periódica). El nuevo 8Mhz Moteino permite el modo de sueño 100nA más bajo posible
  • Las radios sub-Ghz y LoRa producen un rango mucho más largo que las bandas de 2.4Ghz
  • programable de forma inalámbrica: puede volver a flashearlo sin cables, cuando se implementa en ubicaciones difíciles (solo con radios RFM69)
  • fácil de usar desde el familiar IDE Arduino, muchos ejemplos de código brindados para ayudarlo a comenzar

Pinout:

Los transceiver soportados por Moteino son:

Transceiver Datasheets

Muy buena explicación de los módulos de Adafruit: https://learn.adafruit.com/adafruit-rfm69hcw-and-rfm96-rfm95-rfm98-lora-packet-padio-breakouts/overview

Librería para los módulos RFM69: https://github.com/LowPowerLab/RFM69

IMPORTANTE: Los módulos RFM69 no son LoRa y no son compatibles con los módulos RFM95/RFM96. Además los módulos RFM95/RFM96 necesitan de una librería de terceros.

Más información RFM69:

Uso con Lora: https://lowpowerlab.com/guide/moteino/lora-support/

Librería para los módulos LoRa RFM95 (868-915mhz) and RFM96 (433mhz).: http://www.airspayce.com/mikem/arduino/RadioHead/index.html

Getting started para instalar el soporte y las librerías: https://lowpowerlab.com/guide/moteino/programming-libraries/

Github: https://github.com/LowPowerLab y Librería: https://github.com/LowPowerLab/Moteino

Comprar Moteino:https://lowpowerlab.com/shop/

Moteino weather shield: https://lowpowerlab.com/2016/09/09/weathershield-r2-released/ with a BME280 which includes all Temperature/Humidity/Pressure readings all in 1 sensor.

Moteino PowerShield: https://lowpowerlab.com/guide/powershield/

Gateway LoRa con Moteino + Raspberry Pi:

Dragino

En Dragino http://www.dragino.com/ podemos encontrar Hardware para LoRa: http://www.dragino.com/products/products-list.html

Wiki: http://wiki.dragino.com/index.php?title=Main_Page

La librería recomendada es: https://github.com/matthijskooijman/arduino-lmic, pero puede usarse la librería Radiohead: http://www.airspayce.com/mikem/arduino/RadioHead/

LoRa Shield:

Otro HW LoRa compatible con Arduino

Existen más HW de desarrollo compatible con Arduino con módulos LoRa diferentes:

Gateways LoRa

En las redes LoRaWan un gateway es un dispositivo dentro de la arquitectura de red que recibe los datos transmitidos por un dispositivo de nodo final y que reenvían los paquetes de datos a un servidor de red centralizado. Los datos de un nodo final LoRa pueden ser recibidos por múltiples puertas de enlace (gateway),

Los gateways o puertas de enlace son un puente transparente entre los dispositivos finales y el servidor de red central. Uno o más dispositivos finales se conectan a una o más puertas de enlace, mediante una conexión inalámbrica de un solo salto, usando tecnología RF LoRa™ o FSK, formando así una red en estrella.

Una o más puertas de enlace se conectan al servidor de red central por medio de conexiones IP estándar, formando así una red en estrella. Las comunicaciones entre los dispositivos y el servidor de red, son generalmente unidireccionales o bidireccionales, pero el estándar también soporta multidifusión, permitiendo la actualización de software en forma inalámbrica, u otras formas de distribución de mensajes en masa.

Los gateways son enrutadores equipados con un concentrador LoRa, lo que les permite recibir paquetes LoRa. Por lo general, puede encontrar dos tipos de puertas de enlace:

  • Las pasarelas se ejecutan con un firmware mínimo, por lo que son de bajo costo y fáciles de usar (por ejemplo, The Things Gateway) y solo ejecutan el software de reenvío de paquetes.
  • Gateways que ejecutan un sistema operativo, para el cual el software de reenvío de paquetes se ejecuta como un programa de fondo (por ejemplo, Kerlink IoT Station, Multitech Conduit). Esto le da más libertad al administrador del gateway para administrar su puerta de enlace e instalar su propio software.

Una forma de montar un gateway LoRa barato es con una Raspberry Pi y un hat de Moteino con un módulo LoRa:

Un gateway simple con LoPy: https://www.hackster.io/bucknalla/lopy-lorawan-nano-gateway-using-micropython-and-ttn-a9fb19

Construir un gateway LoRa barato: http://cpham.perso.univ-pau.fr/LORA/RPIgateway.html

Módulos LoRa para conectar un ordenador y haga de gateway: https://www.cooking-hacks.com/waspmote-gateway-sx1272-lora-sma-4-5-dbi-868-mhz y tutorial LoRa gateway Libelium: http://www.libelium.com/development/waspmote/documentation/lora-gateway-tutorial/

Lista de gateways de loriot: https://www.loriot.io/lora-gateways.html

The things gateway: https://www.thethingsnetwork.org/docs/gateways/gateway/

The Things Gateway permite que dispositivos como sensores y computadoras integradas se conecten a internet. Con un proceso fácil de conectar, está creando el aspecto más sustancial de su red de datos IoT. Active la puerta de enlace en solo 5 minutos y cree su propia red local. Con la capacidad de servir a miles de nodos, la puerta de enlace es el componente principal de su red conectada. Esta versión funciona a 868MHz para uso en la UE y 915Mhz para uso en los EE.UU.

Lista de gateways de thethingsnetwork:

Gateway draguino (open wrt): http://www.dragino.com/products/lora/item/119-lg01-s.html

Ejemplo con Dragino para usarlo como gateway (Lora Shield + Arduino Yun Shield):

Más información:

Librería RadioHead LoRa

Una de las librerías más usadas para módulos LoRa con Arduino es RadioHead: http://www.airspayce.com/mikem/arduino/RadioHead/index.html

Proporciona una biblioteca completa orientada a objetos para enviar y recibir mensajes paquetizados a través de una variedad de radios de datos comunes y otros transportes para microprocesadores integrados.

RadioHead consta de 2 grupos principales de clases: driversy managers.

  • Los drivers proporcionan acceso de bajo nivel a un rango de diferentes radios y otros transportes de mensajes paquetizados.
  • Los managers brindan servicios de envío y recepción de mensajes de alto nivel para una variedad de requisitos diferentes.

Cada programa de RadioHead tendrá una instancia de un driver para proporcionar acceso a la radio o transporte de datos, y generalmente un manager que usa ese driver para enviar y recibir mensajes para la aplicación. El programador debe instanciar un driver y un manager e inicializar el manager. A partir de entonces, las funciones del manager se pueden usar para enviar y recibir mensajes.

También es posible usar un driver por sí mismo, sin un manager, aunque esto solo permite un transporte no confiable y sin dirección a través de las funciones del driver.

Se admite una amplia gama de plataformas de microprocesadores.

Unos ejemplos de drivers:

  • RH_RF69 Works with Hope-RF RF69B based radio modules, such as the RFM69 module
  • RH_NRF24 Works with Nordic nRF24 based 2.4GHz radio modules, such as nRF24L01 and others.
  • RH_RF95 Works with Semtech SX1276/77/78/79, Modtronix inAir4 and inAir9, and HopeRF RFM95/96/97/98 and other similar LoRa capable radios. Supports Long Range (LoRa) with spread spectrum frequency hopping, large payloads etc.
  • RH_Serial Works with RS232, RS422, RS485, RS488 and other point-to-point and multidropped serial connections, or with TTL serial UARTs such as those on Arduino and many other processors, or with data radios with a serial port interface. RH_Serial provides packetization and error detection over any hardware or virtual serial connection. Also builds and runs on Linux and OSX.
  • RHEncryptedDriver Adds encryption and decryption to any RadioHead transport driver, using any encrpytion cipher supported by ArduinoLibs Cryptogrphic Library http://rweather.github.io/arduinolibs/crypto.html

Managers, cualquier manager puede usarse con cualquier driver:

  • RHDatagram Addressed, unreliable variable length messages, with optional broadcast facilities.
  • RHReliableDatagram Addressed, reliable, retransmitted, acknowledged variable length messages.
  • RHRouter Multi-hop delivery of RHReliableDatagrams from source node to destination node via 0 or more intermediate nodes, with manual routing.
  • RHMesh Multi-hop delivery of RHReliableDatagrams with automatic route discovery and rediscovery.

Esta librería es compatible entre otros con:

Para los módulos con moteino que se ha usado en la demo, son necesarios los drivers: http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html

Si se quiere añadir una capa de seguridad debe usarse la clase: http://www.airspayce.com/mikem/arduino/RadioHead/classRHEncryptedDriver.html

Si se quiere usar direccionamiento debe usarse la clase: http://www.airspayce.com/mikem/arduino/RadioHead/classRHDatagram.html

IMPORTANTE PARA MODULOS LORA, la librería está configurada por defecto a 434: Check if you have set the right frequency:After putting the library in the right place, you have to also modify the frequency to the frequency you want to use, the position of this issetFrequency() in the file: arduino-xxx\libraries\RadioHead\RH_RF95.cpp;

Para los módulos RFM95 de moteino debe ponerse: setFrequency(868.0);

He hecho un fork de la librería con la modificación para módulos LoRa: https://github.com/jecrespo/RadioHead

Proyecto LoRa con Moteino

A la hora de afrontar un proyecto con LoRa para monitorizar un entorno donde no tenemos acceso a una red ethernet/wifi ni toma eléctrica, podemos planteamos usar Moteino como una solución basada en Arduino de bajo consumo y con módulos LoRa integrados.

La primera duda es que módulo de radio o transceiver usar el RFM69 o RFM95:

  • RFM69 no es LoRa usa modulación FSK en lugar de la modulación LoRa
  • RFM95 es LoRa estándar.

RFM69 y RFM95 son módulos de radio para comunicación a larga distancia, donde la velocidad de transmisión no es crítica (no se hace streaming de vídeo). Al usar modulación diferente no son compatibles entre ellos.

Estos módulos de radio vienen en cuatro variantes (dos tipos de modulación y dos frecuencias). Los RFM69 son los más fáciles de usar, y son bien conocidos y entendidos. Las radios LoRa son más potentes, pero también más caros.

Comparativa y explicación de los módulos: https://learn.adafruit.com/adafruit-rfm69hcw-and-rfm96-rfm95-rfm98-lora-packet-padio-breakouts

Transceiver Moteino: https://lowpowerlab.com/guide/moteino/transceivers/

RFM69

Módulo basado en SX1231 con interfaz SPI

  • +13 a +20 dBm hasta 100 mW Capacidad de salida de potencia (salida de potencia seleccionable en software)
  • Drenaje de corriente de 50 mA (+13 dBm) a 150 mA (+20 dBm) para transmisiones, ~ 30 mA durante la escucha de radio activa.
  • Las radios RFM69 tienen un alcance de aprox. Línea de visión de 500 metros con antenas unidireccionales sintonizadas. Dependiendo de las obstrucciones, la frecuencia, la antena y la potencia de salida, obtendrá rangos más bajos, especialmente si no tiene línea de visión.
  • Crear redes multipunto con direcciones de nodo individuales
  • Motor de paquete cifrado con AES-128

Guía completa del módulo de radio RFM69: https://learn.sparkfun.com/tutorials/rfm69hcw-hookup-guide

Librería Arduino RFM69: https://github.com/LowPowerLab/RFM69

Completa información RFM69: http://www.hoperf.com/upload/rf/RFM69W-V1.3.pdf

Explicación de librería RFM69 https://lowpowerlab.com/2013/06/20/rfm69-library/

RFM95

Módulo basado en LoRa® SX1276 con interfaz SPI

  • Capacidad de salida de potencia de +5 a +20 dBm hasta 100 mW (salida de potencia seleccionable en software)
  • ~ 100mA de pico durante la transmisión de + 20dBm, ~ 30mA durante la escucha activa de la radio.
  • Las radios RFM9x tienen un rango de aprox. Línea de visión de 2 km con antenas unidireccionales sintonizadas. Dependiendo de las obstrucciones, la frecuencia, la antena y la potencia de salida, obtendrá rangos más bajos, especialmente si no tiene línea de visión.

Estos son radios de paquete LoRa de +20 dBm que tienen una modulación de radio especial que no es compatible con los RFM69 pero que puede ir mucho más lejos. Pueden ir fácilmente a la línea de vista de 2 km utilizando antenas de cable simples, o hasta 20 km con antenas direccionales y ajustes.

Completa información RFM95: http://www.hoperf.com/upload/rf/RFM95_96_97_98W.pdf

Librería: http://www.airspayce.com/mikem/arduino/RadioHead/

SX127x Datasheet – The RFM9X LoRa radio chip itself

Librería: http://www.airspayce.com/mikem/arduino/RadioHead/

Módulos Moteino Usados

Optamos LoRa porque da entre un 50% y 100% más de alcance.

LoRa support for Moteino: https://lowpowerlab.com/guide/moteino/lora-support/

Todo sobre moteino y como programarlo: https://lowpowerlab.com/guide/moteino/

Los moteino a usar con LoRa son los moteinoLR y mejor moteinoUSB-LoRa que ya tiene el interfaz USB:

Para wireless programming necesitas las flash extra: https://lowpowerlab.com/guide/moteino/wireless-programming/

Gateway

Si queremos conectar a Internet los sensores, necesitamos un gateway.

Gateway con Raspberry Pi:

Otra opción de gateway es usar un shield LoRa de dragino:

Productos de dragino: http://www.dragino.com/products/products-list.html

Cloud

Ya tenemos el nodo y el gateway, nos falta el cloud que podemos hacerlo con muchas plataformas IoT.

Thingspeak: https://thingspeak.com/

Demo LoRa con Moteino

Medición de temperatura remota de forma inalámbrica usando LoRa con un MoteinUSB with flash https://lowpowerlab.com/guide/moteino/. Integración de los datos en un servidor propio https://www.aprendiendoarduino.com/ y en thingspeak https://thingspeak.com/. Se usa un gateway sencillo de reenvio de mensajes usando un Arduino Yun conectado por WiFi a Internet y un shield LoRa http://www.dragino.com/products/lora/item/102-lora-shield.html

Hardware Utilizado en el módulo LoRa

Hardware utilizado en el gateway:

Esta demo consiste en un cliente basado en un moteino alimentado por batería que manda datos de temperatura de una sonda DHT22 a un nodo central que hace de gateway basado en un Arduino Yun con un shield Lora de Draguino.

Cliente

Para empezar con Moteino, lo primero es instalar el soporte para estas tarjetas e instalar las librerías: https://lowpowerlab.com/guide/moteino/programming-libraries/

Luego la guía de programación con el IDE de Arduino: https://lowpowerlab.com/guide/moteino-programming/arduinoide/

Para LoRa usamos el módulo RFM95: https://lowpowerlab.com/guide/moteino/transceivers/ y necesitaremos la librería recomendada que soporta LoRa: https://lowpowerlab.com/guide/moteino/lora-support/. Para estos módulos la librería recomendada es: http://www.airspayce.com/mikem/arduino/RadioHead/index.html, la descargamos e instalamos.

Tomando como base el ejemplo rf95_client de la librería Radiohead modificado para mandar la temperatura de una sonda DHT22 que es un dato de tipo float, en lugar de “Hello World”.

El código del cliente está disponible en: https://github.com/jecrespo/aprendiendoarduino-lora/blob/master/Demo_LoRa/rf95_client/rf95_client.ino

Servidor/Gateway

Se usa un Arduino Yun https://store.arduino.cc/arduino-yun que dispone de conexión ethernet y wifi y para la red LoRa uso un LoRa shield de draguino http://www.dragino.com/products/module/item/102-lora-shield.html

Más información sobre el shield ver este documento: http://wiki.dragino.com/index.php?title=Lora_Shield

Para este shield uso la misma librería: http://www.airspayce.com/mikem/arduino/RadioHead/index.html,

Tomando como base el ejemplo rf95_server de la librería Radiohead modificado para recibir un float y sacarlo por el puerto de consola.

IMPORTANTE: en el ejemplo de rf95_server no usar el pin 9 para el led (int led = 9;) porque el pin 9 se usa como reset en el shield de draguino.

Una vez comprobado que el servidor recibe datos, debe hacer su función de gateway y mandar los datos a una base de datos alojada en https://www.aprendiendoarduino.com/ y poder ver la gráfica en https://www.aprendiendoarduino.com/servicios/datos/graficas.html

Para grabar datos se debe llamar a una API desde el arduino Yun. Uso el HTTP client para mandar datos https://www.arduino.cc/en/Tutorial/HttpClient. De esta forma hace el Arduino Yun + Shield LoRa de Gateway reenviando los datos recibidos por LoRa a un servidor público.

El código del servidor está en https://github.com/jecrespo/aprendiendoarduino-lora/blob/master/Demo_LoRa/rf95_server/rf95_server.ino

Dispositivos Sigfox y Lora recogiendo datos en campo:

Para mandar los datos a thingspeak uso la API y mando los datos llamando a https://api.thingspeak.com/update?api_key=writeapikey&field1=22.8

Está disponible una vista publica de los datos: https://thingspeak.com/channels/440179