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

Para realizar cualquiera de los cursos de los itinerarios es necesario:

  • Un Ordenador PC o portátil por alumno con al menos un puerto USB accesible
  • El PC de cada alumno deberá tener un sistema operativo instalado, ya sea un sistema Windows o un sistema Linux. 
  • Acceso a Internet
  • Red Wifi
  • Espacio equipado con mobiliario adecuado al número de alumnos

Todo el software y documentación utilizado en el curso es libre con licencia creative commons o similar y publicado en https://www.aprendiendoarduino.com/

Listado de material orientativo para realizar las prácticas de cada itinerario por alumno:

Material Formación Itinerario Arduino

El material necesario para realizar las prácticas del curso consiste en un Arduino Starter Kit (https://www.arduino.cc/en/Main/ArduinoStarterKit) o similar compuesto por al menos:

  • 1x Arduino UNO Rev3 o equivalente
  • 1x Cable USB
  • 1x Breadboard/Protoboard
  • 1x Adaptador para la batería de 9 Voltios
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Fotorresistencias LDR
  • 3x Potenciometros de 10K o equivalentes
  • 3x Pulsadores
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 1x Sensor de inclinación
  • 1x LCD alfanumérico I2C (16×2 caracteres)
  • 10x LED de diferentes colores
  • 1x Motor CC 6 o 9 Voltios
  • 1x Servo motor
  • 1x Piezo Buzzer
  • Varias Resistencias de diversas capacidades
  • 1x Módulo IMU MPU6050 o equivalente
  • 1x Módulo bluetooth HC-05 o equivalente
  • 1x Breakout board relé
  • 1x Shield Ethernet
  • 1x placa compatible ESP8266 (p.e. Wemos D1 Mini o NodeMCU)
  • Otros sensores para Arduino (p.e. infrarrojos, sensor de agua, etc…)

NOTA: se aconseja que los módulo sean de tipo breakout board fáciles de conectar

Material Formación Itinerario Raspberry Pi

  • 1x Raspberry Pi con Carcasa 
  • 1x tarjeta micro SD 16Gb
  • 1x cable alimentación 
  • 1x cable HDMI
  • 1x Adaptador GPIO a protoboard
  • 1x Breadboard/Protoboard
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Pulsadores
  • 3x Potenciometros de 10K o equivalentes
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 1x Piezo Buzzer
  • 10x LED de diferentes colores
  • 1x Conversor analógico digital MCP3008 o equivalente
  • 1x Módulo IMU MPU6050 o equivalente
  • Otros dispositivos I2C (p.e. RTC, sonda temperatura, etc…)
  • Varias Resistencias de diversas capacidades

Material Formación Itinerario ESP8266/ESP32

  • 1x Wemos D1 min o NodeMCU o equivalente
  • 1x Wemos Wifi ESP32 OLED o equivalente
  • 1 x ESP32-CAM o equivalente
  • 1x shields para wemos D1 mini relé
  • 1x shields para wemos D1 mini neopixel
  • 1x shields para wemos D1 mini oled
  • 1x Cable USB
  • 1x Raspberry Pi con Carcasa 
  • 1x tarjeta micro SD 16Gb
  • 1x cable alimentación 
  • 1x cable HDMI
  • 1x Adaptador GPIO a protoboard
  • 1x Breadboard/Protoboard
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Fotorresistencias LDR
  • 3x Potenciometros de 10K o equivalentes
  • 3x Pulsadores
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 10x LED de diferentes colores
  • 1x Piezo Buzzer
  • Varias Resistencias de diversas capacidades
  • 1x Módulo IMU MPU6050 o equivalente

Material Formación Itinerario IoT/Industria Conectada

  • 1x Arduino UNO Rev3 o equivalente
  • 1x Wemos D1 min o NodeMCU o equivalente
  • 1x shields para wemos D1 mini relé
  • 1x shields para wemos D1 mini oled
  • 1x Moteino con comunicación LoRa
  • 1x placa ESP32 con RFM95 868MHz por alumno (Adafruit Huzzah32, TTGO,…)
  • 1x gateway LoRaWAN 868MHz de interior por grupo
  • 1x Arduino MKR 1400 para conectividad GSM + SIM (p.e. hologram)
  • 1x Cable USB
  • 1x Breadboard/Protoboard
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Fotorresistencias LDR
  • 3x Potenciometros de 10K o equivalentes
  • 3x Pulsadores
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 10x LED de diferentes colores
  • 1x Piezo Buzzer
  • Varias Resistencias de diversas capacidades
  • 1x Módulo IMU MPU6050 o equivalente
  • Otros sensores para Arduino (p.e. infrarrojos, sensor de agua, etc…)
  • Otros dispositivos I2C (p.e. RTC, sonda temperatura, etc…)

Opcionalmente:

  • 1x Módulo Ultra low power 2.4GHz RF nRF24L01+
  • 1x Kit XBee
  • 1x Arduino MKRWAN1300
  • 1x Servidor (VPS) por alumno

Material Formación Itinerario Digitalización Profesorado

  • 1x Arduino UNO Rev3 o equivalente
  • 1x Kit montaje escornabot y herramientas para montarlo
  • 1x Micro:bit
  • 1x Shield Micro:bit para expansión
  • 1x Raspberry Pi con Carcasa 
  • 1x tarjeta micro SD 16Gb
  • 1x cable alimentación 
  • 1x cable HDMI
  • 1x Adaptador GPIO a protoboard
  • 1x Cable USB
  • 1x Breadboard/Protoboard
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Fotorresistencias LDR
  • 3x Potenciometros de 10K o equivalentes
  • 3x Pulsadores
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 1x Sensor de inclinación
  • 1x LCD alfanumérico I2C (16×2 caracteres)
  • 10x LED de diferentes colores
  • 1x Servo motor
  • 1x Piezo Buzzer
  • Varias Resistencias de diversas capacidades
  • 1x Módulo IMU MPU6050 o equivalente
  • 1x Módulo bluetooth HC-05 o equivalente
  • 1x Breakout board relé
  • 1x placa compatible ESP8266 (p.e. Wemos D1 Mini o NodeMCU)
  • Otros sensores para Arduino (p.e. infrarrojos, sensor de agua, etc…)
  • Otros dispositivos I2C (p.e. RTC, sonda temperatura, etc…)
  • Otros Actuadores y periféricos (p.e. teclado, pantalla TFT, etc…)

Material Formación Otros Cursos

Material común:

  • 1x Arduino UNO Rev3 o equivalente
  • 1x Cable USB
  • 1x Breadboard/Protoboard
  • 30x Puentes de conexión para la protoboard (jumpers)
  • 3x Fotorresistencias LDR
  • 3x Potenciometros de 10K o equivalentes
  • 3x Pulsadores
  • 1x Sensor de temperatura (TMP36, DHT11 o similar)
  • 1x Sensor de inclinación
  • 1x LCD alfanumérico I2C (16×2 caracteres)
  • 10x LED de diferentes colores
  • 1x Piezo Buzzer
  • Varias Resistencias de diversas capacidades
  • Otros sensores para Arduino (p.e. infrarrojos, sensor de agua, etc…)
  • Otros dispositivos I2C (p.e. RTC, sonda temperatura, etc…)
  • Otros Actuadores y periféricos (p.e. teclado, pantalla TFT, etc…)

PLCs Basados en Arduino:

  • 1x M-Duino básico
  • 1x Controllino o similar
  • 1x Revolution Pi

Cursos Node-RED:

  • 1x Raspberry Pi con Carcasa 
  • 1x tarjeta micro SD 16Gb
  • 1x cable alimentación 
  • 1x cable HDMI
  • 1x Adaptador GPIO a protoboard
  • 1x Wemos D1 min o NodeMCU o equivalente
  • 1x shields para wemos D1 mini relé
  • 1x shields para wemos D1 mini neopixel
  • 1x shields para wemos D1 mini oled

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:

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

Día 1. Conocer Arduino

Día 1. Qué es Arduino y Software Arduino.

Primera parte: Presentación del curso. Qué es exactamente Arduino y aclarar algunos mitos sobre Arduino.

1.1 – Presentación del curso

1.2 – Qué es Arduino y Hardware Libre

1.3 – Arduino vs Raspberry Pi

Práctica: Instalar y conocer el entorno de programación Arduino

2.1 – Entorno de programación

2.2 – Instalación software y configuración

2.3 – Descarga e Instalación Prácticas

Opcional:

1.11 – Montaje del Starter Kit Arduino

Día 3. Hardware Arduino y Simuladores

Día 3 del curso Aprendiendo Arduino. Hardware Arduino y Simuladores.

Este tercer día del curso vamos a ver el Hardware de Arduino a fondo y en la parte práctica veremos un simulador de Arduino.

4.1 – Componentes Electrónicos

1.9 – Novedades en Arduino. Arduino.cc y Arduino.org

1.8 – Placas Arduino

1.10 – Shields Arduino

2.8 – Simuladores Arduino

2.9 – Uso simulador Arduino

2.10 – Programación Visual

Arduino.cc y Arduino.org. Los dos Arduinos

A principios de 2015 se produjo una división dentro de Arduino y desde entonces han aparecido bastante cambios para los usuarios de Arduino, principalmente que ha aparecido una nueva marca llamada “Genuino” y una nueva web oficial de Arduino www.arduino.org. Pero no solo es que haya dos páginas web oficiales de Arduino, sino que ahora hay dos entornos de programación y han aparecido nuevos modelos de placas Arduino pero fabricadas por diferentes empresas.

En este momento hay dos páginas oficiales de Arduino: www.arduino.cc y www.arduino.org, la primera es la que nació originalmente y la segunda es la que se creó a raiz del la división entre el equipo creador de Arduino y la empresa que fabricaba el Hardware en Italia.

Cada una de estas webs tienen placas Arduino diferentes, IDEs diferentes y marcas diferentes con la aparición de Genuino en Europa. Esto puede causar cierta confusión a los usuarios de Arduino y vamos a aclararlo en este post.

Un poco de Historia

Arduino LLC fue la compañía creada por Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino en 2009 y es la propietaria de la marca Arduino. Las placas Arduino eran fabricadas por una spinoff llamada Smart Projects Srl creada por Gianluca Martino. En noviembre de 2014 cambiaron el nombre de la empresa que manufactura las placas Arduino de Smart Projects Srl a Arduino Srl y registraron el dominio arduino.org, esto fue el inicio de la división que se produjo poco después.

Hasta principios de 2015 la web oficial de Arduino era www.arduino.cc mantenida por los creadores de Arduino y todo su equipo. En febrero de 2015 se hizo público la ruptura entre los fundadores de Arduino y el fabricante de las placas de Arduino liderado por Gianluca Martino, comenzando este una nueva dirección del proyecto Arduino.

Más información en estos enlaces:

Otros enlaces muy interesantes que explican la historia de la separación de Arduino y el origen de Arduino con Wiring y su creador Hernando Barragán:

En mayo de 2015 Massimo Banzi anunció la nueva marca de Arduino y el nuevo desarrollo de Arduino en la Maker Faire Bay Area 2015. Ver: https://blog.arduino.cc/2015/05/22/the-state-of-arduino-a-new-sister-brand-announced/

A partir de esta ruptura, durante 2015 se vieron muchos cambios en ambas páginas web, mejoras notables en el IDE oficial de Arduino de www.arduino.cc y la aparición de dos nuevos IDEs de Arduino desde www.arduino.org, uno como un fork del original y otro un nuevo desarrollo de arduino.org llamado Arduino Studio escrito de nuevo completamente en javascript y basado en Brackets, pero que aun está en versión alpha.

Podemos resumir que ahora mismo hay dos empresas: Arduino LLC con Massimo Banzi y los demás co-fundadores de Arduino y Arduino SRL con Gianluca Martino y Federico Musto, este último no perteneciente al equipo original e incorporado posteriormente.

Las marcas Arduino

Puesto que las placas Arduino son open source, cualquiera puede hacer una placa Arduino compatible o incluso una copia exacta, sin embargo el nombre, la marca Arduino y el logotipo están protegidos: https://www.arduino.cc/en/Trademark/HomePage.

Ahora mismo en europa la marca y el logo arduino es usado por arduino.org y en USA es usado por arduino.cc. Por este motivo en europa arduino.cc ha sacado una nueva marca llamada GENUINO y un nuevo logo.

Genuino es una marca de arduino.cc creada por los fundadores de Arduino y usada para las placas y productos vendidos fuera de Estados Unidos.

Más información en: https://www.arduino.cc/en/Main/GenuinoBrand

Por lo tanto cuando vemos una placa genuino, se trata de una placa Arduino. Se puede decir que Arduino y Genuino son lo mismo pero por temas legales debe tener un nombre/marca diferente.

Las dos webs a fondo

www.arduino.cc es el sitio original de Arduino de los creadores de Arduino y www.arduino.org es un “fork” creado por la empresa que fabricaba las placas Arduino. Ambas páginas tratan sobre Arduino pero fabrican placas diferentes, nos ofrecen IDEs diferentes y contiene información de cada uno de sus productos.

Arduino.cc

Como hemos dicho es la web original de Arduino y la que conocen bien todos los que han trabajado con Arduino. Los elementos más importantes de esta web son:

La web de arduino.cc ha evolucionado mucho en los meses posteriores a la división de Arduino. Ha cambiado la imagen y han actualizado y añadido los contenidos. Se pueden ver las novedades en la entrada del blog de arduino.cc: https://blog.arduino.cc/2015/09/11/keeping-the-arduino-website-in-motion/

Arduino.org

Web oficial de la marca Arduino fuera de USA. Los elementos más importantes de esta web son:

El Hardware Arduino

La división de Arduino en dos partes ha provocado que haya dos tipos de placas con marcas diferentes como hemos visto. En la página arduino.org se encuentra disponibles productos que en el arduino.cc no están y viceversa.

arduino.cc tiene un acuerdos con adafruit y seeedstudio para manufacturar sus placas y también tiene nuevos acuerdos para usar MCUs de Intel además de los de Atmel, como el arduino 101 con chip intel curie.

Anuncios de los acuerdos de arduino.cc

Las placas oficiales para Europa de genuino son:

Para el mercado europeo no ofrece actualmente shields, pero pueden verse todas las placas y shields de Arduino en: https://www.arduino.cc/en/Main/Products

En cada uno de los enlaces tenemos amplia información de cada placa y todo tipo de documentación sobre ellas, que es imprescindible leer antes de comenzar a usarlas.

arduino.org es fabricante de sus placas en Italia y se habló de conversaciones para fabricar con Panasonic y Bosch para expandir por el mundo la fabricación de placas Arduino y reducir su coste según http://readwrite.com/2015/03/18/arduino-open-source-schism/

Las placas de arduino.org disponibles son:

Las shields oficiales de arduino.org están en http://www.arduino.org/products/shields donde también han aparecido novedades como la segunda versión del Ethernet Shield y del GSM Shield

Los IDEs de Arduino

Por supuesto Arduino no es solo Hardware, sino también el software que nos facilita programar el microcontrolador. Esta división en el hardware también se ha visto reflejada en la división de software apareciendo nuevos IDEs de arduino.cc y arduino.org.

Una consecuencia de esta división es que las placas de arduino.org pueden no funcionar con el IDE original de arduino.cc y al contrario. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas modificaciones en el IDE para poder usar las placas de un arduino en el IDE del otro arduino.

El listado de placas soportadas por cada IDE difiere un poco:

Placas IDE arduino.cc Placas IDE arduino.org
 2016-03-19 (20)

2016-03-19 (21)

 2016-03-19 (19)

Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo, pero con los arduinos anteriores a la división de Arduino seguirán siendo soportados en ambos IDEs.

También es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías que tienen incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en otro y habrá que tenerlo en cuenta.

Puede que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6

Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. También puede pasar con falsificaciones o clones de placas arduino. El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a la empresa Dog Hunter AG.

IDE Arduino.cc: Es el IDE original de Arduino pero que desde la aparición de la versión 1.6.2 hay grandes mejoras que incluyen la gestión de librerías y gestión de placas muy mejoradas respecto a la versión anterior y avisos de actualización de versiones de librerías y cores.

Arduino Create de Arduino.cc: Es un IDE online que actualmente está accesible  de forma privada en modo beta testing desde https://create-staging.arduino.cc/.

Un IDE online te permite tener siempre la versión actualizada del propio IDE, librerías y cores de las MCUs, así como guardar online los sketches en la nube.

Más información de Arduino Create:

Para usarlo es necesario usar un agente e instalarlo en el ordenador. Código fuente del agente: https://github.com/arduino/arduino-create-agent

IDE Arduino.org: Se trata de un fork del IDE de arduino.cc que a su vez deriva de Wiring http://wiring.org.co/. Este IDE no dispone de la gestión mejorada de librerías y placas.

Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay varias diferencias.

2016-03-19 (17)

Más información en: http://labs.arduino.org/Arduino%20IDE

IMPORTANTE: la versión del IDE de arduino.org es actualmente la 1.7.8, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.8, pero no es cierto, se trata de un IDE difrente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc.

Ver Issue: https://github.com/arduino-org/Arduino/issues/2

IMPORTANTE: si ya tienes instalado el IDE de arduino.cc, el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org en lugar de usar el instalador.

Las preferencias y la ruta donde se guardan los sketches y librerías en los dos IDEs difiere y su configuración es importante si vamos a tener en nuestro ordenador conviviendo ambos IDEs y queremos que compartan librerías y sketches.

Para el IDE de arduino.cc, desde la pantalla de preferencias del IDE configuramos la ruta donde se guardan los sketches y librerías, de forma que al instalar una actualización mantenemos todos los datos o si instalamos varios IDEs van a compartir estos datos.

2016-03-19 (7)

  • Las preferencias se guardan en: C:Usersnombre_usuarioAppDataLocalArduino15, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
  • Los sketches y librerías se guardan en C:Usersnombre_usuarioDocumentosArduino

Para el IDE de arduino.org las preferencias son:

2016-03-19 (14)

  • Las preferencias se guardan en: C:Usersnombre_usuarioAppDataRoamingArduino15preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
  • Los sketches y librerías se guardan en C:Usersnombre_usuarioDocumentosArduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.

Arduino Studio de Arduino.org: Es un nuevo entorno de desarrollo open source, se encuentra en version Alpha. Es un nuevo IDE totalmente diferente al IDE original y creado desde cero. Está escrito en Javascript y basado en Brackets: http://brackets.io/  

De momento es una versión en prueba, pero habrá que seguir su evolución. Su filosofía es: “Just one editor for all the environments”

Esta imagen define la estrategia de arduino.org en cuanto a los IDEs:

Además de los entornos de programación que nos ofrecen arduino.cc y arduino.org, tenemos otro apartado de software difreneciado que es el Sistema Operativo basado en Linux que corre dentro de los Arduinos con procesador MIPS Qualcomm Atheros como el Yun o el Tian.

arduino.cc distribuye para los Arduino Yun el openwrt-yun en su version 1.5.3.

Para descargarlo: https://www.arduino.cc/en/Main/Software

Instrucciones para instalarlo: https://www.arduino.cc/en/Tutorial/YunSysupgrade

La librería usada para comunicar el microcontrolador con linux se llama Bridge:

arduino.org usa LininOS que es una distribución Linux basada en OpenWRT e integrado con LininoIO. LininoOS es usado por Arduino Yun, Yun Mini, Tian e Industrial 101

LininoIO es un framework capaz de integrar las capacidades de un microcontrolador dentro de un entorno Linux. Es posible escribir una aplicación en Python, Node.js, etc… usando LininiOS para controlar completamente la MCU y los dispositivos conectados.

La librería usada para comunicar el microcontrolador con linux se llama Arduino Ciao. Simplifica la interacción entre el microcontrolador y LininoOS permitiendo su conexión la mayoría de protocolos y servicios de terceros.

Más información: http://labs.arduino.org/Ciao

Ciao se divide en dos partes:

Cómo funciona Ciao:

La librería Ciao aún está en desarrollo. El reference de la librería está en:

Guía de inicio con Ciao: http://labs.arduino.org/Ciao+setup

Más información sobre linino: http://www.linino.org/

Placa linino: http://www.linino.org/product/linino-one/

Agenda Arduino/Genuino Day 2016 Logroño

GENUINODAY_banner_720x300

Web oficial del Arduino Day: https://day.arduino.cc

Cuando: Sábado 2 de abril de 2016

Donde: Think Tic (Avda. Zaragoza 21, Logroño)

Inscripciones: aquí

Si trabajas o eres una empresa que distribuyes o desarrollas con productos Arduino/Genuino y quieres mostrar lo que haces en el taller del Arduino/Genuino Day, ponte en contacto con aprendiendoarduino@gmail.com para participar.

Evento: De 9.30 a 13.30 – TALLER INICIACIÓN “Conoce Arduino y da tus primeros pasos sin necesidad de Programar” en el Aula 7 del Think Tic.

Como: Ven con tu portátil, tu Arduino/Genuino y el cable USB para conectarlos. Da tus primeros pasos con Arduino sin necesidad de saber programar.
También puedes traer algunos LEDs, resistencias, sensores, jumpers, protoboard, etc… para usarlos con Arduino y modulos wifi o ethernet para conectar tu Arduino a Internet.

Por Qué: Para celebrar el Arduino/Genuino Day en Logroño con un taller para iniciarse en el mundo del Hardware Libre con Arduino/Genuino

Detalle: Taller de 4 horas con el objetivo conocer Arduino/Genuino y hacer funcionar los primeros programas en Arduino.

Contenido del TallerTodo el contenido del taller está disponible públicamente con licencia CC en http://aprendiendoarduino.com/wordpress/arduino-day/, así como la documentación, tutoriales y código.

Qué Veremos en el Taller:

  • Qué es Arduino/Genuino y el HW libre
  • Diferentes Arduinos para Diferentes Necesidades
  • Shields Arduino
  • Software Arduino
  • Instalación Software Arduino (IDE)
  • Primeros Programas con Arduino
  • Librerías Arduino
  • Comunidad Arduino
  • Proyectos con Arduino
  • IoT y Arduino
  • Muestra de productos y desarrollos de Arduino

NOTA: Imprescindible que cada participante traiga su propio portátil.

Si no dispones de un Arduino, disponemos de unas pocas unidades para que puedas seguir el taller.

Cartel del evento

GENUINODAY_flyer_personalizado_v2