Archivo de la etiqueta: Saber más

Saber más de IoT…

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

Qué es IoT y Taller impartido en el Arduino Day 2017

¡¡IMPORTANTE!! – Traer lector de tarjetas microSC

Capítulos vistos día 1:

Día 2: “Arduino en IoT”

Capítulos vistos día 2:

Día 3: “Raspberry Pi en IoT”

IoT y prevención de riesgos laborales: http://www.cepymearagon.es/?p=9743

Capítulos vistos día 3:

Día 4: “Instalación SW en Raspberry Pi”

ESTADO DEL MATERIAL KIT RASPBERRY PI

Tecnologías Maduras: Hardware y Software

Gateway de http a https para Arduino con una Raspberry Pi. Miguel.

Gateway LoRa de Arduino: https://blog.arduino.cc/2018/11/14/arduino-pro-gateway-for-lora-now-available-for-pre-order/. Producto: https://store.arduino.cc/arduino-pro-gateway

Actualización firmware bluetooth para Arduino MKR WiFi 1010: http://forum.arduino.cc/index.php?topic=579306.0

Unipi: https://www.unipi.technology/

Conectapro:

ESP32 LoRa OLED Display Bluetooth WIFI: https://es.aliexpress.com/item/868-MHz-915-MHz-SX1276-ESP32-LoRa-0-96-pulgadas-pantalla-OLED-azul-Bluetooth-WIFI-Lora/32836591865.html

  • Transceiver: SX1276
  • Pantalla OLED

Wemos® TTGO T-Beam ESP32: https://www.banggood.com/es/Wemos-TTGO-T-Beam-ESP32-433868915Mhz-WiFi-Wireless-Bluetooth-Module-p-1320390.html

Capítulos vistos día 4:

Día 5: “Protocolo HTTP”

Resumen primera semana y la próxima semana nos centraremos en MQTT y plataformas IoT.

  • MySQL manejar privilegios de usuarios:
    • GRANT ALL PRIVILEGES ON *.* TO ‘pi’@’%’;  (Para acceso remoto)
    • GRANT GRANT OPTION ON *.* TO ‘pi’@’localhost’; (Privilegios para dar permisos a otros usuarios)
    • Para conectarnos desde otro servidor: mysql -h ip_raspberry -u root -p

Capítulos vistos día 5:

Día 6: “Mosquitto”

Esta semana: MQTT + ESP8266 + Plataformas IoT púbicas

¿Otros temas de interés?

Todo lo instalado en Raspberry Pi se puede instalar en un servidor en la propia empresa o en la nube.

Inventario de material Raspberry Pi

Algunos transcievers LoRa:

Librería LMIC solo para módulos SX1272, SX1276 y módulos compatible como RFM9x:

Capítulos vistos día 6:

Día 7: “Protocolo MQTT y Sensores”

Capítulos vistos día 7:

Día 8: “Node-RED”

Resultado de imagen de mqtt frame format

Capítulos vistos día 8:

Día 9: “LoRa y Moteino”

Capítulos vistos día 9:

Día 10: “Plataformas IoT”

  • Arduino Day 2019: 16 de marzo de 2019

Capítulos vistos día 10:

Capítulos no vistos:

Anuncios

Saber más Arduino Avanzado 2018

Día 1: “Repaso Conceptos Arduino”

Programación Arduino:

Concursos Arduino:

Capítulos Vistos Día 1:

Día 2: “Programación Avanzada Arduino”

Medir valor de un condesador: Prácticas Repaso Arduino

Capítulos Vistos Día 2:

Día 3: “Comunicaciones Arduino I”

Tratamiento Avanzado de Strings: https://aprendiendoarduino.wordpress.com/2018/07/09/tratamiento-avanzado-de-strings-2/

Debug con Arduino: https://aprendiendoarduino.wordpress.com/2017/07/13/debug-con-arduino/

Capítulos Vistos Día 3:

Día 4: “Comunicaciones Arduino II”

Finalizar clases y objetos: https://aprendiendoarduino.wordpress.com/2017/07/08/clases-y-objetos/

Capítulos Vistos Día 4:

Día 5: “Hardware Avanzado Arduino”

Bluetooth en Arduino: https://aprendiendoarduino.wordpress.com/2016/11/13/bluetooth-en-arduino/

Solución a los problemas encontrados con los módulos bluetooth HC-05:

  • Con algunos módulos toca hacer investigación de como usarlos si no hay documentación adecuada.
  • En otros módulos, cambiar de modo configuración (AT command) a modo transmisión, es más sencillo, simplemente poniendo un pin a HIGH.
  • En Bluetooth, el dispositivo que inicia la conexión es siempre el master, solo es necesario saber cual es el master y el esclavo en el momento de la conexión, después es posible cambiar el rol.
  • Una vez realizada la conexión, puede tener lugar un cambio de rol. Un buen ejemplo de por qué ocurre esto sería cuando un ratón se conecta al PC. El ratón inicia la conexión, por lo que es el maestro. Una vez establecida la conexión, se produce un cambio de función para que el PC se convierta en el maestro y el ratón en un esclavo. El cambio de rol tiene lugar porque el PC puede estar trabajando con múltiples dispositivos al mismo tiempo, y como tal, el PC no sería esclavo de más de un dispositivo.
  • Bluetooth profiles: https://learn.sparkfun.com/tutorials/bluetooth-basics/bluetooth-profiles
  • Los módulos sin led azul dan problemas al emparejar ¿porqué?

HC-05 module:

  • No es necesario usar el pin de EN para poner en modo de configuración.
  • Command set: http://rhydolabz.com/documents/HC-05%20AT%20Commamd.pdf
  • Review del módulo: http://rhydolabz.com/documents/HC-05_datasheet.pdf
  • Datasheet del módulo: http://cesaretopia.com/wp-content/uploads/2017/03/Modulo-Bt.pdf
  • Por defecto al iniciar parpadea rápido y no esta en modo programación. Podemos conectarnos.
  • Si pulso el botón entro en modo programación y puedo pasar comandos AT durante un tiempo (aprox 1 minuto). Sigue parpadeando rápido y me podría conectar
  • Si inicio el modulo con el botón pulsado entro en modo permanente y parpadea lento. En este modo no puedo conectarme
  • Para salir del módulo de programación pulsar AT+RESET y ya puedo conectarme y parpadea rápido
  • Una vez conectado un dispositivo si pulso en botón no entro en modo programación salvo que desconecte el dispositivo. O si mantengo pulsado el botón puedo mandar comando para programar y al soltar sigo conectado.

Como emparejar:

  • To initialize the SPP profile, use AT+INIT. Getting error message as response indicates that the command was already given.
  • AT+INQ sends inquiry request to the slaves. You will get the address, Device class and signal strength. e.g, +INQ:1014:7:103115,0,7FFF.  The LED D1(blue) blinks fastly in inquiry stage
  • Optionally you can send command to get name by using AT+RNAME?<address>. The full colon in the address must be  replace with commas. eg; AT+RNAME?1014,7,103115.
  • Send AT+LINK to pair with slave. If slave response OK, the connection is established.Led D2(yellow) become on.

Comandos interesantes

  • AT+ORGL: Restore default
  • AT+ADDR: get module address
  • AT+RMAAD: Delete all authenticated previous paired devices
  • AT+CMOD: Set/Check connect mode
  • AT+UART: Set communication baudrate
  • AT+BAUD: ¿?
  • AT+LINK: Connect Device
  • AT+CMODE=1 helps to connect any address

Default settings (ojo que van diferentes los baud rate en modo configuración y modo comunicación):

  • Baud rate in communication mode = 9600 (se cambia con AT+UART:38400,0,0)
  • Baud rate in AT/Command mode = 38400 (AT+BAUD¿?)

Aplicaciones:

Capítulos Vistos Día 5:

Día 6: “Manejo Avanzado Arduino”

Capítulos Vistos Día 6:

Saber Más Iniciación Arduino 2018

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

Una vez visto “Qué es Arduino”, hagamos las presentaciones:

Arduino tiene muchos ámbitos de aplicación, desde el sector agrícola, fabricación, eficiencia energética, robótica, monitorización, automatización, educación, etc… Para que entorno tienes pensado usar Arduino?

  • Como conoces Arduino?
  • Qué sabes de electrónica/electricidad?
  • Qué sabes de programación?
  • Qué te gustaría aprender sobre Arduino en este curso?
  • Qué quieres hacer con Arduino? Proyectos?

Capítulos Vistos Día 1:

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

Capítulos Vistos Día 2:

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

Capítulos Vistos Día 3:

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

Práctica Led RGB:

Resultado de imagen de led rgb arduino

Capítulos Vistos Día 4:

Día 5: “Arrays y Strings”

Uso en parking:

Capítulos Vistos Día 5:

Día 6: “Librerías Arduino”

Otro simulador: https://www.sites.google.com/site/unoardusim/home

Mejora ejercicio coche fantástico usando el puerto serie: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio17-CocheFantastico_4/Ejercicio17-CocheFantastico_4.ino

Puerto Serie Arduino pines 0 y 1, van conectados al USB mediante el conversor de USB a Serial (Atmega16u2)

USB:

En el caso del USB el 0 y 1 se distingue por la diferencia de voltaje entre D+ y D-:

Esquemático USB y Atmega16U2:

Comunicación entre microcontroladores:

Resultado de imagen de arduino uno serial schematic

Alimentación por USB:

Alimentación por jack:

Monitorización de Energía:

Capítulos Vistos Día 6:

Día 7: “Hardware Arduino”

Capítulos Vistos Día 7:

Día 8: “Entradas y Salidas Digitales y Analógicas Arduino”

Capítulos Vistos Día 8:

Día 9: “Sensores y Motores”

 
int freeRam () {
  extern int __heap_start, *__brkval; 
  int v; 
  return (int) &amp;v - (__brkval == 0 ? (int) &amp;__heap_start : (int) __brkval); 
}

Capítulos Vistos Día 9:

Día 10: “Comunicaciones Arduino”

Grabar Datos en Tarjeta SD

El Ethernet shield tiene disponible una ranura para tarjetas microSD. Arduino es capaz de leer y escribir en la tarjeta microSD mediante la librería SD: https://www.arduino.cc/en/Reference/SD

Leer la documentación de la librería SD y entender qué hace cada una de las clases y sus métodos.

Insertar una tarjeta microSD y hacer un programa que grabe los datos de temperatura en un archivo llamado temp_log.csv cada 5 segundos. Los datos a guardar son: segundos desde inicio con la función millis() y la temperatura del sensor TMP36.

Opcionalmente crear un menú con 3 opciones:

  • 1 – Muestra el último dato guardado en la SD
  • 2 – Vuelca el contenido del fichero temp_log.csv por consola
  • 3 – Borra el contenido del fichero

Esquema de conexión:

Soluciónhttps://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio34-SD_Datalogger

Capítulos Vistos Día 10:

Otros no vistos

Saber Más Avanzado 2017

 

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

Programación Arduino:

Arduino y la Industria 4.0:

Opinión en Diario La Rioja 03/09/207:

Capítulos Vistos:

Día 2: “Arduino en la Industria”

Resultados del Test:

Capítulos Vistos:

Día 3: “Arduino en la Educación”

Medir capacidad de un condensador:

  • TC = R * C
  • TC = time constant in seconds
  • R = resistance in ohms
  • C = capacitance in farads (1 microfarad [ufd] = .0000001 farad = 10^-6 farads )
  • The voltage at 1 Time Constant equals 63.2% of the charging voltage.

Capítulos Vistos:

Día 4: “IoT y Eficiencia Energética”

IoT Fridge Saver:

Sonda temperatura DS18B20

OpenCV

Manejo Librerías

  • Ejemplo con simpleNTP: https://github.com/jecrespo/simpleNTP
  • Probar a poner #include “simpleNTP.h” y #include <simpleNTP.h> poniendo la librería en el directorio local del ejemplo o en el directorio de librerías.

Capítulos vistos:

Día 5: “Concursos e IMUs”

Concursos:

Arduino MKR FOX 1200 Contest:

Bus SPI: https://aprendiendoarduino.wordpress.com/2016/11/13/bus-spi/

Problemas con el compilador en simpleNTP/simpleNTP.h: Pasa con todas las librerías es un problema de las opciones del compilador. Para que funcione se deben cambiar las opciones del compilador. SOLUCIÓN: Poner la librería dentro del fichero no dentro de la carpeta.

Vídeo conexión dos Arduinos darse de alta en https://www.scolartic.com/inicio

Actualizado programa para mover servo con IMU

Datos en Bruto y datos reales IMU 6050

Librerías para MPU-6050

Capítulos Vistos:

Día 6: “Manejar LEDs con Arduino”

Librerías FastLED y Neopixel

Novedades Arduino en su twitter: https://twitter.com/arduino

Placa para módulo ESP8266 ESP-12-E http://www.electrodragon.com/product/esp8266-smd-adapter-board-wi07-12/

MiFare Hacked (a partir del minuto 33): https://www.youtube.com/watch?v=K3QnsDWVbag

Artículo en Diario La Rioja 10/09/207:

Riohub:

I4MS: I4MS es una iniciativa de la Comunidad Europea para el sector de la fabricación y, en concreto, para las PyMEs de alta tecnología, para disfrutar de los más novedosos avances en TIC. La competitividad de Europa en este sector depende de su capacidad para entregar productos altamente innovadores que a menudo integran TIC avanzadas en sus productos.

Capítulos Vistos:

Día 7: “Arduino en los Hobbies”

Red para control de trenes de modelismo

Arduino y Slot

Uso sensor temperatura DS18B20: https://programarfacil.com/blog/arduino-blog/ds18b20-sensor-temperatura-arduino/

Open Data

JSON: formato de intercambio de datos

Comunicación

Capítulos Vistos:

Día 8: “Domótica con Arduino”

Proyectos de domótica

Puntos interesante de domoticz:

Puntos interesantes de EXcontrol:

  • Las funciones setup() y loop() están en Common_functions.h
  • La función setDateDs1307() guarda la hora en un RTC DS1307 vía I2C
  • En setup() llama a las funciones para inicializar los periféricos. Ver directivas de preprocesamiento. Y también define un userSetup()
  • En Loop() ejecuta cada segundo una función llamada LoopNewSecond() que es una temporización y luego un SystemLoop() que son funciones más críticas y este llama a UserLoop()
  • Función RecepcionPaqueteUDP(), tiene muchos if encadenados para comprobar el paquete recibido con la función strncmp. Usan la variable packetBuffer para almacenar lo recibido por red.
  • Función ComproRespuestaHTTP(), funciona igual que el serie
  • Los ficheros .ino solo hacen los include de las librerías, declaraciones de variables y algunas funciones generales y definiciones de constantes
  • En Excontrol_def.h define las constantes principales

Firmware de Makey Makey: https://github.com/sparkfun/MaKeyMaKey/tree/master/firmware/Arduino/makey_makey

Hay una versión de avrdude con GUI que se llama avrdudess:

Otro GUI para avrdude es avr8-burn-o-mat: http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_ui_en.php

Leer el contenido de la flash de Arduino: http://www.evilmadscientist.com/2011/avr-basics-reading-and-writing-flash-contents/

Ver hilo: https://forum.arduino.cc/index.php?topic=403201.0

Ruta de avrdude: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin

Manual avrdude http://www.ladyada.net/learn/avr/avrdude.html

Máximo número de leds que soporta: https://github.com/FastLED/FastLED/issues/288

Capítulos Vistos:

Día 9: “Sensores para Medir Problemas Estructurales”

Sensores para medir problemas estructurales en edificios y recogerlos con un Arduino. Luego guardarlos en un repositorio.

Celda de carga: http://circuits4you.com/2016/11/25/hx711-arduino-load-cell/

Proyecto interesante:

IMU para medir ángulos:

Bend sensor:

Sensores capacitivos hecho de forma manual: https://hackaday.io/project/9636-ddr-pad-using-arduino-capacitive-sensors

Sensor de nivel de Agua para Arduino: https://www.alibaba.com/product-detail/Hydrostatic-4-20mA-0-5V-RS485_60664314465.html

Sistema de Medición de Termopares Arduino de Precisión: http://www.iaasr.com/arduino-thermocouple-measuring-system/

Otros módulos ESP8266:

Dispositivo basado en ESP8266: http://blog.tindie.com/2017/09/cactus-whid-keyboard-injector/

Capítulos Vistos:

Día 10: “Seguridad”

Arduino en Shodan.io: https://www.shodan.io/search?query=arduino

Robot educativo en Kickstarter: https://www.kickstarter.com/projects/slantrobotics/critter-a-3d-printed-arduino-biped-kit-unlike-any

Leds y Raspberry Pi:

Proyecto con Bluetooth: https://www.instructables.com/id/Arduino-Android-Based-Bluetooth-Control-Password-P/

Usando avr-libc podemos hacer nuestro código más eficiente:

Saber más electrónica:

Microprocesadores:

Al final de la clase recoger todos los elementos en sus cajas.

Capítulos Vistos:


Puntos no vistos:

Saber Más…

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

Día 2: “Qué es Arduino y Primer Proyecto”

Día 3: “Sketch Arduino y Placas Arduino”

Día 4: “Librerías Arduino”

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

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

Día 7: “Electrónica Arduino”

Día 8: “Motores y Sensores”

Día 9: “Conexión a Internet”

Día 10: “Proyecto Final”