Archivo de la etiqueta: Configuración IDE

IDE Arduino y Configuración

Entorno de programación

El entorno de desarrollo integrado también 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 lenguajes.

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.

El IDE de Arduino va a ser la herramienta de trabajo durante el curso y habrá que conocer su funcionamiento.

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.

Anteriormente a la versión 1.x de Arduino se usaba la extensión “pde”. Cuando se pasó a la versión 1.x hubo grandes cambios, que deben tenerse en cuenta si se usa el código antiguo. Guía de como migrar de versiones anteriores a la 1.0: http://www.engblaze.com/changes-in-the-arduino-1-0-release/

La última versión del IDE de Arduino es la 1.8.9. Los grandes cambios en el IDE Arduino se han producido desde la actualización de la versión 0.22 a la 1.0 y posteriormente la actualización de la versión 1.0.6 a la 1.6.0 que han supuesto importantes mejoras en el IDE de Arduino.

También está disponible la versión 1.9.0 en beta para probar las novedades del IDE.

Es destacable desde la aparición de la versión 1.6.2 la incorporación de la gestión de librerías y la gestión de placas muy mejoradas respecto a la versión anterior y los avisos de actualización de versiones de librerías y cores.

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

Código fuente del IDE de Arduino está disponible en: https://github.com/arduino/Arduino/  y las instrucciones para construir el IDE desde código fuente pueden verse en: https://github.com/arduino/Arduino/wiki/Building-Arduino

Podemos también ver los problemas/bugs detectados de la versión actual y hacer un seguimiento de ellos: https://github.com/arduino/Arduino/issues y en http://forum.arduino.cc/index.php?board=2.0

Conozcamos el IDE, nuestro entorno de trabajo:

IMPORTANTE: Para conocer el entorno de programación a fondo ver: http://arduino.cc/en/Guide/Environment

Es importante conocer cada uno de los menús y opciones que tiene, pero los más importantes por ahora son:

  • Botones de Verificar y Subir
  • Botón Monitor Serie
  • Consola de Error
  • Menú herramientas Placa y Puerto
  • Menú de pestañas
  • Puerto y placa seleccionada
  • Menú preferencias
  • Proyecto/Sketch

Configuración inicial del IDE

Después de la instalación, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.

Para ello, entrar en el menú Archivo → preferencias y activar:

  • Números de Línea
  • Mostrar salida detallada en la compilación y al subir un sketch
  • Configurar la ruta de nuestro workspace
  • Advertencia del compilador: Todos
  • Asociar extensión .ino a nuestro IDE
  • Habilitar plegado de código
  • Verificar el código después de subir

Desde esta pantalla configuramos donde se guardan las preferencias, 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.

  • Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
  • Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, aquí también está el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.

NOTA: Guardar en el directorio de “Localización de Proyecto” la carpeta con las prácticas, de esta manera estarán disponibles directamente desde el IDE de Arduino.

Cargar un Programa en Arduino

El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes como son abrir sketch, guardar sketch, compilar y cargar programa.

A la hora de cargar un programa en Arduino, debemos seleccionar siempre el modelo de la placa conectada y el puerto al que está conectado.

Una vez seleccionada la placa y el puerto ya podemos pulsar sobre el botón subir y comenzará el proceso de compilación y carga del programa a la placa Arduino.

Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.

Práctica: Probar a cargar el programa blink en Arduino y comprobar que parpadea el led integrado en la placa. De esta forma comprobamos que hemos instalado todo correctamente.

Gestor de Tarjetas

El gestor de tarjetas está disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas tenemos y permite instalar otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, eso se debe configurar desde otro fichero.

Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero nos permite instalar el soporte para los Arduino con MCU ARM de 32 bits como el Arduino MKR1000 o las Intel como el Arduino 101.

En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores

Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting

Gestor de Librerías

El gestor de librerías accesible desde menú > Programa > Incluir Librería > Gestionar Librerías

Este gestor nos permite instalar, desinstalar y actualizar las librerías que tenemos disponibles en el IDE.

Monitor serie

El monitor serie es una de las partes más importantes del IDE de Arduino porque es nuestra ventana para la comunicación entre Arduino y el ordenador, que se hace a través del cable USB.

Para realizar la conexión mediante puerto serie únicamente es necesario conectar nuestra placa Arduino empleando el mismo puerto que empleamos para programarlo. A continuación abrimos el IDE Standard de Arduino y hacemos click en el “Monitor Serial” como se indica en la imagen.

El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.

El monitor de puerto serie es una pequeña utilidad integrada dentro de IDE Standard que nos permite enviar y recibir fácilmente información a través del puerto serie. Su uso es muy sencillo, y dispone de dos zonas, una que muestra los datos recibidos, y otra para enviarlos. Estas zonas se muestran en la siguiente imagen.

Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo, pero generalmente suficiente.

Una buena alternativa muy completa es el btaru terminal: https://sites.google.com/site/terminalbpp/

Arduino Serial Plotter. Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que nos permite hacer gráficas de los datos mandados por puerto serie.

Práctica: Cargar el programa “AnalogReadSerial” dentro de los ejemplos, apartado 01.Basics y ver lo que saca por el monitor serie y por el Serial Plotter.

Beta IDE Arduino

Está disponible la versión Beta 1.9 del IDE de Arduino para su descarga en https://www.arduino.cc/en/Main/Software en la zona de Beta Builds.

Alguna de las novedades de la versión beta pueden verse en: https://blog.arduino.cc/2017/10/11/be-among-the-first-to-try-arduino-ide-1-9-beta/

Algunas de las novedades interesantes son:

Novedades en el IDE Arduino

Software Release Notes: https://www.arduino.cc/en/Main/ReleaseNotes

Arduino Command Line Interface: https://blog.arduino.cc/2018/08/24/announcing-the-arduino-command-line-interface-cli/, interfaz de comandos en linea que permite usar las herramientas de Arduino en Makefiles. Permitiría de una forma sencilla instalar dependencias de un proyecto con: arduino-cli lib install “WiFi101” “WiFi101OTA”

Esto también permitirá integrar el soporte de Arduino a otros IDEs.

Getting started guide de Arduino-cli: https://github.com/arduino/arduino-cli#getting-started

Arduino Device Manager: https://create.arduino.cc/devices/  

Arduino Cloud

Arduino IoT Cloud permite conectar dispositivos a Internet y a otros dispositivos. Esta herramienta hace que la creación de objetos conectados sea rápida, sencilla y segura.

Aun es una versión beta y solo se puede usar con unos pocos modelos de Arduino, pero puede ser interesante en el futuro.

Actualmente, las tarjetas MKR1000, MKR WiFi 1010 y MKR GSM 1400 son compatibles. En el futuro, el MKR Vidor 4000 y Arduino Uno WiFi Rev2 también serán soportados.

Arduino IoT Cloud es una plataforma de aplicación de Internet of Things fácil de usar. Hace que sea muy sencillo para cualquiera desarrollar y gestionar aplicaciones de IoT, lo que les permite centrarse en la resolución de problemas reales en su negocio o en la vida cotidiana.

Web: https://create.arduino.cc/iot/things

Más información sobre Arduino IoT Cloud: https://www.arduino.cc/en/IoT/HomePage

Presentación del Arduino IoT Cloud:

Getting started con Arduino Cloud:

Proyectos con IoT cloud: https://create.arduino.cc/projecthub/products/arduino-cloud

Mejoras en Arduino IoT Cloud:

Librería Arduino IoT Cloud: https://github.com/arduino-libraries/ArduinoIoTCloud

FAQ: https://www.arduino.cc/en/Create/FAQ

IDE Online

Arduino.cc ha sacado un IDE on-line llamado Arduino Web Editor que puede usarse en lugar del IDE que acabamos de ver. Este IDE on-line está dentro del proyecto Arduino Create accesible desde https://create.arduino.cc/ y incluye varios apartados.

Para usar este IDE es necesario instalar un plugin y mediante este wizard online es posible instalarlo: https://create.arduino.cc/getting-started/plugin

También es importante señalar que es necesario crearse una cuenta de arduino.cc para poder usar este IDE on-line.

Getting started con Arduino Web Editor: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a

FAQ: https://www.arduino.cc/en/Create/FAQ

En estas publicaciones del blog de arduino.cc habla de Arduino Create:

Con Arduino Web Editor es posible escribir y cargar sketchs a cualquier placa Arduino directamente desde el navegador, guardar todos los sketches en el Arduino Cloud y acceder a ellos desde cualquier dispositivo.

El nuevo IDE de Arduino Web está siempre actualizado, incluyendo las últimas librerías y cores de las placas sin tener que instalar nada. Las placas conectadas al ordenador aparecen automáticamente en un desplegable.

Los ejemplos están disponible con los esquemáticos de conexión y también permite subir tus sketches con el esquemático y diagrama eléctrico, de forma que está todo en un mismo lugar.

Para poder usarlo es necesario descargar un plug-in en función del sistema operativo (Windows/Linux/Mac OS).  El código fuente y los binarios de este plugin están en: https://github.com/arduino/arduino-create-agent

Este plugin (agente) detecta automáticamente los puertos USB de nuestro ordenador y detecta cualquier placa Arduino conectada, si estamos cargando un sketch o si estamos usando el monitor serie.

Este plugin está basado en el serial-port-json-server de johnlauer: https://github.com/johnlauer/serial-port-json-server que permite comunicarte con el puerto serie de un ordenador desde un navegador. Esto permite hacer aplicaciones web que se pueden comunicar con el puerto serie local. Más información y ejemplo en: http://chilipeppr.com/

Esto no es una sustitución del IDE tradicional, sino un complemento para quien no quiera instalarse el IDE. Arduino.cc ha mostrado su intención de dar siempre a la comunidad un IDE off-line, aunque actualmente están fomentado el uso del IDE online.

Anuncios

Arduino en IoT

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:

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:

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:

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

Y los IoT Bundles:

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:

Programación 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:

IDE Arduino y Configuración

Entorno de programación

El entorno de desarrollo integrado también 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 lenguajes.

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.

El IDE de Arduino va a ser la herramienta de trabajo durante el curso y habrá que conocer su funcionamiento.

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.

Anteriormente a la versión 1.x de Arduino se usaba la extensión “pde”. Cuando se pasó a la versión 1.x hubo grandes cambios, que deben tenerse en cuenta si se usa el código antiguo. Guía de como migrar de versiones anteriores a la 1.0: http://www.engblaze.com/changes-in-the-arduino-1-0-release/

La última versión del IDE de Arduino es la 1.8.5. Los grandes cambios en el IDE Arduino se han producido desde la actualización de la versión 0.22 a la 1.0 y posteriormente la actualización de la versión 1.0.6 a la 1.6.0 que han supuesto importantes mejoras en el IDE de Arduino.

También está disponible la versión 1.9.0 en beta para probar las novedades del IDE.

Es destacable desde la aparición de la versión 1.6.2 la incorporación de la gestión de librerías y la gestión de placas muy mejoradas respecto a la versión anterior y los avisos de actualización de versiones de librerías y cores.

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

Código fuente del IDE de Arduino está disponible en: https://github.com/arduino/Arduino/  y las instrucciones para construir el IDE desde código fuente pueden verse en: https://github.com/arduino/Arduino/wiki/Building-Arduino

Podemos también ver los problemas/bugs detectados de la versión actual y hacer un seguimiento de ellos: https://github.com/arduino/Arduino/issues y en http://forum.arduino.cc/index.php?board=2.0

Conozcamos el IDE, nuestro entorno de trabajo:

IMPORTANTE: Para conocer el entorno de programación a fondo ver: http://arduino.cc/en/Guide/Environment

Es importante conocer cada uno de los menús y opciones que tiene, pero los más importantes por ahora son:

  • Botones de Verificar y Subir
  • Botón Monitor Serie
  • Consola de Error
  • Menú herramientas Placa y Puerto
  • Menú de pestañas
  • Puerto y placa seleccionada
  • Menú preferencias
  • Proyecto/Sketch

Configuración inicial del IDE

Después de la instalación, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.

Para ello, entrar en el menú Archivo → preferencias y activar:

  • Números de Línea
  • Mostrar salida detallada en la compilación y al subir un sketch
  • Configurar la ruta de nuestro workspace
  • Advertencia del compilador: Todos
  • Asociar extensión .ino a nuestro IDE
  • Habilitar plegado de código
  • Verificar el código después de subir

Desde esta pantalla configuramos donde se guardan las preferencias, 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.

  • Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
  • Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, aquí también está el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.

NOTA: Guardar en el directorio de “Localización de Proyecto” la carpeta con las prácticas, de esta manera estarán disponibles directamente desde el IDE de Arduino.

Cargar un Programa en Arduino

El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes como son abrir sketch, guardar sketch, compilar y cargar programa.

A la hora de cargar un programa en Arduino, debemos seleccionar siempre el modelo de la placa conectada y el puerto al que está conectado.

Una vez seleccionada la placa y el puerto ya podemos pulsar sobre el botón subir y comenzará el proceso de compilación y carga del programa a la placa Arduino.

Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.

Práctica: Probar a cargar el programa blink en Arduino y comprobar que parpadea el led integrado en la placa. De esta forma comprobamos que hemos instalado todo correctamente.

Gestor de Tarjetas

El gestor de tarjetas está disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas tenemos y permite instalar otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, eso se debe configurar desde otro fichero.

Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero nos permite instalar el soporte para los Arduino con MCU ARM de 32 bits como el Arduino MKR1000 o las Intel como el Arduino 101.

En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores

Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting

Gestor de Librerías

El gestor de librerías accesible desde menú > Programa > Incluir Librería > Gestionar Librerías

Este gestor nos permite instalar, desinstalar y actualizar las librerías que tenemos disponibles en el IDE.

Monitor serie

El monitor serie es una de las partes más importantes del IDE de Arduino porque es nuestra ventana para la comunicación entre Arduino y el ordenador, que se hace a través del cable USB.

Para realizar la conexión mediante puerto serie únicamente es necesario conectar nuestra placa Arduino empleando el mismo puerto que empleamos para programarlo. A continuación abrimos el IDE Standard de Arduino y hacemos click en el “Monitor Serial” como se indica en la imagen.

El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.

El monitor de puerto serie es una pequeña utilidad integrada dentro de IDE Standard que nos permite enviar y recibir fácilmente información a través del puerto serie. Su uso es muy sencillo, y dispone de dos zonas, una que muestra los datos recibidos, y otra para enviarlos. Estas zonas se muestran en la siguiente imagen.

Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo, pero generalmente suficiente.

Una buena alternativa muy completa es el btaru terminal: https://sites.google.com/site/terminalbpp/

Arduino Serial Plotter. Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que nos permite hacer gráficas de los datos mandados por puerto serie.

Práctica: Cargar el programa “AnalogReadSerial” dentro de los ejemplos, apartado 01.Basics y ver lo que saca por el monitor serie y por el Serial Plotter.

IDE Online

Arduino.cc ha sacado un IDE on-line llamado Arduino Web Editor que puede usarse en lugar del IDE que acabamos de ver. Este IDE on-line está dentro del proyecto Arduino Create accesible desde https://create.arduino.cc/ y incluye varios apartados.

Para usar este IDE es necesario instalar un plugin y mediante este wizard online es posible instalarlo: https://create.arduino.cc/getting-started/plugin

También es importante señalar que es necesario crearse una cuenta de arduino.cc para poder usar este IDE on-line.

Getting started con Arduino Web Editor: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a

En estas publicaciones del blog de arduino.cc habla de Arduino Create:

Con Arduino Web Editor es posible escribir y cargar sketchs a cualquier placa Arduino directamente desde el navegador, guardar todos los sketches en el Arduino Cloud y acceder a ellos desde cualquier dispositivo.

El nuevo IDE de Arduino Web está siempre actualizado, incluyendo las últimas librerías y cores de las placas sin tener que instalar nada. Las placas conectadas al ordenador aparecen automáticamente en un desplegable.

Los ejemplos están disponible con los esquemáticos de conexión y también permite subir tus sketches con el esquemático y diagrama eléctrico, de forma que está todo en un mismo lugar.

Para poder usarlo es necesario descargar un plug-in en función del sistema operativo (Windows/Linux/Mac OS).  El código fuente y los binarios de este plugin están en: https://github.com/arduino/arduino-create-agent

Este plugin (agente) detecta automáticamente los puertos USB de nuestro ordenador y detecta cualquier placa Arduino conectada, si estamos cargando un sketch o si estamos usando el monitor serie.

Este plugin está basado en el serial-port-json-server de johnlauer: https://github.com/johnlauer/serial-port-json-server que permite comunicarte con el puerto serie de un ordenador desde un navegador. Esto permite hacer aplicaciones web que se pueden comunicar con el puerto serie local. Más información y ejemplo en: http://chilipeppr.com/

Esto no es una sustitución del IDE tradicional, sino un complemento para quien no quiera instalarse el IDE. Arduino.cc ha mostrado su intención de dar siempre a la comunidad un IDE off-line, aunque actualmente están fomentado el uso del IDE online.

IDE Arduino y Configuración

Entorno de programación

El entorno de desarrollo integrado también 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 lenguajes.

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.

El IDE de Arduino va a ser la herramienta de trabajo durante el curso y habrá que conocer su funcionamiento.

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.

Anteriormente a la versión 1.x de Arduino se usaba la extensión “pde”. Cuando se pasó a la versión 1.x hubo grandes cambios, que deben tenerse en cuenta si se usa el código antiguo. Guía de como migrar de versiones anteriores a la 1.0: http://www.engblaze.com/changes-in-the-arduino-1-0-release/

La última versión del IDE de Arduino es la 1.8.5. Los grandes cambios en el IDE Arduino se han producido desde la actualización de la versión 0.22 a la 1.0 y posteriormente la actualización de la versión 1.0.6 a la 1.6.0 que han supuesto importantes mejoras en el IDE de Arduino.

El el caso de la versión 1.6.0 los cambios han sido principalmente internos más que en el aspecto de la herramienta. También es destacable desde la aparición de la versión 1.6.2 la incorporación de la gestión de librerías y la gestión de placas muy mejoradas respecto a la versión anterior y los avisos de actualización de versiones de librerías y cores.

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

Código fuente del IDE de Arduino está disponible en: https://github.com/arduino/Arduino/  y las instrucciones para construir el IDE desde código fuente pueden verse en: https://github.com/arduino/Arduino/wiki/Building-Arduino

Podemos también ver los problemas/bugs detectados de la versión actual y hacer un seguimiento de ellos: https://github.com/arduino/Arduino/issues y en http://forum.arduino.cc/index.php?board=2.0

Conozcamos el IDE, nuestro entorno de trabajo:

IMPORTANTE: Para conocer el entorno de programación a fondo ver: http://arduino.cc/en/Guide/Environment

Es importante conocer cada uno de los menús y opciones que tiene, pero los más importantes por ahora son:

  • Botones de Verificar y Subir
  • Botón Monitor Serie
  • Consola de Error
  • Menú herramientas Placa y Puerto
  • Menú de pestañas
  • Puerto y placa seleccionada
  • Menú preferencias
  • Proyecto/Sketch

Configuración inicial del IDE

Después de la instalación, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.

Para ello, entrar en el menú Archivo → preferencias y activar:

  • Números de Línea
  • Mostrar salida detallada en la compilación y al subir un sketch
  • Configurar la ruta de nuestro workspace
  • Advertencia del compilador: Todos
  • Asociar extensión .ino a nuestro IDE
  • Habilitar plegado de código
  • Verificar el código después de subir

Desde esta pantalla configuramos donde se guardan las preferencias, 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.

  • Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
  • Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, aquí también está el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.

NOTA: Guardar en el directorio de “Localización de Proyecto” la carpeta con las prácticas, de esta manera estarán disponibles directamente desde el IDE de Arduino.

Cargar un Programa en Arduino

El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes como son abrir sketch, guardar sketch, compilar y cargar programa.

A la hora de cargar un programa en Arduino, debemos seleccionar siempre el modelo de la placa conectada y el puerto al que está conectado.

Una vez seleccionada la placa y el puerto ya podemos pulsar sobre el botón subir y comenzará el proceso de compilación y carga del programa a la placa Arduino.

Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.

Práctica: Probar a cargar el programa blink en Arduino y comprobar que parpadea el led integrado en la placa. De esta forma comprobamos que hemos instalado todo correctamente.

Gestor de Tarjetas

El gestor de tarjetas está disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas tenemos y permite instalar otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, eso se debe configurar desde otro fichero.

Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero nos permite instalar el soporte para los Arduino con MCU ARM de 32 bits como el Arduino MKR1000 o las Intel como el Arduino 101.

En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores

Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting

Gestor de Librerías

El gestor de librerías accesible desde menú > Programa > Incluir Librería > Gestionar Librerías

Este gestor nos permite instalar, desinstalar y actualizar las librerías que tenemos disponibles en el IDE.

Monitor serie

El monitor serie es una de las partes más importantes del IDE de Arduino porque es nuestra ventana para la comunicación entre Arduino y el ordenador, que se hace a través del cable USB.

El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.

Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo, pero generalmente suficiente.

Una buena alternativa muy completa es el btaru terminal: https://sites.google.com/site/terminalbpp/

Arduino Serial Plotter. Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que nos permite hacer gráficas de los datos mandados por puerto serie.

Práctica: Cargar el programa “AnalogReadSerial” dentro de los ejemplos, apartado 01.Basics y ver lo que saca por el monitor serie y por el Serial Plotter.

IDE Online

Arduino.cc ha sacado un IDE on-line llamado Arduino Web Editor que puede usarse en lugar del IDE que acabamos de ver. Este IDE on-line está dentro del proyecto Arduino Create accesible desde https://create.arduino.cc/ y incluye varios apartados.

Para usar este IDE es necesario instalar un plugin y mediante este wizard online es posible instalarlo: https://create.arduino.cc/getting-started/plugin

También es importante señalar que es necesario crearse una cuenta de arduino.cc para poder usar este IDE on-line.

Getting started con Arduino Web Editor: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a

En estas publicaciones del blog de arduino.cc habla de Arduino Create:

Con Arduino Web Editor es posible escribir y cargar sketchs a cualquier placa Arduino directamente desde el navegador, guardar todos los sketches en el Arduino Cloud y acceder a ellos desde cualquier dispositivo.

El nuevo IDE de Arduino Web está siempre actualizado, incluyendo las últimas librerías y cores de las placas sin tener que instalar nada. Las placas conectadas al ordenador aparecen automáticamente en un desplegable.

Los ejemplos están disponible con los esquemáticos de conexión y también permite subir tus sketches con el esquemático y diagrama eléctrico, de forma que está todo en un mismo lugar.

Para poder usarlo es necesario descargar un plug-in en función del sistema operativo (Windows/Linux/Mac OS).  El código fuente y los binarios de este plugin están en: https://github.com/arduino/arduino-create-agent

Este plugin (agente) detecta automáticamente los puertos USB de nuestro ordenador y detecta cualquier placa Arduino conectada, si estamos cargando un sketch o si estamos usando el monitor serie.

Este plugin está basado en el serial-port-json-server de johnlauer: https://github.com/johnlauer/serial-port-json-server que permite comunicarte con el puerto serie de un ordenador desde un navegador. Esto permite hacer aplicaciones web que se pueden comunicar con el puerto serie local. Más información y ejemplo en: http://chilipeppr.com/

Esto no es una sustitución del IDE tradicional, sino un complemento para quien no quiera instalarse el IDE. Arduino.cc ha mostrado su intención de dar siempre a la comunidad un IDE off-line, aunque actualmente están fomentado el uso del IDE online.

Instalación Software y Configuración

En este capítulo vamos a instalar la última versión del IDE de Arduino, conocer el entorno de programación y hacer las principales configuraciones en el entorno para poder trabajar de forma más eficiente.

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

Elegir la opción de Windows Installer, aunque también es posible descargar la versión comprimida en zip, que es una versión portable o para aquellos que no tengan privilegios suficientes para instalar aplicaciones o simplemente se quiera hacer una instalación manual.

Para actualizar una versión anterior del IDE de Arduino, el procedimiento es el mismo que el de una instalación inicial, puesto que el instalador detecta una versión anterior y la desinstala manteniendo todas nuestras configuraciones, librerías y sketches anteriores.

En caso que queramos mantener varias versiones del IDE en el mismo ordenador, simplemente hacemos la instalación manual en directorios diferentes y las configuraciones, librerías y sketches son compartidas por las diferentes versiones del IDE instaladas.

Ejecutar el instalador descargado. Si existe una versión anterior el instalador nos avisa y nos desinstala. En el caso que hayamos hecho modificaciones en el directorio de instalación las perderemos.

Ya en la instalación aceptamos el acuerdo de licencia.

Marcar todas las opciones y elegir directorio de instalación, generalmente C:\Program Files (x86)\Arduino\:

Permitir instalar los drivers si lo solicita:

Y ya está instalado:

En este momento ya tenemos instalado el IDE en nuestro ordenador. Con las nuevas versiones del IDE de Arduino no es necesario instalar los drivers en Windows al venir integrados en el IDE y tienen las firmas correspondientes.

Ejecutar la aplicación:

Y este es el aspecto del IDE:

Las novedades de la nueva versión 1.6 del IDE:

  • Soporte multiplataforma de arduino
  • Detección automática de la placa conectada
  • Muestra memoria Flash y SRAM ocupada por un sketch o proyecto
  • Autoguardado al compilar y cargar sketch
  • Carga de sketch vía red (wifi o ethernet) para Arduino Yun.

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

Recientemente se ha liberado una versión para dispositivos HW basados en ARM de forma experimental: http://hackaday.com/2016/04/12/arduino-comes-to-the-raspberry-pi-linux-arm-devices/

NOTA: para usuarios de linux/debian, el IDE Arduino está en los repositorios oficiales, pero instalará una versión antigua del IDE. Por lo tanto aunque funcione “apt-get install arduino “, es recomendable hacer la instalación según https://www.arduino.cc/en/Guide/Linux. Para ver qué versión se instalará desde el repositorio oficial usar el comando “apt-cache showpkg arduino”

Conozcamos este nuevo entorno de trabajo:

IMPORTANTE: Para conocer el entorno de programación a fondo ver http://arduino.cc/en/Guide/Environment

Es posible ver cada uno de los menús y opciones que tiene, los más importantes ahora son:

  • Botones de Verificar y Subir
  • Botón Monitor Serie
  • Consola de Error
  • Menú herramientas Placa y Puerto
  • Menú de pestañas
  • Puerto y placa seleccionada
  • Menú preferencias
  • Proyecto/Sketch
  • Resaltado de palabras clave

Monitor serie

El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.

Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo, pero generalmente suficiente.

Una buena alternativa muy completa es el btaru terminal: https://sites.google.com/site/terminalbpp/

Arduino Serial Plotter. Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que nos permite hacer gráficas de los datos mandados por puerto serie.

Cargar Programa en Arduino

El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes como son abrir sketch, guardar sketch, compilar y cargar programa.

Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.

Configuración inicial del IDE

Después de la instalación, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.

Para ello, entrar en el menú Archivo → preferencias y activar:

  • Números de Línea
  • Mostrar salida detallada en la compilación y al subir un sketch
  • Configurar la ruta de nuestro workspace
  • Advertencia del compilador: Todos
  • Asociar extensión .ino a nuestro IDE
  • Habilitar plegado de código
  • Verificar el código después de subir

Desde esta pantalla configuramos donde se guardan las preferencias, 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.

  • Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, 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:\Users\nombre_usuario\Documentos\Arduino

Gestor de Tarjetas

El gestor de tarjetas disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas tenemos y podemos instalar otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, eso se debe configurar desde otro fichero.

Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero nos permite instalar el soporte para los Arduino con MCU ARM de 32 bits como el Arduino MKR1000 o las Intel como el Arduino 101.

En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores

Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting

Instalación y configuración IDE arduino.org

Como ya se ha comentado anteriormente y se puede leer más información en https://aprendiendoarduino.wordpress.com/2016/03/19/arduino-cc-y-arduino-org-los-dos-arduinos/, Arduino se dividió a principios de 2015 en dos compañías y el resultado además de dos páginas web: www.arduino.cc y www.arduino.org, tenemos dos IDEs.

Hemos visto el IDE original de arduino, pero el IDE de arduino.org es un fork del IDE original de arduino.cc que a su vez deriva de Wiring: http://wiring.org.co/. Este IDE de arduino.org no dispone de la gestión mejorada de librerías, ni gestor placas.

Todos los cambios de las versiones se pueden ver en: http://labs.arduino.org/Arduino+IDE+Previous+Releases

Guía de inicio: http://labs.arduino.org/First+steps+with+Arduino+IDE+1.7.x+for+Windows

Código fuente: https://github.com/arduino-org/Arduino

Descargar la última versión del IDE de Arduino.org de http://www.arduino.org/software disponemos de una version con instalador y otra con instalación manual desde un zip.

IMPORTANTE: la versión del IDE de arduino.org es la 1.7.10, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.9, 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

Como ya tenemos 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.

Para proceder a la instalación manual, descargar la el fichero zip (for non-administrator install) y descomprimir el contenido por ejemplo en la ruta C:\Program Files (x86)\Arduino.org

Ejecutar arduino.exe y tenemos el IDE de arduino.org que su funcionamiento es similar al de arduino.cc pero carece los gestores de librerías y de tarjetas, también vemos que la tarjetas soportadas son algo difrentes al de arduino.cc.

La imagen al ejecutar el IDE es algo diferente pareciendose a la versión anterior del IDE de arduino.cc

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

La pantalla de preferencias es diferente:

Desde esta pantalla configuramos donde se guardan las preferencias, sketches y librerías.

  • Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.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:\Users\nombre_usuario\Documentos\Arduino, 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.

Una consecuencia de esta división de los IDEs es que las placas de arduino.org pueden no funcionar en el IDE original de arduino.cc ni al reves. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas configuraciones 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
 

Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo, pero los arduinos antiguos tendrán soporte en ambos IDEs.

Es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en el otro IDE.

También es posible 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. Esto 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 Dog Hunter AG.