Arduino y 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 trabaja con fabricantes como Texas Instruments, Atmel, Silicon Labs y otros para poder ofrecer distintos tipos de SoC, transceptores y componentes de conexión a su red. 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.

La empresa que está haciendo el despliegue de la red de Sigfox en España es Cellnex Telecom antigua Abertis Telecom.

Cellnex:

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

Hardware Sigfox

Existen muchos dispositivos certificados por sigfox y pueden encontrarse en la sigfox partner network: https://partners.sigfox.com/

Dentro de los productos certificados por Sigfox lo divide:

Nosotros nos centramos en los kits de desarrollo, como por ejemplo el ATA8520 https://partners.sigfox.com/products/digikey que usa un microcontrolador ATMega328p como el Arduino UNO y el transceiver Atmel ATA8520D que también lleva el Arduino MKRFOX1200.

Entre los kits de desarrollo podemos destacar:

El Cesens mini de la empresa Riojana Encore lab es un ejemplo de un dispositivo certificado por Sigfox: https://partners.sigfox.com/products/cesens-mini

Todos estos dispositivos hay que darlos de alta en la red de Sigfox, aunque generalmente para los desarrolladores al comprar un dispositivo tenemos una suscripción de 1 o dos años a la red de Sigfox.

Comprar conectividad:https://buy.sigfox.com/ y precios: https://buy.sigfox.com/buy/offers/ES

Una vez hay un contrato, es necesario activar el kit de desarrollo en el backend de Sigfox: https://backend.sigfox.com/activate

Y ya podemos hacer nuestro proyecto con Sigfox. Muchos más proyectos con Sigfox: https://www.hackster.io/sigfox

Mensajes Sigfox

Los mensajes de Sigfox están diseñados para ser muy pequeños, optimizados para sensores y requerir sólo una pequeña cantidad de energía para transmitirlos. El payload de Sigfox está limitado a 12 bytes (excluyendo las cabeceras del payload). Un mensaje de ‘uplink’ desde un dispositivo a la estación base es enviado durante aproximadamente 6 segundos a un a velocidad de 100 bits/seg. Aunque pueda parecer una velocidad de información muy restringida, realmente hay muchas cosas que se pueden hacer con 12 bytes.

En el siguiente ejemplo muestra cómo con una estructura de 12 bytes mandar un conjunto de coordenadas GPS junto con velocidad, hora y voltaje de batería.

0 1 2 3 4 5 6 7 8 9 10 11
Lat. Lat. Lat. Lat. Lon. Lon. Lon. Lon. Vol. Sats. Acq. Spd.

Más información: http://makers.sigfox.com/getting-started/

El protocolo Sigfox soporta comunicación bidireccional. Esto significa que es posible configurar el módulo Sigfox para solicitar datos desde los servidores de Sigfox. A esto se le denomina mensaje ‘downlink’. El dispositivo Sigfox manda un mensaje de ‘uplink’ a los servidores de Sigfox solicitando un mensaje de ‘downlink’ y espera durante 30 segundos. El dispositivo espera recibir un mensaje con un payload de 8 bytes. Por la regulación ETSI, los dispositivos están limitados a 4 mensajes ‘downlink’ al día.

Debido a que el dispositivo inicia el mensaje de ‘downlink’, en lugar de la estación base, los mensajes de ‘downlink’ se usan comúnmente como configuración. Un ejemplo podría ser un dispositivo con múltiples sensores para recogida de datos que diariamente consulta los umbrales de alerta configurados en el dispositivo.

Explicación del downlink paso a paso: http://www.iotnet.mx/index.php/2017/03/02/el-downlink-de-sigfox-explicado-paso-paso/

Backend de Sigfox

Además de la red de Sigfox, tenemos los dos extremos de la comunicación: los dispositivos, emisores de mensajes, que están conectados a la red, y el punto final o backend de la comunicación, que recibe esos mensajes y los procesa para generar un resultado.

En el caso de SigFox, se ofrece el servicio llamado SigFox Cloud para el segundo propósito, que ofrece una aplicación web conocida como SigFox Backend. Desde ella, se pueden gestionar los dispositivos, visualizar los mensajes transmitidos por los mismos y configurar de integración de los datos, entre otros. Además, el servicio da la oportunidad de poder redirigir todo el volumen de información que llega al backend a cualquier aplicación ejecutada en un servidor o centro de procesamiento de datos.

Hay dos maneras de tomar los datos que recoge el backend de Sigfox:

  • Utilizando la API que proporciona el backend, basada en HTTP REST (GET o POST, indistintamente); la cual, en función del recurso pedido, devuelve un resultado concreto, con una carga útil con formato JSON.
  • Utilizando una URL de callback, identificando dicha URL a la aplicación web que desea recibir los mensajes. De esta forma, se registraría dicha URL en el backend, indicando los atributos que le interese recibir (por ejemplo, la carga útil del mensaje); y cada vez que llegase un mensaje al mismo, éste le reenviará los valores pedidos en un mensaje con formato, por ejemplo JSON.

Como hemos visto, el módem de radio de Sigfox envía ráfagas de datos a las antenas de la estación base. Idealmente, una señal es captada por más de una antena. El paquete de datos se demodula en la estación base y luego se envía al centro de datos de sigfox (backend). Luego, el centro de datos envía los datos recibidos a los suscriptores del servicio a través de servicios web de callback al estilo REST.

Centrándonos en el backend de SigFox, veamos las opciones de navegación que nos ofrece, con una breve explicación de cada una de ellas.

Cuando accedemos al portal, se nos presenta una página de bienvenida, que nos notifica de las nuevas funcionalidades incluidas en la página. También tenemos acceso a una lista de eventos de la red y a un mapa con la cobertura actual en el país. A través de la barra superior, podemos navegar por los distintos apartados de la página, diferenciando los siguientes (de izquierda a derecha):

  • Device: nos muestra los dispositivos registrados en el backend, distinguidos por un identificador único. Entre otras opciones; nos muestra estadísticas con el número de mensajes enviados diariamente, notificaciones de eventos surgidos durante la transmisión (como saltos en el número de secuencia, que indican pérdida de información), y sobre todo, los mensajes enviados; con la fecha de recepción, el contenido del mensaje (con la codificación elegida por el fabricante del dispositivo), su traducción a ASCII (si se han enviado caracteres), su localización (mostrando un rectángulo formado por la latitud/longitud, sin decimales, en la que se encuentra el dispositivo), información sobre redundancia, el nivel de la señal recibida (en dB), y la URL de callback a la que se redirige (de haberla).
  • Device Type: lista los tipos de dispositivos registrados en el backend. De esta forma, a cada conjunto de dispositivos le podemos asociar un tipo para gestionarlos de la misma manera. La opción más relevante a considerar en este apartado es el establecimiento de las URL de callback a cada tipo de dispositivo; pudiendo utilizar más de una URL para cada tipo, eligiendo entre GET o POST, y pudiendo seleccionar las variables que se desean obtener (entre otras; el identificador de dispositivo, la hora de llegada del mensaje, la potencia media de la señal, la latitud/longitud desde donde se envió el mensaje, o la carga útil).
  • User: muestra los usuarios, pertenecientes a un grupo, que tienen acceso al backend.
  • Group: gestiona los grupos configurados en el backend. A ellos se le pueden asociar usuarios, dispositivos o suscripciones. Además, SigFox le proporciona un usuario y contraseña para tener acceso a la API REST.
  • Billing: se encarga de las suscripciones a SigFox, incluyendo los servicios contratados, el número de mensajes máximo permitido o el precio de la suscripción, como aspectos más relevantes.
  • Información rápida del usuario: hace de resumen de la pestaña User, e incluye las direcciones IP con las que el usuario ha accedido al backend, junto la fecha de último acceso de cada una.
  • Redirección a la lista de eventos de red.
  • Ayuda online: dispone de documentación para el uso de callbacks y la API REST, información para el proceso de suscripción, y una breve mención al formato de los mensajes enviados.
  • Logout: para cerrar sesión.

Más información sobre el backend de Sigfox:

Lo primero que se debe hacer es registrar un dispositivo en la red de Sigfox: https://backend.sigfox.com/cms/section/52f8a5b593368ce020b924e1/info

Activar un dispositivo: https://backend.sigfox.com/activate

Video. Primeros Pasos con ESP8266

Una vez que sabemos que es el ESP8266 y tenemos el IDE instalado, vamos a aprender a usar el Wifi del ESP8266. No entramos en el uso de otras características que son comunes a Arduino y que trataré de forma genérica en otros vídeos dentro del curso de Arduino en vídeo https://www.aprendiendoarduino.com/videos/curso-arduino/.

Si quieres saber más de Arduino y de su programación puedes ver los cursos de https://www.aprendiendoarduino.com

Una forma de aprender a manejar un dispositivo hardware o una librería es leer los ejemplos y ponerlos en práctica mientras se revisa la documentación en lugar de leer toda la documentación antes de empezar a practicar. Para empezar con los módulos ESP8266 una vez instalado el soporte para las placas, lo más sencillo es ejecutar los ejemplos que vienen con el soporte instalado para los módulos ESP8266.

Para ver los ejemplos debemos primero seleccionar la placa que vamos a usar, en nuestro caso la Wemos D1 mini o la nodeMCU.

Todos los ejemplos disponibles en el IDE de Arduino los puedes encontrar en los ejemplos de las librerías que vienen con el soporte del ESP8266 para Arduino que hemos instalado anteriormente en: https://github.com/esp8266/Arduino/tree/master/libraries

WiFiScan

Veamos primero el ejemplo WiFiScan que podemos encontrar en Archivos – Ejemplos – ESP8266WiFi – WiFiScan.

Este sketch muestra cómo escanear redes WiFi y el código es casi similar al usado con el WiFi shield de Arduino pero incluyendo la librería “ESP8266WiFi.h” en lugar de “WiFi.h”

La documentación de la librería “ESP8266WiFi” está en http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html y dentro de la librería hay varias clases, entre ellas está scan para escanear redes y la client para conectarnos a un servidor: http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/readme.html#scan

Al usar la librería ESP8266WiFi, lo primero es configurar el WiFi del ESP8266, en este caso en modo estación (WIFI_STA), es decir, para conectarse a un AP, pero en este caso nos desconectamos para poder escanear todas las redes.

ESP8266 operating in the Station mode

Para scanear la red usamos la clase scan de WiFi: http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/scan-class.html y este proceso tarda aproximadamente un segundo y devuelve un número entero con el número total de redes encontradas. Luego mediante una serie de métodos puedo obtener los datos de SSID, RSSI, etc… de las redes encontradas en el scaneo.

Luego saco por pantalla el nombre de la red (SSID), la potencia (RSSI) y si es una red protegida. En la línea 40 hay un operador que no es común es un operador ternario https://es.wikipedia.org/wiki/Operador_ternario que es un if simplificado.

Luego para acceder a los datos de las redes encontradas en el scan, uso las funciones SSID, RSSI y encryptionType para encontrar el SSID, la señal y el tipo de cifrado de las redes encontradas.

Para más información ver la documentación de la clase scan en : http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/scan-class.html

Más ejemplos de uso de la clase scan: http://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/scan-examples.html

Ejercicio propuesto: modificar el ejemplo WiFiScan para que también busque las redes WiFi ocultas y también muestre el canal y la MAC del punto de acceso o BSSID https://es.wikipedia.org/wiki/BSSID

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

En este caso he usado dos funciones:

  • muestra_encriptacion() que me dice la encriptación de la red wifi que me da el método WiFi.encryptionType()
  • muestra_SSID() que me da el nombre de SSID y en caso que sea una red oculta se dice.

También uso tabuladores “\t” para mostrar la información de forma más clara.

Con la información obtenida de las MACs, RSSI y canal, usando la librería de Germán Martín puedo obtener la localización https://github.com/gmag11/ESPWifiLocation gracias a  Google Maps GeoLocation API. Un tutorial completo realizado por Luis del Valle puede verse en https://programarfacil.com/blog/arduino-blog/geolocalizacion-wifi-arduino-nodemcu/

Video. Preparación IDE Arduino para ESP8266

Una vez conocido el hardware del ESP8266 visto en el anterior vídeo https://www.aprendiendoarduino.com/2018/01/23/video-iniciacion-a-esp8266-hardware/ vamos a ver como preparar el entorno de programación de Arduino (IDE) para programar el ESP8266.

Estas son las dos placas que vamos a usar.

Instalación Drivers Uso NodeMCU y Wemos D1 Mini

Para conectar las placas de prototipado NodeMCU y Wemos D1 Mini usamos el puerto USB y al contrario que con Arduino donde los drivers ya se instalan con el IDE, en este caso debemos instalar los drivers que emula un puerto serie (COM) en el USB de la placa utilizada.

Para el Wemos D1 Mini es necesario instalar el driver del conversor USB a serie que es el CH340G y excepto para el D1 mini Pro que es el chip CP2104:

Para el NodeMCU es necesario instalar el driver del adaptador USB CP210x de silicon labs:

Preparación IDE Arduino para usar con ESP8266

El ESP8266 dispone internamente de un pequeño procesador, prácticamente es capaz de replicar casi cualquier cosa los Arduinos puedan hacer. Usando el entorno de programación y el lenguaje de programación de Arduino podemos programar un ESP8266 cargando un firmware programado por nosotros mismo. Esto permite que la CPU ESP8266 y sus componentes Wi-Fi sean programados como cualquier otro dispositivo Arduino.

  • Puedes desarrollar con el mismo IDE que ya conoces
  • La comunidad ha hecho un Cross compiler, de forma que prácticamente utilizas los mismos comandos que utilizas con Arduino.
  • Puedes programar el procesador de tu ESP8266 exactamente como si fuera un Arduino con los mismos comandos, y en lo que se refiere a la WIFI, puedes olvidarte de los comandos AT, porque incluye una serie de librerías, que imitan la librería WIFI de Arduino con lo que se pueden reutilizar muchos programas hechos para Arduino y compilarlos para un ESP8266.  

El Arduino Core ESP8266 está disponible a través de GitHub: https://github.com/esp8266/Arduino

Reference de Arduino core para el ESP8266:

Listado de URLs para soporte de tarjetas no oficiales: https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls

Podemos instalar el soporte a terceros en nuestro IDE simplemente añadiendo el texto “http://arduino.esp8266.com/stable/package_esp8266com_index.json” en propiedades:

Y luego desde el gestor de tarjetas dar a instalar al soporte para ESP8266.

Blink con ESP8266

Una vez preparado nuestro IDE de Arduino para programar placas con ESP8266, podemos probar que funciona. Para ello vamos a probar blink en el Wemos D1 Mini y en el NodeMCU.

Paso 1: Abrir el ejemplo blink del IDE de Arduino:

void setup()
  { pinMode(LED_BUILTIN, OUTPUT); }

void loop()
  { digitalWrite(LED_BUILTIN, HIGH);  
    delay(1000);  
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);   
  }

Paso 2: seleccionar la tarjeta que vamos a programar

  • Wemos R2 & D1 mini
  • NodeMCU 1.0 (ESP-12E module)

Paso 3: Cargar el programa y comprobar que el led integrado funciona.

Ejercicio Propuesto

Revisar los ejemplos para ESP8266 que aparecen en el IDE y ejecutar el scanner de redes wifi llamado “WifiScan”.

Video. Iniciación a ESP8266. Hardware

Qué es ESP8266

El ESP8266 es un chip Wi-Fi de bajo coste con pila TCP/IP completa y capacidad de MCU (Micro Controller Unit) producida por el fabricante chino Espressif Systems, con sede en Shanghai.

ESP8266 vs Arduino

El chip que primero llamó la atención de los fabricantes occidentales en agosto de 2014 con el módulo ESP-01. Este pequeño módulo permite a los microcontroladores conectarse a una red Wi-Fi y realizar conexiones TCP/IP sencillas utilizando comandos de tipo Hayes. Sin embargo, en ese momento casi no había documentación en inglés sobre el chip y los comandos que aceptaba. El precio muy bajo y el hecho de que había muy pocos componentes externos en el módulo que sugiere que podría ser muy barato en el volumen, atrajo a muchos hackers para explorar el módulo, el chip y el software en él, así como para traducir la documentación china.

Web del producto: http://espressif.com/en/products/hardware/esp8266ex/overview

Datasheet: http://espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf

Wikipedia:

Características ESP8266

El esp8266 es un módulo que va alimentado a 3.3V. El ESP8266 no tiene ROM y usa una ROM externa SPI y soporta hasta 16MB.

Características:

  • 32-bit RISC CPU: Tensilica Xtensa LX106 running at 80 MHz
  • 64 KiB of instruction RAM, 96 KiB of data RAM
  • External QSPI flash – 512 KiB to 4 MiB* (up to 16 MiB is supported)
  • IEEE 802.11 b/g/n Wi-Fi
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • 16 GPIO pins
  • SPI, I²C,
  • I²S interfaces with DMA (sharing pins with GPIO)
  • UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
  • 1 port 10-bit ADC

Pinout ESP8266:

Módulos ESP8266

El ESP8266 se presenta con muchos encapsulados: http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family

Los módulos ESP8266 los podemos encontrar en diferentes encapsulados y placas:

Características de los módulos:

Name Active pins Pitch Form factor LEDs Antenna Shielded? dimensions (mm) Notes
ESP-01 6 0.1″ 2×4 DIL Yes PCB trace No 14.3 × 24.8
ESP-02 6 0.1″ 2×4 castellated No U-FL connector No 14.2 × 14.2
ESP-03 10 2 mm 2×7 castellated No Ceramic No 17.3 × 12.1
ESP-04 10 2 mm 2×4 castellated No None No 14.7 × 12.1
ESP-05 3 0.1″ 1×5 SIL No U-FL connector No 14.2 × 14.2
ESP-06 11 misc 4×3 dice No None Yes 14.2 × 14.7 Not FCC approved
ESP-07 14 2 mm 2×8 pinhole Yes Ceramic + U-FL connector Yes 20.0 × 16.0 Not FCC approved
ESP-08 10 2 mm 2×7 castellated No None Yes 17.0 × 16.0 Not FCC approved
ESP-09 10 misc 4×3 dice No None No 10.0 × 10.0
ESP-10 3 2 mm? 1×5 castellated No None No 14.2 × 10.0
ESP-11 6 0.05″ 1×8 pinhole No Ceramic No 17.3 × 12.1
ESP-12 14 2 mm 2×8 castellated Yes PCB trace Yes 24.0 × 16.0 FCC and CE approved[14]
ESP-12E 20 2 mm 2×8 castellated Yes PCB trace Yes 24.0 × 16.0 4 MB Flash
ESP-12F 20 2 mm 2×8 castellated Yes PCB trace Yes 24.0 × 16.0 FCC and CE approved. Improved antenna performance. 4 MB Flash
ESP-13 16 1.5 mm 2×9 castellated No PCB trace Yes W18.0 x L20.0 Marked as ″FCC″. Shielded module is placed sideways, as compared to the ESP-12 modules.
ESP-14 22 2 mm 2×8 castellated +6 No PCB trace Yes 24.3 x 16.2

Interesante artículo sobre que módulo wifi ESP8266 elegir: http://polaridad.es/esp8266-modulo-wifi-elegir-caracteristicas/

Buena explicación de los módulos: http://visystem.ddns.net:7442/ESP8266-modulos/

Placas de Prototipado con ESP8266

Wemos D1 Mini

Wemos son una serie de placas de prototipado con chip ESP8266 integrado para conexión WiFi. Hay varios modelos y la página web oficial es https://www.wemos.cc/

En los microcontroladores ESP8266 y en las placas WeMos es posible varios firmware:

Tienda oficial de WeMos: https://es.aliexpress.com/store/1331105

Wemos ha apostado por el formato pequeño de placa.

Dentro de la Wemos D1 mini tenemos 3 modelos:

WeMos D1 Mini Pinout:

ATENCIÓN: Al usar el WeMos D1 mini con Arduino los número de los pines no corresponden con los números que pongamos en el IDE de Arduino, es decir, el pin D4 de WeMos D1 Mini puedo llamarlo como D4 o como 2, estas dos líneas son equivalentes y ponen a HIGH el pin D2 del WeMos:

  • digitalWrite(D4,HIGH)
  • digitalWrite(2, HIGH)

Shields Wemos D1 mini

Listado de shields oficiales Wemos: https://www.wemos.cc/en/latest/d1_mini_shield/ 

Shields: http://wiki.robotpersonal.es/index.php?title=Placas_WeMos_Mini

Resultado de imagen de wemos d1 mini shields

Tienda oficial de WeMos: https://es.aliexpress.com/store/1331105

NodeMCU

NodeMCU es una plataforma IoT de código abierto. Incluye firmware para programar en Lua que se ejecuta en el ESP8266 Wi-Fi SoC de Espressif Systems y está basado en el módulo ESP-12.

Web oficial: http://www.nodemcu.com/index_en.html

El término “NodeMCU” por defecto se refiere al firmware en lugar de los kits de desarrollo de ESP8266. El firmware utiliza el lenguaje de secuencias de comandos Lua.

Pinout:

Github: https://github.com/nodemcu

Documentación: http://nodemcu.readthedocs.io/en/master/

Versiones HW de la NodeMCU:

Comprar nodeMCU: https://es.aliexpress.com/wholesale?SearchText=nodemcu

Ejercicio Propuesto

Instalar el IDE de Arduino. Descargar desde https://www.arduino.cc/en/Main/Software

Tutorial paso a paso de instalación: https://aprendiendoarduino.wordpress.com/2017/06/18/instalacion-software-arduino/

Para saber más sobre el IDE y su configuración: https://aprendiendoarduino.wordpress.com/2017/06/18/ide-arduino-y-configuracion/

Video 2. Instalación IDE Arduino

Que es el IDE de Arduino

IDE – entorno de desarrollo integrado, llamado IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios.

Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Además en el caso de Arduino incorpora las herramientas para cargar el programa ya compilado en la memoria flash del hardware.

Los programas de arduino están compuestos por un solo fichero con extensión “ino”, aunque es posible organizarlo en varios ficheros. El fichero principal siempre debe estar en una carpeta con el mismo nombre que el fichero.

Todos lo cambios en la versiones pueden verse en: https://www.arduino.cc/en/Main/ReleaseNotes

Una guía de como migrar de versiones anteriores a la 1.0: http://www.engblaze.com/changes-in-the-arduino-1-0-release/

Instalar el IDE de Arduino

Descargar la última versión del IDE de Arduino desde: http://arduino.cc/en/Main/Software

Para instalar en windows seguir: https://aprendiendoarduino.wordpress.com/2016/06/26/instalacion-software-y-configuracion/

El IDE de Arduino es multiplataforma y en caso de instalar el IDE Arduino en otros sistemas operativos estas son las instrucciones:

Actualizar el IDE de Arduino

A la hora de actualizar, el instalador de Arduino lo que hace es borrar toda la ruta completa donde hemos instalado Arduino e instala la nueva versión. Por lo tanto cualquier modificación o librería instalada en el directorio de instalación se perderá en la actualización.

Es importante que cualquier sketch que hagamos y cualquier librería que instalemos se haga en la ruta indicada en las propiedades, de esta forma lo mantendremos al actualizar el IDE.

Arduino Day Logroño 2017

Si quieres estar al día de los eventos que se realizan en Logroño sobre temas relacionados con Arduino, comunidad Maker, HW libre, Impresoras 3D, etc… manda un correo a aprendiendoarduino@gmail.com o apuntate a la lista de correo noticias@aprendiendoarduino.com


El pasado 1 de abril de 2017 celebramos en tres localizaciones diferentes y con diversos eventos el ArduinoDay en Logroño.

El Arduino Day de Logroño comenzó a las 9.00 en el Think TIC con dos charlas relacionadas con el Internet de las Cosas (IoT).

La presentación de la jornada de Arduino Day en Logroño fue a cargo de Ernesto Rodríguez, responsable de vigilancia tecnológica del ThinkTIC del Gobierno de La Rioja.

La primera charla fue “IoT. Conectando cosas con Arduino” donde Enrique Crespo habló de los elementos necesarios para abordar un proyecto de IoT basado en Arduino. El vídeo de la charla puede verse en: http://www.innovarioja.tv/index.php/video/ver/1661

La presentación y documentación de la charla “IoT. Conectando cosas con Arduino” está publicada en http://www.aprendiendoarduino.com/iot-conectando-dispositivos-con-arduino/ y los apartados tratados fueron:

Acto seguido Diego Soto presentó la charla “Seguridad en IoT” donde trató uno de los aspectos más importantes del IoT, la seguridad y trato de concienciar de ello a los asistentes. El vídeo de la charla puede verse en: http://www.innovarioja.tv/index.php/video/ver/1662

Una vez acabadas las charlas paramos a tomar un café para coger fuerzas y empezar con los talleres. En el ThinkTIC se realizaron 3 talleres simultáneos.

Taller “Iniciación a la impresión 3D, mi impresora y yo!!!” por Vicente Roca donde explicó cómo montar una impresora 3D y habló de su experiencia.

Taller “Experiencia desde Cero con Arduino” por Julio Clavijo donde hizo una explicación para iniciar a los asistentes en el uso de Arduino.

Taller: “IoT. Conectando Cosas con Arduino” por Enrique Crespo que fue una continuación de la charla impartida a primera hora y se pusieron en práctica varios proyectos IoT basados en Arduino. La documentación de este taller está en http://www.aprendiendoarduino.com/taller-iot-conectando-dispositivos-con-arduino/ y el código usado en el taller está en https://github.com/jecrespo/aprendiendoarduino-iot

El siguiente evento fue en la Universidad de La Rioja, en el makerspace de la Universidad Área UR-maker. Donde Alpha Pernía presentó el makerspace y habló de la experiencia montando un makerspace.

El último evento se realizó en la Sociedad Gastronómica La Trastienda donde se hizo una merienda maker. Vicente Roca trajo su impresora 3D, Abel Yécora presento unas impresoras y un software para hacer figuras en 3D y José Domínguez presentó su proyecto maker de una máquina de boxeo con Arduino. Juan Nieto ha publicado más información de este evento y del Arduino Day en https://makerslarioja.wordpress.com/2017/04/03/arduino-day-2017-una-gran-fiesta/

Me gustaría destacar el proyecto que presentó José Domínguez y que podéis ver en este vídeo:

Agradecimientos

Por mi parte quiero agradecer al ThinkTIC y a Ernesto el apoyo que nos han dado para poder celebrar este evento. También agradecer a todo aquellos que han hecho posible el Arduino Day en el ThinkTIC: Diego Soto, Julio Clavijo, Vicente Roca,  Mario Ezquerro, Miguel Susunaga, Arturo Martínez y a todos los asistentes.

Por último gracias a los organizadores y colaboradores de los otros dos eventos en el Área UR-maker y La Trastienda: Alpha Pernía, Juan Nieto, Abel Yécora, José Domínguez, Carmen Méndez, etc…

Fotos

A las 9 de la mañana a punto de empezar el Arduino Day en Logroño.

Charla “IoT. Conectando cosas con Arduino” de Enrique Crespo

Charla “Seguridad en IoT” de Diego Soto:

Tomando un café antes de seguir con los talleres.

Taller “IoT. Conectando cosas con Arduino” de Enrique Crespo

Arduino Intel Edison + Intel IoT Analytics

Este artículo está motivado por mi asistencia a hackathon celebrado entre el 25 y 27 de marzo en el World Hosting Days en Europa Park, Rust, Alemania. Más información: http://worldhostingdays.com/global/

Datos del hackathon: http://worldhostingdays.com/global/side-event/cloud-community-hackathon

En mi caso fui a participar en el proyecto conjunto de 1and1 e Intel donde el objetivo era comprobar las características del microprocesador Intel Edison manejando sensores y actuadores en combinación con el motor de analíticas de Intel para IoT hospedado en el cloud de 1and1. Los detalles del proyecto pueden verse en: http://worldhostingdays.com/global/project/1and1

El kit de herramientas que dispusimos fue:

  • Cloud infrastructure
    • Open IoT Connector hosted by 1&1 which connects devices to the cloud. http://streammyiot.com/
    • 1&1 Analytic Cloud Environment with MQTT broker and Node.js.

También dispusimos de la API para interactuar con el cloud de 1&1:

Arduino Edison

Intel Edison es un módulo de computación de Intel que es posible usarlo con el formato de Arduino. Está centrado en el IoT y wearables. Tiene un sistema linux yocto embebido pero es capaz de ejecutar los Sketch de Arduino que al ser compilados se guardan en un directorio del sistema de ficheros y es ejecutado. También dispone de conectividad Wi-Fi y Bluetooth.

El Intel Edison es un pequeño módulo desarrollado por Intel y orientado a la electrónica embebida incluso en proyectos comerciales. Es una pequeña placa llena de posibilidades y no es para menos ya que en su diminuto tamaño encontramos un Intel® Atom™ SoC dual-core con WiFi, Bluetooth LE integrado. Una funcionalidad importante es que dispone de un conector genérico de 70 pines para poder conectar todo tipo de periféricos y placas desarrolladas para esta plataforma.

Está pensado para aplicaciones de bajo consumo pero gracias al amplio soporte de software proporcionado por Intel, puede ser utilizado en poco minutos incluso por principiantes en electrónica.

Web Intel Edison:

Wikipedia: https://en.wikipedia.org/wiki/Intel_Edison

El kit de Arduino Edison incluye los pines hembra de Arduino, que permite conectar la mayoría de placas shields de Arduino al módulo de forma nativa. Todos los pines del 0 al 13 (junto con AREF y GND), pines analógicos 0 a 5, alimentación, ICSP y el UART están en el mismo sitio que el Arduino UNO R3 para guardar la máxima compatibilidad.  Además la placa del Intel Edison incluye un zócalo para tarjetas de memoria Micro SD, un conector Micro USB conectado al UART2 y un conector estándar USB 2.0. En la documentación se dispone de librerías para gestionar los pines de Arduino disponibles.

Arduino Edison HW guide: http://www.intel.com/content/dam/support/us/en/documents/edison/sb/edison-arduino-hardware-guide.pdf

Arquitectura Intel Edison (microprocesador):

  • Dual-core Intel® Atom™ processor at 500 MHz
  • 1 GB DDR3 RAM, 4 GB eMMC flash
  • 40 multiplexed GPIO interfaces
  • Bluetooth* 4.0, Wi-Fi*
  • Yocto Project*, Brillo*
  • Arduino* compatible
  • Open-source software development environment
  • C/C++, Python*, Node.js*, HTML5, JavaScript*

Características: http://download.intel.com/support/edison/sb/edison_pb_331179002.pdf

Arduino Edison: https://www.arduino.cc/en/ArduinoCertified/IntelEdison

Características de la placa:

  • 20 digital input/output pins, including 6 pins as PWM outputs.
  • 6 analog inputs.
  • 1 UART (Rx/Tx).
  • 1 I2C.
  • 1 ICSP (In-system programming ) 6-pin header (SPI).
  • Micro USB device connector OR (via mechanical switch) dedicated standard size USB host Type-A connector.
  • Micro USB device (connected to UART).
  • SD card connector.
  • DC power jack (7 to 15VDC input).

Documentación: https://software.intel.com/es-es/iot/hardware/edison/documentation

Intel ha desarrollado sus propias herramientas para programar el microprocesador Intel Edison, que ofrece más potencia a la hora de programarlo que con el lenguaje de Arduino y su IDE, pero tiene la desventaja de tener que aprender su SDK. El SDK puede encontrarse en descargas: https://software.intel.com/es-es/iot/hardware/edison/downloads

Al igual que el Arduino UNO el kit de Intel® Edison para Arduino hace posible tener 20 pines digitales de entrada/salida, 6 de los cuales pueden usarse como entradas analógicas. El Intel® Edison tiene 4 salidas PWM que pueden configurarse mediante jumpers para usarse en cualquiera de los 6 pines que soportan PWM en el Arduino UNO (pins 3, 5, 6, 9, 10, or 11).

Los pines de entrada/salida (I/O) y los analógicos pueden ser configurados para funcionar a 5V o 3.3V. Los pines en modo salida soportan hasta 24mA a 3.3V y 32mA a 5V

 

Arquitectura:

Para usar el microprocesador Intel Edison, hay también disponible una breakout board:

Breakout board: http://download.intel.com/support/edison/sb/edisonbreakout_hg_331190006.pdf

Esta breakout board ha sido diseñada para exponer los pines nativos a 1.8V del Intel® Edison y poder trabajar con ella. La placa se compone de una fuente de alimentación, una cargador de batería, USB OTG power switch, UART to USB bridge, USB OTG port y I/O header.

Pinout: http://www.intel.com/content/www/us/en/support/boards-and-kits/000006090.html

Hardware Guide: http://download.intel.com/support/edison/sb/edisonmodule_hg_331189004.pdf

Compra:

Comparativa de Intel Edison:

Edison no es una raspberry Pi, principalmente porque no hay una salida de video en Edison. Aquí hay una buena comparativa: https://www.sparkfun.com/news/1603

Más información de Intel Edison en: https://www.arduino.cc/en/ArduinoCertified/IntelEdison

Arduino Edison tiene una distribución de Yocto Linux corriendo en su interior. Más información sobre el proyecto Yocto en: https://en.wikipedia.org/wiki/Yocto_Project

Programación Arduino Edison

Arduino Edison es posible programarlo con el IDE de Arduino y es posible desde el sketch de Arduino hacer peticiones al kernel de Linux con llamadas al sistema.

Enlaces imprescindibles para empezar con Arduino Edison:

Para poder usar Arduino Intel Edison con el IDE de Arduino, es necesario instalar el paquete para las Intel i686 Boards.

Los entornos de desarrollo para Intel Edison son:

IDEs para hardware Intel: https://software.intel.com/es-es/iot/tools-ide/ide

Development environment:

Supported sensors:

Sensor kits:

Intel XDK IoT Edition (programar con node.js):

Procedure to Autostart the Arduino Sketch on Intel® Edison: https://software.intel.com/en-us/blogs/2015/08/01/procedure-to-autostart-the-arduino-sketch-on-edison

Modo AP en Intel Edison: https://software.intel.com/en-us/getting-started-with-ap-mode-for-intel-edison-board

Ejemplos de uso de Arduino Edison:

Arduino Galileo

Existen otros Arduinos con microprocesadores Intel, uno de ellos es el más reciente Arduino 101 que es el mismo concepto que Arduino UNO, pero con concepto de SoC del Arduino Edison también existe el Arduino Galileo. Este es un Arduino anterior y con menos capacidades que el Edison.

Para usar el Arduino Galileo con el IDE de Arduino es necesario instalarse el el paquete para las Intel i586 Boards.

Arduino Galileo (retirado): https://www.arduino.cc/en/ArduinoCertified/IntelGalileo

Arduino Galileo Gen2: https://www.arduino.cc/en/ArduinoCertified/IntelGalileoGen2

Web Intel: https://software.intel.com/es-es/iot/hardware/galileo

Wikipedia: https://en.wikipedia.org/wiki/Intel_Galileo

Arduino Galileo también usa Yocto Linux.

Edison vs Galileo:

Plataforma Cloud IoT de Intel

Una vez aclarado qué es Arduino Edison y que ya sabemos que podemos programarlo como cualquier otro Arduino, veamos cómo combinar nuestra experiencia con Arduino con la plataforma cloud IoT de Intel para hacer proyectos de IoT.

Intel al igual que otras muchas empresa ha desarrollado sus recursos para IoT. La Web de recursos para IoT de Intel: https://software.intel.com/es-es/iot/home

Visión de Intel en el IoT: http://www.intel.la/content/www/xl/es/internet-of-things/overview.html

La plataforma cloud IoT de Intel está disponible en http://streammyiot.com/ y es posible registrarse y usarla de forma gratuita.

Intel® IoT Analytics Platform:

  • Provides seamless Device-to-Device and Device-to-Cloud communication.
  • Ability to run rules on your data stream that trigger alerts based on advanced analytics.
  • Foundational tools for collecting, storing, and processing data in the cloud.
  • Free for limited and noncommercial use.

Con los datos recogidos con esta plataforma luego es posible extraerlos, transformarnos, cargarlos y utilizarlos. Cuando son enormes cantidades es cuando se usa el big data: https://software.intel.com/en-us/bigdata

Esta plataforma IoT está alojado el los servidores cloud de 1&1: https://www.1and1.com/dynamic-cloud-server

Para empezar a usar esta plataforma tenemos toda la documentación en:

Tutorial excelente para uso de Arduino edison con Intel IoT Analytics: http://www.instructables.com/id/Intel-IoT-Analytics-Dashboard/

Otro tutorial: https://medium.com/@shonsh/visualizing-sensor-data-using-intel-iot-analytics-d2d1de9ae118#.5ktwz5lyl

Otras plataformas de cloud analytics con las que conectar el Arduino Edison: https://software.intel.com/en-us/iot/cloud-analytics:

Uso de la Plataforma Intel IoT Analytics

Una vez aprendidos los conceptos vamos a ponerlos en práctica conectando el Arduino Edison a la plataforma Intel IoT Analytics, para ellos comencemos a recoger datos.

La programación del HW IoT tiene dos partes: recoger datos de los sensores y la de enviar los datos. Para empezar primero debemos configurar una cuenta de IoT analytics y luego seguir con la conectividad.

Pasos a dar para poner a subir datos a la plataforma:

IMPORTANTE

Para entender la estructura en que los datos se guardan en la plataforma leer: https://github.com/enableiot/iotkit-api/wiki/Api-Home#data-structure

Una vez instalado todo vemos el dashboard:

Para mandar datos desde Arduino Edison a la plataform Intel IoT Analytics podemos hacerlo vía HTTP o MQTT. En este caso vamos a usar HTTP.

Disponemos de un repositorio en github con muchos ejemplo para el IoT Kit Intel: https://github.com/enableiot/iotkit-samples

Y un muy buen ejemplo de uso de la API client for python lo tenemos en: https://github.com/enableiot/iotkit-samples/blob/master/api/python/iotkit_client.py

Estas mismas llamadas para guardar datos en la plataforma usando la API se pueden aplicar a Arduino para que guarde los datos.

Para obtener el token de usuario: https://github.com/enableiot/iotkit-api/wiki/Authorization

POST /v1/api/auth/token HTTP/1.1

Host: 109.228.56.48

Content-Type: application/json

{

   “username”: “aprendiendoarduino@gmail.com”,

   “password”: “password”

}

Dar de Alta un dispositivo: https://github.com/enableiot/iotkit-api/wiki/Device-Management

PUT /v1/api/accounts/4d6398a7-49aa-45f0-8b53-54896778a736/devices/90-A2-DA-10-B3-BD/activation HTTP/1.1

Host: 109.228.56.48

Authorization: Bearer APIKEY

Content-Type: application/json

{

    “activationCode”: “activationcode”

}

Añadir un componente a un dispositivo: https://github.com/enableiot/iotkit-api/wiki/Device-Management#add-a-component-to-a-device

POST /v1/api/accounts/4d6398a7-49aa-45f0-8b53-54896778a736/devices/90-A2-DA-10-00-00/components HTTP/1.1

Host: 109.228.56.48

Authorization: Bearer APIKEY

Content-Type: application/json

Cache-Control: no-cache

{

“cid”: “436e7e74-6771-4898-9057-26932f5eb7e1”,

“name”: “temperatura”,

“type”: “temperature.v1.0”

}

Código Arduino para poner en un actuador y que reaccione: https://github.com/enableiot/iotkit-samples/blob/master/arduino/IoTkit/examples/IoTKitActuationExample/IotKitActuationExample.ino

Data API para envío y recepción de datos: https://github.com/enableiot/iotkit-api/wiki/Data-API

Rule Management

https://github.com/enableiot/iotkit-api/wiki/Rule-Management

Alert Management

https://github.com/enableiot/iotkit-api/wiki/Alert-Management

Error Handling

https://github.com/enableiot/iotkit-api/wiki/Error-Handling

Hackathon WHD

Ahora que ya sabemos como manejar la plataforma y como mandar los datos desde el Arduino Edison, en el Hackathon del WHD planteamos un proyecto de una planta solar inteligente que en función de la demanda energética, es capaz de activar o desactivar paneles monitorizados en tiempo real y detectar cualquier incidencia o avería, dentro del proyecto de Intel y 1&1: http://worldhostingdays.com/global/project/1and1

El material usado en el hackathon fue:

Repositorio con documentación y ejemplo para el hackathon del WHD: https://github.com/srware/WHD.global-2017

Repositorio de todo el trabajo hecho en el hackathon: https://github.com/jecrespo/aprendiendoarduino-iot/tree/master/04-Intel%20IoT%20Analytics

El grupo de Españoles trabajando con Arduino:

En el hackathon:

Para conectar a red Arduino Edison:

Cómo cargar un programa en el Edison: https://www.arduino.cc/en/Guide/IntelEdison

Comandos interesantes en yocto linux

  • configure_edison –help
  • iotkit-admin
  • systemctl stop iotkit-agent
  • systemctl start iotkit-agent
  • systemctl status iotkit-agent -l
  • iotkit-admin catalog
  • iotkit-admin register
  • iotkit-admin observation

Dentro del Arduino Edison debe estar instalada la versión de yocto con el iotkit, que es un agente al que puede llamar para hacer determinadas tareas en la plataforma IoT de Intel. Explicación: “The agent is a program that runs as a daemon on the device, listening for simple messages from other processes and handling the necessary message formatting and security to send observations to the cloud. The agent comes with another program, iotkit-admin, which provides many utility functions, such as testing the network, activating a device, registering time series, and sending test observations. The agent is controlled by systemctl, the systemd service manager.”

Cuando cargamos un sketch de Arduino en el Edison, este se pierde después de reiniciar la placa. Para que funcione en el reinicio poner este fichero en el systemctl: /etc/systemd/system/arduino-sketch.service

Contenido del fichero:

systemctl daemon-reload

systemctl status arduino-sketch.service

systemctl enable arduino-sketch.service

Para resolver los problemas con el timezone debo realizar estos pasos

  • timedatectl status
  • ls -l /etc/localtime
  • cd /usr/share/zoneinfo (ver dónde está configurado)
  • timedatectl set-timezone Europe/Paris (y pongo esta)

Para ver el catálogo: iotkit-admin catalog

Para registrar componentes:

  • iotkit-admin register panel_temperature temperature.v1.1
  • iotkit-admin register solar_radiation radiation.v1.0
  • iotkit-admin register onoffButton button.v1.1
  • iotkit-admin register alarm powerswitch.v1.0
  • iotkit-admin register status powerswitch.v1.0

Para cambiar protocolo:

  • iotkit-admin protocol ‘mqtt’
  • iotkit-admin protocol ‘rest+ws’

Con estos detalles que aprendimos de la gente de Intel que estuvo en el hackathon pudimos hacer nuestro proyecto de una planta solar conectada y el resultado se puede ver en https://github.com/jecrespo/aprendiendoarduino-iot/tree/master/04-Intel%20IoT%20Analytics

Vídeo del resultado:

Y nuestra presentación: https://www.slideshare.net/jecrespo/whd-global-2017-smart-power-plant

Nuestro proyecto: https://www.1and1.com/cloud-community/develop/hackathon-projects/11-and-intel/smart-solar-power-plant/

Y finalmente nuestro proyecto fue presentado en el WHD:

Más fotos y publicaciones de

Durante el hackathon también se presentó la cloud community de 1&1: www.1and1.com/cloud-community

Segunda Reunión Makers Logroño. Preparando el Arduino Day

El jueves 16 febrero nos volvimos a reunir los makers en el UR-Maker, el makerspace de la Universidad de La Rioja con el objetivo de hacer propuestas para el próximo Arduino Day que se celebrará el 1 de Abril.

Estas fueron las propuestas provisionales:

  • Alpha: Charla “Makerspaces. Experiencia Montando un Makerspace” en UR-Maker
  • José Ignacio: Taller de robots sigue-líneas (Lugar por definir)
  • Julio: Charla “Experiencia desde cero con Arduino” en COITIR
  • Vicente: Charla “Experiencia montando una impresora 3D“en COITIR
  • Juan: Taller para niños de Impresión 3D y makey-makey (Lugar por definir)
  • Enrique: Charla de aprox. 1 hora “IoT. Conectando Dispositivos con Arduino” en Think TIC
  • Enrique: Taller de aprox. 3 horas “Taller IoT. Conectando Dispositivos con Arduino” en Think TIC
  • Web de la charla y taller IoT Arduino de Enrique: http://www.aprendiendoarduino.com/arduino-day-2017/
  • Juan: Experiencia piloto 🙂 de las Primeras Jornadas del Arduino y el Chuletón en la sociedad gastronómica la trastienda. Será una comida junto con otras acciones por definir.

A media que se vayan cerrando los eventos iremos informando a través de las redes sociales y de la lista de correo. El medio de comunicación que seguiremos usando es la lista de correo de noticias de www.aprendiendoarduino.com

Lista de correo, apuntarse en http://list.aprendiendoarduino.com/mailman/listinfo/aprendiendoarduino.com.noticias o mandar un correo a aprendiendoarduino@gmail.com

Email contacto de Enrique Crespo: aprendiendoarduino@gmail.com

Twitter Enrique Crespo: @jecrespom

Juan también ha publicado en el blog un resumen de la reunión: https://makerslarioja.wordpress.com/2017/02/18/resumen-2-encuentro-maker-en-la-universidad-de-la-rioja/

Fotos:

Reunión Makers Logroño en makerspace UR-Maker

El jueves 2 de febrero de 2017 nos juntamos de una forma casi espontánea un grupo de aficionados a la impresión 3D, Arduino y Hardware Libre en general, lo que puede considerarse como el primer encuentro de makers de Logroño.

Fue un encuentro donde se dio a conocer el primer makerspace de La Rioja: el Área UR-maker de la Universidad de La Rioja y compartimos un rato de conversación sobre makers, makerspaces, impresión 3D, máquinas CNC, cortadoras laser, Arduino, ESP8266, Raspberry Pi y en general del HW libre.

En esta reunión hablamos sobre la comunidad maker de Logroño y surgieron varias iniciativas que paso a enumerar:

  • Alpha nos presentó el área UR-maker y ofreció el espacio para futuras acciones con las limitaciones que explicó en la reunión.
  • Ernesto Rodríguez habló del Think TIC donde ya se han impartido cursos y jornadas sobre impresoras 3D, Arduino y otros temas relacionados. Es otro punto de encuentro que tenemos los makers.
  • José María Labarquilla del COITIR también nos hablo del colegio de ingenieros como espacio para futuros eventos maker.
  • Juan Nieto ha creado el blog https://makerslarioja.wordpress.com/ donde ha publicado un post sobre el primer encuentro de makers.
  • José Ignacio Casis nos enseñó su trabajo con la papelera loca http://www.larioja.com/logrono/201612/18/papelera-loca-logrono-20161218180525.html y el BB-8 impreso en 3D controlado con Arduino.
  • José Ignacio Casis también nos propone sacar a la calle a los makers con una carrera de coches en la calle.
  • Para comunicar próximos eventos, novedades y acciones maker, usaremos la lista de correo de noticias de www.aprendiendoarduino.com que ya usamos como medio para reunirnos. Para darte de alta en la lista de correo ir a: http://list.aprendiendoarduino.com/mailman/listinfo/aprendiendoarduino.com.noticias
  • También podéis usar el correo de Enrique Crespo aprendiendoarduino@gmail.com para comunicar cualquier iniciativa, dudas o simplemente suscribiros a la lista de correo.

El próximo evento que haremos es el Arduino Day que aún no hay fecha para este año pero se espera que sea para principios de abril. Lo tomamos como fecha para hacer talleres, concursos y eventos en Logroño.

Espero no haberme dejado nada y sino un correo a aprendiendoarduino@gmail.com para añadir al post.

Enlaces:

Fotos:

Día 10. IoT Arduino

Día 10. Internet de las Cosas (IoT) con Arduino

Vamos a hablar durante la jornada de hoy de Internet de las cosas (IoT), Smart Cities, Industria 4.0, domótica (inmótica),etc… Todo ello se basa en el concepto de la conectividad de los elementos que componen nuestra vida diaria, nuestra empresa, nuestra ciudad o nuestra casa y permitir automatizar muchas tareas, así como tener más información del entorno para conocer como se comporta y luego poder tomar acciones para automatizar más cosas u optimizar los recursos.

Arduino nos permite de una forma sencilla y barata poder conectar entre sí elementos cotidianos para manejarlos y añadir sensores a cualquier elemento y en cualquier ubicación.

6 – Internet de las Cosas (IoT)
Y Aquí no Acaba el Curso…

Más Cosas

Otros IDEs: 3.2 – Otros IDEs

Actualizar Sistemas de Producción: https://medium.com/@temboo/the-unexpected-internet-of-things-f317529d9a05#.qeuu3fe4n

Monitorizar dispositivos fabricados: https://medium.com/@temboo/the-italian-renaissance-of-manufacturing-690055727758#.l9ij60fet

LoRaWAN: es una especificación de una red LPWAN (Low Power Wide Area Network) propuesta por la LoRa Alliance y pensada para comunicar dispositivos de bajo coste y bajo consumo alimentados por baterías. La especificación cubre las capas PHY y MAC de la red, dejando a las aplicaciones el resto de capas. En la banda ISM de 868MHz (915 MHz en otras regiones), con un bitrate de hasta decenas de kbps (de 0.3 kbps hasta  50 kbps).

Sigfox: es una solución de colectividad 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.

En la red SIGFOX se transmiten mensajes de 12 bytes, pudiendo enviar 140 mensajes al día.

Sigfox trabaja con fabricantes como Texas Instruments, Atmel, Silicon Labs y otros para poder ofrecer distintos tipos de SOC, transceptores y componentes de conexión a su red. 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.

Para Próximos Cursos

Hardware Arduino Avanzado

Programación Avanzada Arduino

Manejo Avanzado Arduino

Comunicaciones Arduino Avanzado

Arduino en la Industria

  • 7.1 – Monitorización de Energía
  • 7.2 – Domotica/Inmotica
  • 7.3 – Buses de Campo Industriales
  • 7.4 – Scada con Arduino
  • 7.5 – Fabricación con Arduino

Robótica con Arduino

Smart Cities y Arduino

Machine Learning

Proyectos Avanzados Arduino