Archivo de la etiqueta: Formación IoT

Práctica 1: Instalación y configuración Raspberry Pi OS

Instalar y configurar una Raspberry Pi para dejar lista como un nodo edge o gateway IoT.

En caso de no disponer de Raspberry Pi:

  • Instalar y configurar Raspberry Pi OS y software, virtualizado en VirtualBox
  • Instalar y configurar una máquina física o virtual Linux.

Instalar:

  • Raspberry Pi OS
  • Base de Datos local: MariaDB
  • Visualización base de datos: PHPMyAdmin (Requisitos: Apache + PHP)
  • Herramienta de programación IoT que se utiliza para conectar dispositivos de hardware, APIs y servicios de internet: Node-RED

Solución

1 – Instalar Imagen Raspberry Pi OS (Antiguo Raspbian)

Instalación recomendada usando Raspberry Pi Imager: https://www.raspberrypi.org/software/

Raspberry Pi Imager es la forma rápida y fácil de instalar Raspberry Pi OS y otros sistemas operativos en una tarjeta microSD, lista para usar con su Raspberry Pi. Vídeo de 40 segundos de como usar Raspberry Pi Imager: https://www.youtube.com/watch?v=J024soVgEeM 

Descargue e instale Raspberry Pi Imager con un lector de tarjetas SD. Coloque la tarjeta SD que usará con su Raspberry Pi en el lector y ejecute Raspberry Pi Imager.

2 – Configuración Raspberry Pi OS

Pasos para la instalación con monitor, ratón y teclado:

  • Seguir con el asistente de instalación que aparece al iniciar: cambiar contraseña, cambiar el nombre (hostname), configurar y actualizar Raspberry Pi.
  • Conectar a Internet. Wifi o Ethernet
  • Activar VNC y SSH para acceso remoto

Pasos para instalación headless:

Vídeos:

Una vez entramos en Raspberry Pi, seguimos los pasos del asistente que nos indica para cambiar contraseña, cambiar el nombre (hostname), configurar y actualizar Raspberry Pi.

2b – Virtualizar Raspberry Pi Desktop en Virtualbox

En caso de no tener una Raspberry Pi, se puede virtualizar Raspberry Pi Desktop en Virtualbox.

Tutorial para virtualizar cualquier sistema operativo con Virtualbox: https://www.softzone.es/manuales-software-2/tutorial-de-virtualbox/

Pasos:

3 – Instalar Apache + PHP (requisitos para phpMyAdmin)

Update system:

  • sudo apt-get update
  • sudo apt-get upgrade

Instalar Apache2:

  • sudo apt-get install apache2

Comprobar que accedemos entrando a la IP de la Raspberry Pi desde un navegador:

Instalar PHP

  • sudo apt-get install php libapache2-mod-php

Para comprobar el funcionamiento crear un fichero llamado info.php y en su interior el código: <?php phpinfo(); ?> y guardado en la ruta /var/www/html

Luego en un navegador ir a http://IP-raspberry/info.php

4 – Instalar MariaDB

Pasos:

  • sudo apt-get install mariadb-server mariadb-client php-mysql
  • sudo mysql_secure_installation
  • sudo service apache2 restart

Durante el proceso de instalación se pedirá el password de root de MySQL, poner el que quieras, pero para no olvidarlo, recomiendo para el curso poner el mismo que tiene el usuario pi de la Raspberry Pi y poner a Yes todas las opciones de mysql_secure_installation 

Para comprobar que todo funciona ejecutar sudo mysql -u root -p y poner la contraseña de root, saldrá:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 61
Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

5 – Instalar phpMyAdmin

Comando: sudo apt-get install phpmyadmin

Durante el proceso pide la contraseña del usuario phpmyadmin de MySQL y el servidor a instalar el apache y poner yes en dbconfig-common

En caso que no funcione o queramos hacer una configuración de phpmyadmin después de la instalación, usar el comando: sudo dpkg-reconfigure -plow phpmyadmin

Para probar que funciona ver en un navegador: http://IP-raspberry/phpmyadmin con el usuario phpmyadmin y la contraseña usada.

El usuario phpmyadmin no tiene privilegios y el usuario root por seguridad no puede usarse desde phpMyAdmin. 

Crear un usuario “pi” con privilegios. Ejecutar en la consola:

sudo mysql -u root -p
CREATE USER 'pi'@'localhost' IDENTIFIED BY 'tu_contrasena';
CREATE USER 'pi'@'%' IDENTIFIED BY 'tu_contrasena';
GRANT ALL PRIVILEGES ON * . * TO 'pi'@'localhost'; 
GRANT ALL PRIVILEGES ON *.* TO 'pi'@'%'; 
GRANT GRANT OPTION ON *.* TO 'pi'@'localhost';
FLUSH PRIVILEGES;

6 – Instalar Node-RED

No instalar la versión que aparece en software recomendado de Raspberry Pi OS.

Seguir esta instalacióm: https://nodered.org/docs/getting-started/raspberrypi, para ello ejecutar el comando para instalar y actualizar:

Para ejecutar Node-RED en el arranque: sudo systemctl enable nodered.service

En caso de problemas ver el log con: node-red-log

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

Talleres y Charlas

Además del catálogo de cursos también es posible impartir talleres prácticos de entre 3 y 6 horas relacionados con las tecnologías impartidas en los cursos, así como charlas divulgativas en todo tipos de eventos tecnológicos y maker. Para proponer un taller o charla ponerse en contacto a través de aprendiendoarduino@gmail.com 

Si quieres que imparta una charla, ponencia o taller,  si quieres plantearme una colaboración o si tienes cualquier otra idea. No dudes en contactar conmigo en aprendiendoarduino@gmail.com 

Talleres Impartidos y contenido:

Otros posibles talleres o charlas a impartir:

  • Primeros pasos ESP8266
  • Primeros pasos ESP32
  • Introducción a M5stack y M5stick
  • Primeros pasos Raspberry Pi
  • Robótica Educativa
  • Robots Open Source 
  • Domótica en un tarde
  • PLCs basados en Arduino para entorno industrial
  • PLCs basados en Raspberry Pi para entorno industrial
  • Monta tu Scada basado en Arduino (HMI Nextion e Industrial Shields)
  • Qué es The Things Network (TTN)
  • Montaje de un gateway TTN
  • Arduino en la Educación
  • Arduino en la Industria
  • Comunicaciones inalámbricas IoT
  • Iniciación a IoT con Herramientas IoT
  • Node-Red en IoT
  • Monitorización de Energía con Herramientas Libres
  • Digitaliza tu negocio con herramientas libres
  • Y más.. (consulta en aprendiendoarduino@gmail.com)

Si deseas algún otro taller o charla relacionada con el mundo Open Source aplicado al entorno Industrial o cualquier tema maker mándame tu propuesta a aprendiendoarduino@gmail.com.

Otros Cursos

Además de los itinerarios se ofrecen otros cursos relacionados con el HW libre y la digitalización por separado, que pueden ser un complemento a los cursos de los itinerarios o cursos separados.

PLCs Basados en Arduino (Nivel 1)20 h
Node Red Iniciacion (Nivel 1)20 h
Node Red Avanzado (Nivel 2) – EN DESARROLLO20 h
Domótica Open Source (Nivel 1) – EN DESARROLLO20 h
Robótica Open Source (Nivel 1) – EN DESARROLLO20 h
Certificación Oficial Arduino (Nivel 1) – EN DESARROLLO20 h

Ver Anexo I con el material necesario para impartir los cursos de este itinerario.

PLCs Basados en Arduino (Nivel 1)

Objetivo

El objetivo de este curso es que el alumno obtenga un conocimiento de los PLCs basados en Arduino y de su potencia en los entornos industriales y el IoT. Nos centraremos en un modelo para las prácticas pero se verán varios tipos.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Conocer diversas opciones de PLCs basados en Arduino
  • Manejar y configurar el IDE Arduino
  • Conocer el lenguaje de programación
  • Conocer otros lenguajes de programación para los PLCs
  • Aprender a usar las entradas analógicas y digitales
  • Aprender a usar las salidas analógicas y digitales
  • Manejar sensores y periféricos
  • Usar comunicaciones disponibles en los PLCs

Requisitos Alumnos

Para realizar este curso, es necesario tener unos conocimientos básicos de Arduino.

Contenido del Curso

  • PLCs basados en Arduino
  • IDE Arduino
  • Simuladores Arduino
  • Programación Arduino
  • Otros Métodos de Programación
  • Entradas y Salidas Digitales
  • Entradas Analógicas
  • PWM
  • Manejo de Sensores
  • Comunicaciones
  • PLCs basados en Raspberry Pi
  • Proyectos Industriales

Node Red Iniciacion (Nivel 1)

Objetivo

El objetivo de este curso es que el alumno aprenda el uso de Node-RED y la programación visual mediante flujos para su uso en entornos de domótica e IoT

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Instalar Node-RED en diversas plataformas
  • Conocer el protocolo MQTT e instalar un broker
  • Configurar y usar de forma segura Node-RED
  • Usar la programación de flujos de forma eficiente
  • Hacer debug de los programas Node-RED
  • Instalar y utilizar nodos
  • Configurar un dashboard
  • Integrar Node-RED con servicios de terceros

Requisitos Alumnos

No son necesarios requisitos previos de los alumnos para asistir a este curso

Contenido del Curso

  • Instalación de Node-RED
  • Instalación de Mosquitto
  • Protocolo MQTT
  • Configurar y securizar Node-RED
  • Configurar y securizar Mosquitto
  • Node-Red en la Nube
  • Programación Node-RED
  • Debug Node-RED
  • Nodos Node-RED
  • Dashboard Node-Red
  • Integración con Servicios de Terceros

Catálogo de Formación

Este catálogo contiene los itinerarios formativos para Arduino, Raspberry Pi, IoT/Industria Conectada, ESP8266/ESP32 y Digitalización profesorado, así como otros cursos y talleres para impartir de forma presencial.  Los itinerarios formativos están compuestos de varios cursos de 20 horas cada uno, empezando por un nivel sencillo sin necesidad de conocimientos previos hasta un nivel avanzado o especializado en un aspecto de la tecnología del itinerario.

También es posible realizar charlas o talleres prácticos personalizados relacionados con las áreas de este catálogo. Para ello basta con ponerse en contacto y realizar la propuesta formativa.

Dada la experiencia de AprendiendoArduino, los cursos son inicialmente de duración de 20 horas a impartir en 5 días de 4 horas cada uno, con el objetivo de no hacerlos muy largos y poder compatibilizar con la actividad laboral. Por supuesto, tanto la duración de los cursos como el reparto de horas por días se puede modificar a las necesidades del cliente.

Catálogo de formación en pdf: https://aprendiendoarduino.files.wordpress.com/2020/01/catalogo-formacion-aprendiendoarduino.pdf

Toda la documentación de los cursos, talleres y charlas se publicará de forma libre en https://www.aprendiendoarduino.com/

Formación, Charlas y Talleres

Itinerario de Arduino

Itinerario de Raspberry Pi

Itinerario ESP8266 y ESP32

Itinerario IoT/Industria Conectada con Tecnologías Libres

Itinerario Digitalización Profesorado

Otros Cursos

Talleres y Charlas

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

Anexo II – Curriculum Enrique Crespo

Material Formativo para los Cursos

Son posibles varias opciones:

  • Comprado por el centro/cliente
  • Comprado por AprendiendoArduino (solicitar presupuesto en aprendiendoarduino@gmail.com)
  • El material comprado también se podría dar a los alumnos como parte del curso.

Descripción de material necesario para cada curso, ver Anexo I.

Contacto

Para cualquier propuesta formativa, duda, presupuesto o más información, mandar un correo a aprendiendoarduino@gmail.com

Otras formas de contacto:

Más información, ver curriculum en Anexo II.