Arduino se ha convertido una figura destacada e incluso uno de los impulsores del IoT y no por casualidad, sino que por sus características es un HW con gran capacidad para usar en proyectos de IoT.
Características de Arduino para IoT
- Barato y rápido prototipado.
- HW libre y por lo tanto es modificable para que consuma menos y para hacer un HW final de características industriales.
- Disponibilidad de HW de comunicaciones de todo tipo para conectar con Arduino. Nuevas tecnologías de comunicación llegan antes que para elementos comerciales
- Librerías y SW público para su reutilización o adaptación.
- Flexibilidad en la programación.
- Apoyo de la comunidad.
No en vano cuando se busca IoT (Internet de las cosas) enseguida aparece Arduino.
Arduino sirve para recoger datos no solo del entorno sino de máquinas o elementos externos y comunicarnos con Internet, mediante su consumo eléctrico, contactos de alertas externas, su temperatura, su posición, etc…
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.
Qué es Arduino: https://aprendiendoarduino.wordpress.com/2018/04/02/que-es-arduino-7/
Hardware Arduino:
- Placas Arduino: https://aprendiendoarduino.wordpress.com/2017/10/15/placas-arduino-3/
- Shields Arduino: https://aprendiendoarduino.wordpress.com/2017/06/20/shields-arduino-3/
Hardware Arduino IoT
La familia de Arduino MKR son una serie de placas con un factor de forma diferente al de Arduino mucho más pequeño y basados todos en el microcontrolador de 32 bits de Atmel SAMD21. Estas placas están pensadas principalmente para IoT.
MKR Family: https://store.arduino.cc/arduino-genuino/arduino-genuino-mkr-family
Arduino MKRZero
Producto: https://store.arduino.cc/arduino-mkrzero
Primero modelo de la familia MKR y heredero del Arduino Zero.
Arduino MKR1000 WIFI
Producto: https://store.arduino.cc/arduino-mkr1000
Versión para IoT con procesador Atmel ARM Cortex M0+ de 32bits ATSAMW25 que es el mismo procesador que Genuino Zero pero con wifi integrado, chip de cifrado y antena integrada.
El ATSAMW25 está compuesto por tres principales bloques:
- SAMD21 Cortex-M0+ 32bit low power ARM MCU
- WINC1500 low power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi (mismo que el wifi 101 shield)
- ECC508 CryptoAuthentication
Arduino MKR WiFi 1010
Producto: https://store.arduino.cc/arduino-mkr-wifi-1010
El MKR WIFI 1010 es una mejora significativa del MKR 1000 WIFI. Está equipado con un módulo ESP32 fabricado por U-BLOX. Esta placa tiene como objetivo acelerar y simplificar la creación de prototipos de aplicaciones de IO basadas en WiFi gracias a la flexibilidad del módulo ESP32 y su bajo consumo de energía.
La placa tienes estos 3 bloques principales:
- SAMD21 Cortex-M0+ 32bit Low Power ARM MCU;
- U-BLOX NINA-W10 Series Low Power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi; and Bluetooth
- ECC508 Crypto Authentication.
Arduino MKR FOX 1200
Producto: https://store.arduino.cc/arduino-mkrfox1200
Arduino anunciado en abril de 2017. En una placa de desarrollo pensada para el IoT con conectividad Sigfox. Comparte muchas características con otras placas de la familia MKR como em microcontrolador SAM D21 32-bit Cortex-M0+.
Incluye un módulo ATA8520 con conectividad sigfox de amplia cobertura y bajo consumo capaz de funcionar durante 6 meses con dos pilas AA. También incluye una suscripción por dos años a la red Sigfox: http://www.sigfox.com/en
Web: https://blog.arduino.cc/2017/04/18/introducing-the-arduino-mkrfox1200/
Más información sobre el Arduino MKRFOX1200 en el artículo: https://www.aprendiendoarduino.com/2018/03/05/arduino-mkrfox1200/
Arduino MKR WAN 1300
Producto: https://store.arduino.cc/mkr-wan-1300
Presentado el 25 de septiembre de 2017 en la maker faire de NY: https://blog.arduino.cc/2017/09/25/introducing-the-arduino-mkr-wan-1300-and-mkr-gsm-1400/
Arduino + LoRa:
- Microcontrolador: http://www.atmel.com/Images/Atmel-42181-SAM-D21_Summary.pdf
- Módulo LoRa: http://wireless.murata.com/RFM/data/type_abz.pdf
Arduino MKR GSM 1400
Producto: https://store.arduino.cc/mkr-gsm-1400
Presentado el 25 de septiembre de 2017 en la maker faire de NY: https://blog.arduino.cc/2017/09/25/introducing-the-arduino-mkr-wan-1300-and-mkr-gsm-1400/
Arduino + GSM:
- Microcontrolador: http://www.atmel.com/Images/Atmel-42181-SAM-D21_Summary.pdf
- Módulo GSM: https://www.u-blox.com/sites/default/files/SARA-U2_DataSheet_%28UBX-13005287%29.pdf
Arduino MKR NB 1500
Producto: https://store.arduino.cc/arduino-mkr-nb-1500
El nuevo estándar Narrow Band IoT, con el ecosistema Arduino fácil de usar. Totalmente compatible con las clases Narrow Band IoT NB y las redes LTE CAT M1.
Arduino MKR Vidor 4000
Producto: https://store.arduino.cc/arduino-vidor-4000 :
El MKR VIDOR 4000 es altamente configurable y potente, y puede realizar procesamiento digital de audio y video de alta velocidad.
El MKR VIDOR 4000 puede configurarlo de la manera que desee; esencialmente puede crear su propia tarjeta controladora.
Viene cargado de hardware y potencial:
- un SRAM de 8 MB
- un chip Flash QSPI de 2 MB – 1 MB asignado para aplicaciones de usuario
- un conector Micro HDMI
- un conector para cámara MIPI
- Wifi & BLE alimentado por U-BLOX NINA Serie W10.
También incluye la clásica interfaz MKR en la que todos los pines son accionados tanto por SAMD21 como por FPGA.
Además, tiene un conector Mini PCI Express con hasta 25 pines programables por el usuario.
La FPGA contiene 16K Logic Elements, 504 KB de RAM embebida y 56 multiplicadores de 18×18 bit HW para DSP de alta velocidad. Cada pin puede conmutar a más de 150 MHz y puede ser configurado para funciones tales como UARTs, (Q)SPI, PWM de alta resolución/alta frecuencia, codificador de cuadratura, I2C, I2S, Sigma Delta DAC, etc.
La FPGA integrada también se puede utilizar para operaciones DSP de alta velocidad para el procesamiento de audio y vídeo. Esta tarjeta también incluye un Microchip SAMD21. La comunicación entre la FPGA y el SAMD21 es directa.
Accesorios para Arduinos MKR
- MKR 485 Shield: https://store.arduino.cc/arduino-mkr-485-shield
- MKR CAN Shield: https://store.arduino.cc/arduino-mkr-can-shield
- MKR ETH Shield: https://store.arduino.cc/arduino-mkr-eth-shield
- MKR mem Shield: https://store.arduino.cc/arduino-mkr-mem-shield
- MKR SC Proto Shield: https://store.arduino.cc/mkr-sd-proto-shield
- MKR relay proto shield: https://store.arduino.cc/mkr-relay-proto-shield
- MKR proto shield: https://store.arduino.cc/mkr-proto-shield
- MKR Connector Carrier: https://store.arduino.cc/arduino-mkr-connector-carrier
- MKR2UNO adapter: https://store.arduino.cc/mkr2uno-adapter
Y los IoT Bundles:
- MKR1000 bundle: https://store.arduino.cc/arduino-iot-mkr1000-bundle
- MKR family bundle: https://store.arduino.cc/mkr-family-bundle-for-developers
Configuración Arduino
Puesta en marcha y comprobación del entorno de programación de Arduino para utilizar en el curso.
Instalación del IDE y blink para comprobar que funciona:
- https://aprendiendoarduino.wordpress.com/2018/04/03/instalacion-software-arduino-2/
- https://aprendiendoarduino.wordpress.com/2018/04/07/ide-arduino-y-configuracion-2/
Programación Arduino
- https://aprendiendoarduino.wordpress.com/2017/10/14/programacion-arduino-7/
- https://aprendiendoarduino.wordpress.com/2017/06/19/estructura-sketch-arduino/
Librerías
Mandar Datos a un Servidor con Arduino
Vamos a conectar Arduino a un servidor y mandar datos para que los muestre en una gráfica. Mandar datos a https://www.aprendiendoarduino.com/servicios/datos/graficas.html
Conexión:
Poner este código en Arduino: https://github.com/jecrespo/aprendiendoarduino-servicios/blob/master/arduino_code/data_logger_temperatura_DHCP/data_logger_temperatura_DHCP.ino
Ver los datos en:
Pingback: Saber más de IoT… | Aprendiendo Arduino