Slack: https://aprendiendoarduino.slack.com, enlace de invitación: link invitación
Día 1: «Presentación del Curso»
Sistema inteligente para ahorrar energía en edificios: https://www.eldia.com/nota/2019-10-10-3-24-26-crean-un-sistema-inteligente-para-ahorrar-energia-electrica-en-edificios-informacion-general
Slack: https://aprendiendoarduino.slack.com, enlace de invitación: link invitación
Saber más…: https://aprendiendoarduino.wordpress.com/2019/10/03/saber-mas-de-iot-2019/
Capítulos vistos día 1:
Día 2: «Raspberry Pi en IoT»
Preparación de todas las herramientas que necesitamos para IoT, hay que hacerlo pero SOLO UNA VEZ:
- Cuenta de Blynk
- Cuenta de Thingspeak
- Instalación IDE Arduino
- Instalación driver
- Instalación soporte para ESP8266
- Instalación librerías
Preparación para Raspberry Pi:
- Descargar Raspbian Buster with desktop desde: https://downloads.raspberrypi.org/raspbian_latest
- Descargar SD formater: https://www.sdcard.org/downloads/formatter_4/eula_windows/index.html
- Descargar etcher: https://www.balena.io/etcher/
- Flashear las tarjetas microSD con etcher y la última versión de Raspbian
Capítulos vistos día 2:
- IoT en 90 minutos (continuación)
- Ecosistema IoT
- Instalación Raspbian
Día 3: «Software Raspberry Pi y Arduino»
Numerar puestos y firmar hoja de material.
Repaso del día anterior:
- Funcionamiento de la práctica de «IoT en 90 minutos»
- ThingHTTP y React
- Instalación Raspbian
¿Como añadir en «IoT en 90 minutos» un contador en thingspeak y en Blynk para ver el estado la puerta y un contador de cuantas veces se ha abierto la puerta?
Ejemplo PoC con toroidales y luego wibeee
- https://openenergymonitor.org/
- https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/interface-with-arduino
- https://shop.openenergymonitor.com/
- Wibee: http://wibeee.circutor.com/
Plataforma Energía (Vertical):
- emoncms: https://emoncms.org/
- Instalar y docs: https://github.com/emoncms/emoncms
- Librería para ESP8266: https://github.com/openenergymonitor/EmonESP
Capítulos vistos día 3:
Día 4: «Software Raspberry Pi y Comunicaciones»
Nuevo Arduino MKR WAN 1310: https://blog.arduino.cc/2019/10/10/new-mkr-wan-1310-for-lora-connectivity-comes-with-2mbyte-flash-and-extended-battery-life/
Monitorizar temperatura de un refrigerador: https://blog.arduino.cc/2019/09/25/logging-refrigerator-temperature-with-arduino/
Sistema de monitorización de temperatura: https://blog.temboo.com/temperature-monitoring-system/
Y esto es lo que se puede hacer con los datos recogidos por los Arduinos: https://aprendiendoarduino.grafana.net/
Empresas que usan estos sistemas: https://www.linkedin.com/posts/siceanz_itswc19-activity-6593044471758327808-omvU
Talleres específicos: emonCMS
Resumen del día 3:
-
- Instalación Raspberry Pi. Problemas cada vez que cambian las versiones.
- La version instalada de php es la 7.3.0, pero mejor instalar la 7.2
- sudo apt-get purge php7.3*
- sudo apt-get install php7.2 libapache2-mod-php7.2 php7.2-mysql
- solucionar error tablas: https://www.galisteocantero.com/phpmyadmin-count-parameter-must-be-an-array-or-an-object-that-implements-countable/
- Error de inserción, es válido en mySQL y no en MariaDB: https://github.com/phpmyadmin/phpmyadmin/issues/13968
- Insertar datos: INSERT INTO `Aula1` (`S1`, `S2`) VALUES (’22’, ‘2’)
- Arduino en IoT – Como hemos mandado los datos a la nube
- Permisos chmod: https://es.wikipedia.org/wiki/Chmod
- Librería Timer.h: https://github.com/JChristensen/Timer
Capítulos vistos día 4:
- Instalación Software Raspberry Pi (nuevo enlace)
- Arquitecturas IoT
- Conectividad IoT
- Comunicaciones Arduino
Día 5: «MQTT»
Nuevo IDE Arduino (Beta): https://blog.arduino.cc/2019/10/18/arduino-pro-ide-alpha-preview-with-advanced-features/
Glucómetro IoT:
- https://libbyrome.com/health/type-1-diabetes/flashing-my-lights-when-my-blood-sugar-is-too-high-or-too-low/
- glucometro: https://www.dexcom.com/es-ES
- Nightscout es una app opensource que monitoriza y muestra la información del azucar: http://www.nightscout.info/
- CGM monitor: https://github.com/nightscout/cgm-remote-monitor
- https://www.hanselman.com/blog/OpenSourceArtificialPancreasesWillBecomeTheNewStandardOfCareForDiabetesIn2019.aspx
- Loop: https://loopkit.github.io/loopdocs/
- OpenAPS: https://openaps.org/
- GCC: http://ggc.sourceforge.net/index.php
- Papers:
- Open source glucometro: https://github.com/nebulabio/gluco
- Smart IoT Glucometer: https://channel9.msdn.com/Events/Build/2017/T6982
- Shield glucometro: https://hackaday.io/project/11719/logs?sort=oldest
- Glucómetro no invasivo: http://www.idlehandsproject.com/open-source-non-invasive-glucose-meter-project/
Capítulos vistos día 5:
Día 6: «Node-Red»
Limite de conexiones de mosquitto: 1015 en raspberry Pi
- Incrementar el límite: https://stackoverflow.com/questions/41096088/mosquitto-increasing-maximum-connection-limit
- Se puede limitar en https://mosquitto.org/man/mosquitto-conf-5.html
- Bechmark MQTT brokers: http://www.scalagent.com/IMG/pdf/Benchmark_MQTT_servers-v1-1.pdf
- https://lists.launchpad.net/mosquitto-users/msg00163.html
- mqtt benchmark: https://github.com/krylovsk/mqtt-benchmark
- sudo apt-get install golang
- sudo go get github.com/krylovsk/mqtt-benchmark
- /home/pi/go/bin/mqtt-benchmark –broker tcp://localhost:1883 –clients 1000 –count 100 –format «text» –qos 1 –size 100 –topic «/test»
- HiveMQ: https://www.hivemq.com/docs/4.2/hivemq/restrictions.html
Clonar imágenes Raspberry Pi:
- https://www.howtogeek.com/341944/how-to-clone-your-raspberry-pi-sd-card-for-foolproof-backup/
- https://beebom.com/how-clone-raspberry-pi-sd-card-windows-linux-macos/
- Solución:
- Cambiar el tamaño de la partición en un fichero imagen:
- Rpi-Clone: https://github.com/billw2/rpi-clone
- Usar SD-Clone: https://twocanoes.com/products/mac/sd-clone/
- shrink SD card image: https://github.com/qrti/shrink
- PiShrink: https://www.ostechnix.com/pishrink-make-raspberry-pi-images-smaller/
- Si es una SD mayor que el de la imagen, habrá que expandir el file system.
Cambiar memoria swap Raspberry Pi: https://raspberrypi.stackexchange.com/questions/70/how-to-set-up-swap-space
AEMET Open Data: https://opendata.aemet.es/centrodedescargas/inicio
Ejemplo de uso de mailgun conectando una máquina dispensadora de snacks:
- https://www.mailgun.com/blog/snack-delivery-machine-part-1-mechanics/
- https://www.mailgun.com/blog/snack-delivery-machine-part-2-the-electronics-and-tech
Capítulos vistos día 6:
Día 7: «HTTP y API REST»
Ritmo del curso.
Fiware: https://www.fiware.org/
Switchbot:
- https://www.switch-bot.com/
- https://www.kickstarter.com/projects/switchbot/switchbot-curtain-make-your-curtains-smart-in-seconds
Proyecto IoT: https://www.hackster.io/gatoninja236/smart-garden-system-with-arduino-nano-iot-791933
- Escribir datos desde TTN a Thingspeak: https://es.mathworks.com/help/thingspeak/write_things_network.html?s_eid=EML_22092
- Recoger datos agricolas sobre TTN a Thingspeak: https://es.mathworks.com/help/thingspeak/things_network_ag_data.html?s_eid=EML_22092
Capítulos vistos día 7:
Día 8: «Plataformas y Servicios. Grafana»
Arduino IoT Cloud: https://blog.arduino.cc/2019/10/28/arduino-iot-cloud-support-for-esp8266-and-other-third-party-boards/
Openweathermap Pricing: https://openweathermap.org/price
Agromonitoring: https://agromonitoring.com/
Librerías HTTP:
- Librería HTTP Client: https://github.com/arduino-libraries/ArduinoHttpClient
- Librería HTTP Server: https://github.com/QuickSander/ArduinoHttpServer
Cliente seguro para ESP8266:
- Usar la clase client secure: https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/client-secure-class.html
- Ejemplos https://arduino-esp8266.readthedocs.io/en/latest/esp8266wifi/client-secure-examples.html
- Ejemplo HTTPS: https://github.com/SensorsIot/HTTPS-for-Makers/blob/master/ESP8266/HTTPSRequest/HTTPSRequest.ino
- Ejemplo MQTT seguro: https://gist.github.com/eLement87/133cddc5bd0472daf5cb35a20bfd811e
- Vídeo: https://www.youtube.com/watch?v=Wm1xKj4bKsY
Contraseña en el dashboard de Node-Red: https://nodered.org/docs/user-guide/runtime/securing-node-red
- Configurar: httpNodeAuth: {user:»user»,pass:»xxxxxxxxxxxxxxxxxxxxxxxxxxxx»},
Node-Red Dashboard Login: https://github.com/phyunsj/node-red-dashboard-login
Flow para poner un pin en Dashboard: https://flows.nodered.org/flow/7bcb0b049df4fa3c962294137ebaec19
Como exponer un Node-Red de forma segura en Internet: https://github.com/node-red/cookbook.nodered.org/wiki/How-to-safely-expose-Node-RED-to-the-Internet
Hardware para LoRa/TTN:
- Basic Node/Gateway: https://www.amazon.es/gp/product/B076T28KWG/ref=ppx_yo_dt_b_asin_title_o00_s00
- Tutorial: https://www.hackster.io/Arn/single-channel-ttn-lora-gateway-and-nodes-with-esp32-sx1276-709612
- TTN Mapper: https://www.amazon.es/gp/product/B07SFVQ3Z8/ref=ppx_yo_dt_b_asin_title_o04_s00
- Dispositivos: https://www.thethingsnetwork.org/docs/devices/
- Gateways: https://www.thethingsnetwork.org/docs/gateways/
Plataforma Thinger.io: https://thinger.io/
- Librería Arduino Thinger.io: https://github.com/thinger-io/Arduino-Library
- Servidor de prueba: https://82.223.196.251
- Documentación: https://docs.thinger.io/
- API https://docs.thinger.io/api
¡¡¡Cerveza fin de curso!!!
Recoger todo el material
Capítulos vistos día 8:
Pingback: Presentación del Curso | Aprendiendo Arduino