Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Encender una cafetera con Micropython, MQTT y Android

Encender una cafetera con Micropython, MQTT y Android

B59b1bd643ff429bb27032b05d4f2e23?s=128

Houssan A. Hijazi

November 27, 2019
Tweet

Transcript

  1. Encendendo una cafetera con Micropython, MQTT y Android

  2. ¿Quien somos? • Houssan Ali Hijazi ◦ GDG Foz do

    Iguaçu Organizer ◦ Desarrollador Android en Impulso ◦ https://www.lojasparaguai.com.br/ ◦ https://www.desaparecidosbr.org/ ◦ https://www.dolarpy.com.br/ ◦ Santista
  3. ¿Quien Somos? • André Queiroz ◦ Analista de Suporte (Mabu

    Rede Hoteleira) ◦ Github: https://github.com/andrequeiroz2 ◦ E-mail: andrequeiroz.com@gmail.com ◦ GDG Foz do Iguaçu (Suporte) ◦ Santista
  4. ¿Qué es MQTT? • MQTT (Message Queue Telemetry Transport) •

    Proyecto IBM, final de los 90 • Creadores: Andy Stanford-Clark (IBM) Arlen Nipper(Cirrus Link)
  5. Caracteristicas del MQTT • Es un protocolo ligero para redes

    con ancho de banda limitado y alta latencia. • Paradigma PUB / SUB • Broker (Middleware) • Asincrónico • Consume pocos recursos del dispositivo (batería, procesamiento, ancho de banda) • Altamente escalable • Implementación facil
  6. Arquitectura MQTT Broker Subscriber Publisher Subscriber Subscriber Subscriber: Subscribe a

    topic in Broker Publisher: Publish data topic to Broker Broker: Send msg to clients Publisher Publisher
  7. ¿Qué es Micropython? • Es un compilador de tiempo de

    ejecución. • Implementación lean de Python3. • Se ejecuta en microcontroladores y en ambientes restringidos. • Accede directamente al hardware. • Creado por el programador y físico australiano Damien George en 2013. • Soporte nativo a Pyboard, WiPy, ESP8266 / 32 y MicroBit
  8. Instalando Micropython • https://github.com/espressif/esptool • http://micropython.org/download • esptool.py --port /dev/ttyUSB0

    erase_flash • esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20190529-v1.11.bin • https://github.com/scientifichackers/ampy ◦ ampy --port /dev/ttyUSB0 put file.py file.py ◦ ampy --help
  9. Projecto v1 Broker Publish message ON/OFF to topic gdgfoz/coffee Send

    message ON/OFF to topic gdgfoz/coffee Subscribe topic gdgfoz/coffee Script: Python, Java, Kotlin, Ruby, Javascript etc…
  10. Algunos puntos v1 • Lenguajes: Python, Java, Kotlin, Ruby, Javascript,

    etc… • Crear el script • Anãdir al cron del linux • Exejutar en una hora especifica o intervalo determinado • Y si se llevanta mas temprano o mas tarde? • Y si es feriado?
  11. Projecto v2 Broker Publish message ON/OFF to topic gdgfoz/coffee Send

    message ON/OFF to topic gdgfoz/coffee Subscribe topic gdgfoz/coffee
  12. Algunos puntos v2 • Wifi fijo • Tópico fijo

  13. Projecto v3 Broker Auth & Data internet

  14. ¡Empecemos!

  15. None
  16. ¡Código MicroPython!

  17. Micropython • umqtt • Crear access point (ssid: espcoffee /

    password: esp1234567890) • Abrir socket puerta 80 (192.168.4.1) • Aceder en el browser y elegir el ssid y password
  18. CODE

  19. ¡Código Android!

  20. Android • Kotlin • Paho library • Auth Firebase •

    Cloud Firestore (database) • QRcode
  21. CODE

  22. ¿Y el cafe?

  23. Codigos • https://github.com/hussanhijazi/iot-hub • https://github.com/andrequeiroz2/micropython-coffee

  24. Contactos • Houssan Ali Hijazi - hussanhijazi@gmail.com • André Queiroz

    - andrequeiroz.com@gmail.com
  25. ¿Preguntas?

  26. ¡Muchas gracias!