Archivo del Autor: jecrespom

Acerca de jecrespom

Twitter: @jecrespom

Video. Preparación IDE Arduino para ESP8266

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

Estas son las dos placas que vamos a usar.

Instalación Drivers uso NodeMCU y Wemos D1 Mini

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

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

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

Preparación IDE Arduino para usar con ESP8266

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

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

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

Reference de Arduino core para el ESP8266:

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

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

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

Blink con ESP8266

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

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

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

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

Paso 2: seleccionar la tarjeta que vamos a programar

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

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

Ejercicio Propuesto

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

Anuncios

Video. Iniciación a ESP8266. Hardware

Qué es ESP8266

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

ESP8266 vs Arduino

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

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

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

Wikipedia:

Características ESP8266

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

Características:

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

Pinout ESP8266:

Módulos ESP8266

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

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

Características de los módulos:

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

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

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

Placas de Prototipado con ESP8266

Wemos D1 Mini

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

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

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

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

Dentro de la Wemos D1 mini tenemos 3 modelos:

WeMos D1 Mini Pinout:

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

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

Shields Wemos D1 mini

Listado de shields oficiales Wemos: https://wiki.wemos.cc/products:d1_mini_shields

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

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

NodeMCU

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

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

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

Pinout:

Github: https://github.com/nodemcu

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

Versiones HW de la NodeMCU:

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

Ejercicio Propuesto

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

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

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

Video 2. Instalación IDE Arduino

Que es el IDE de Arduino

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

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

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

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

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

Instalar el IDE de Arduino

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

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

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

Actualizar el IDE de Arduino

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

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

Presentación Curso Arduino para Empresas

Curso Arduino Empresas de 20 horas de duración.

Este es un curso de iniciación pensado para empresas que quieren usar Arduino como una herramienta más en sus sistemas de monitorización, automatización de procesos o para realizar I+D+i.

Objetivos

El objetivo de este curso es introducir en la empresa Arduino y por extensión el hardware libre, como una herramienta de trabajo para mejorar los procesos y para implantar de una forma sencilla y barata el I+D+i en cualquier empresa. Con este curso los alumnos adquirirán unos conocimientos que podrán aplicar en el trabajo diario, posibilitando mejoras en los procesos y supervisión de las operaciones.

Otro objetivo es introducir la filosofía maker dentro de la empresas con el beneficio que ello puede traer a la propia empresa, como el trabajo colaborativo, la propuesta de mejoras, proactividad, nuevas ideas, automatización de tareas repetitivas, etc…

El alumno obtendrá los conocimientos necesarios para ser capaz de realizar proyectos de nivel medio con cualquiera de las diferentes placas Arduino o compatibles.

Al finalizar el curso el alumno será capaz de:

  • Manejar la plataforma Arduino
  • Conocer el lenguaje de programación
  • Programar y ejecutar programas en la plataforma Arduino y compatibles
  • Usar eficazmente el entorno de programación
  • Conocer el potencial de Arduino para usar en casi cualquier tipo de aplicación
  • Aprender a manejar componentes de hardware para recibir señales externas mediante sensores
  • Controlar elementos que nos rodean para interactuar con el mundo físico mediante los actuadores
  • Conectar a Internet Arduino
  • Y mucho más…

Uso de Arduino en Empresas

Las empresas donde poder usar Arduino como una herramienta adicional de trabajo son casi cualquiera, pero dentro del sector industrial cabe destacar empresas en los sectores:

  • Mantenimiento de edificios públicos y privados
  • Mantenimiento industrial
  • Manufactura de cualquier tipo
  • Logística
  • Procesos Industriales
  • Desarrollo de nuevos productos
  • Generación de energía
  • Seguridad
  • etc…

Y algunas de las aplicaciones puede ser:

  • Monitorización en Tiempo real de cualquier parámetro
  • Monitorización de servicios
  • Mejora de monitorización sobre autómatas/sacada
  • Control de producción
  • Alertas precoces
  • Control remoto de instalaciones
  • Eficiencia energética
  • Automatización de procesos
  • Automatización de informes/Cuadros de mando
  • Mantenimientos predictivos
  • PRL
  • Análisis de histórico de datos
  • Machine Learning/Aprendizaje automático
  • Análisis de variables importantes es procesos
  • Seguridad
  • etc…

Requisitos

Este curso parte desde cero, por lo que no son necesarios unos conocimientos previos, pero sí son recomendables conocimientos básicos de programación (especialmente C++), electricidad y electrónica.

Es recomendable un conocimiento medio de Inglés puesto que gran parte de la documentación está en Inglés.

Metodología

El curso se compone de una combinación de teoría y práctica que establecen las bases necesarias para entender la plataforma Hardware y Software de Arduino, con una duración de 20 horas. Este curso está estructurado en 8 jornadas de 2,5 horas.

Los recursos utilizados para la realización de este curso son:

Además están disponibles otros recursos para ampliar información:

Para realizar las prácticas de este curso es necesario al menos un Arduino de cualquier tipo y un shield de acceso a internet de cualquier tipo o una placa basada en ESP8266 o de otro tipo compatible con Arduino.

La documentación está disponible on line con el objetivo de mantenerla actualizada y no como un documento físico que se queda obsoleto al día siguiente. Además la documentación irá creciendo durante el curso y después de finalizar el curso seguirá estando disponible para todos. La documentación principal se encuentra en http://www.aprendiendoarduino.com/.

El repositorio de código del curso y mucho más código está disponible en github en http://github.com/jecrespo y está aumentando continuamente con nuevos ejemplos y prácticas.

Toda la documentación y código es liberado con licencia Creative Commons.

Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Aprendiendo Arduino by Enrique Crespo is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

Como Empezar con Arduino

Para empezar con Arduino debes preguntarte qué sabes de electrónica y qué sabes de programación. Si no sabes de electrónica, es difícil entender cómo funcionan los elementos con los que va a interactuar la placa Arduino y si no sabes de programación no va a ser posible traducir las órdenes que deseas hacer a la electrónica para que las ejecute Arduino.

La gran ventaja de Arduino es que no es necesario ser un experto en cada una de esas áreas, nos ofrece una capa de programación muy sencilla y el HW es muy sencillo de manejar sin saber mucho de electrónica.

Para empezar con Arduino hay que aprender electrónica y a programar y eso es lo que vamos a aprender en este curso entre otras cosas.

Artículos de como empezar con Arduino:

Un buen tutorial para los que están empezando lo puedes ver en https://openwebinars.net/tutorial-de-arduino/

Aclaraciones sobre el curso

Arduino es una plataforma ampliamente usada por aficionados (makers) y para prototipado y puede verse como un “juguete”, pero en este curso vamos a aprender a programarlo y usarlo para implantarlo en cualquier aplicación que necesitemos tanto para un uso profesional como personal/aficionado. La principal ventaja de usar una plataforma de este tipo es el rápido despliegue de una nueva aplicación y la facilidad de programación.

Arduino se trata principalmente como una herramienta para prototipado y usada en el mundo del hobby, pero aquí vamos a ir más allá y lo trataremos como una herramienta profesional que puede abarcar multitud de sectores.

A lo largo del curso se van a ver muchos conceptos de diferentes tecnologías que a priori no tienen nada que ver entre ellos: electronica digital y analogica, electricidad, programación, microcontroladores, tratamiento de señales, bases de datos, protocolos de comunicación, arquitectura de procesadores, mecánica, motores, diseño de placas electrónicas etc…

Este curso es totalmente dinámico y cualquier inquietud o necesidad que se tenga de un aspecto en concreto de Arduino se puede incluir en el curso.

Existe mucha documentación sobre Arduino en Internet, pero eso es un problema y a veces está desordenado o es demasiado básico, así que una parte de mi trabajo es recopilar la información más interesante, ordenarla y estructurarla.

Acerca de Enrique Crespo

El autor del curso es Enrique Crespo. Llevo trabajando con Arduino desde el año 2011 y en el año 2014 empecé mi andadura como profesor de Arduino y otros temas relacionados. Desde entonces he impartido muchos cursos presenciales de Arduino, talleres y conferencias en diversos lugares. También colaboro en el makerspace de la Universidad de la Rioja UR-maker.

Todos los cursos, talleres y conferencias que he impartido puedes verlos en https://www.aprendiendoarduino.com/, donde publico toda la documentación y código.

Twitter @jecrespo: https://twitter.com/jecrespom

Linkedin: https://www.linkedin.com/in/enriquecrespo/

Contacto

Para cualquier consulta durante el curso y en cualquier otro momento mediante email: aprendiendoarduino@gmail.com

Twitter @jecrespo: https://twitter.com/jecrespom

Y más información sobre el curso y el autor: http://www.aprendiendoarduino.com/acerca-de/

Saber Más Arduino Empresas

Día 1: “Presentación del curso”

Capítulos Vistos:

Día 2: “Hardware Arduino”

USB System Architecture

Capítulos Vistos:

Día 3: “Librerías Arduino”

Capítulos Vistos:

Día 4: “Programación Arduino I”

Capítulos Vistos:

Día 5: “Programación Arduino II”

Cadena de valor de IoT:

recoger datos — conectar — almacenar — analizar — mostrar — actuar — predecir

Capítulos Vistos:

Día 6: “Manejo Arduino”

Capítulos Vistos:

Día 7: “Comunicaciones Arduino”

Capítulos Vistos:

Día 8: “Comunicaciones Arduino IP”

Capítulos Vistos