Diferència entre revisions de la pàgina «Placa IoT-02 (es)»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 18 revisions intermèdies del mateix usuari que no es mostren)
Línia 5: Línia 5:
 
[https://www.binefa.cat/IoT/IoT-02/info/iot02_00_es.pdf Introducción a la placa IoT-02 en pdf]
 
[https://www.binefa.cat/IoT/IoT-02/info/iot02_00_es.pdf Introducción a la placa IoT-02 en pdf]
  
[[Addició de l'ESP32 a l'IDE d'Arduino]]
+
[[Añadir ESP32 al IDE de Arduino]]
  
 
[[Image:14upcSchool.jpg|center|thumb|Placa IoT-02]]
 
[[Image:14upcSchool.jpg|center|thumb|Placa IoT-02]]
Línia 27: Línia 27:
 
Placa roja: [https://www.aliexpress.com/item/4000566777448.html FT232RL Módulo serie FTDI USB a TTL usado como programador]
 
Placa roja: [https://www.aliexpress.com/item/4000566777448.html FT232RL Módulo serie FTDI USB a TTL usado como programador]
  
'''És muy importante verificar que la posició del puente és 3,3 voltios (Por defecto acostumbra a venir con el puente conectado a 5 voltios)'''
+
'''És muy importante verificar que la posición del puente és 3,3 voltios (Por defecto acostumbra a venir con el puente conectado a 5 voltios)'''
  
 
[[Image:IoT-02_Programmer.jpg|center|thumb|Posición de la placa programadora]]
 
[[Image:IoT-02_Programmer.jpg|center|thumb|Posición de la placa programadora]]
 +
 
= Modo programación =
 
= Modo programación =
 
Para poder subir firmware a la placa IoT-02 hay que ponerla en modo programación. Estos son los pasos:
 
Para poder subir firmware a la placa IoT-02 hay que ponerla en modo programación. Estos son los pasos:
Línia 45: Línia 46:
 
Después de estos pasos la placa esta en modo programación.
 
Después de estos pasos la placa esta en modo programación.
  
= Programando el ''firmware'' en format binari =
+
= Programando el ''firmware'' en formato binario =
 
== Programando desde el terminal ==
 
== Programando desde el terminal ==
 
Herramienta de software: [https://github.com/espressif/esptool esptool.py]
 
Herramienta de software: [https://github.com/espressif/esptool esptool.py]
Línia 70: Línia 71:
  
 
== Programando con una herramienta gráfica para Windows ==
 
== Programando con una herramienta gráfica para Windows ==
Poseu la placa en mode programació, seguint els cinc passos explicats més amunt, combinant els botons de reset (RST) i IO0.
+
Poner la placa en modo programación, siguiendo los cinco pasos explicados más arriba, combinando los botones de reset (RST) e IO0.
  
Eina gràfica per a Windows: [https://www.espressif.com/en/support/download/other-tools Flash Download Tools] ([https://www.aranacorp.com/en/generating-and-uploading-bin-files-for-esp32/ Explicació de com fer servir Flash Download Tools])
+
Herramienta gráfica para Windows: [https://www.espressif.com/en/support/download/other-tools Flash Download Tools] ([https://www.aranacorp.com/en/generating-and-uploading-bin-files-for-esp32/ Explicación del uso de Flash Download Tools])
  
Un cop el procés de programació ha acabat, heu de prémer el botó de reset per a que comenci a funcionar el microprogramari pujat. O retireu la placa vermella de programació, desendolleu la font d'alimentació (connectada al microusb) i torneu a endollar-la.
+
Una vez el proceso de programación ha acabado, pulsar el botón de reset para que empiece a funcionar el firmware subido. O retirar la placa roja de programación, desenchufar la fuente de alimentación (conectada al microusb) y enchufarla de nuevo.
  
== Provant el microprogramari ==
+
== Probando el ''firmware'' ==
Un cop heu pujat el microprogramari d'aquest exemple a la placa, després de prémer el botó de reset (vermell), us ha d'aparèixer informacions a la pantalla (OLED) que canvien en funció dels botons blancs que aneu prement.
+
Una vez subido el ''firmware'' de este ejemplo en la placa, después de pulsar el botón de reset (rojo), tienen que aparecer informaciones en la pantalla (OLED) que cambian en función de los botones blancos que se vayan pulsando.
  
= Instal·lació de MicroPython =
+
= Instalación de MicroPython =
[http://www.micropython.org/ Pàgina oficial de MicroPython]
+
[http://www.micropython.org/ Página oficial de MicroPython]
  
Cal tenir instal·lat el [https://www.python.org/downloads/ Python] al vostre sistema
+
Hace falta tener instalado el [https://www.python.org/downloads/ Python] en vuestro sistema operativo
  
 
  pip install esptool
 
  pip install esptool
  
== Esborreu la ''flash'' per complet ==
+
== Borrar la ''flash'' por completo ==
Poseu la placa IoT-02 en mode de programació:
+
Poner la placa IoT-02 en modo de programación:
*Premeu el botó vermell (RST)
+
 
* Premeu el botó blanc IO0
+
* Apretar el botón rojo(RST)
* Deixeu de prémer el botó vermell (RST)
+
 
* Deixeu de prémer el botó blanc IO0
+
* Apretar el botó blanco IO0  
 +
 
 +
* Dejar de apretar el botón rojo (RST)
 +
 
 +
* Dejar de apretar el botón blanco IO0
 +
 
 
  esptool.py --port /dev/ttyUSB0 erase_flash
 
  esptool.py --port /dev/ttyUSB0 erase_flash
== Pugeu MicroPython a la placa IoT-02 ==
+
 
Torneu a posar la placa IoT-02 en mode de programació:
+
== Subir MicroPython a la placa IoT-02 ==
*Premeu el botó vermell (RST)
+
Volver a poner la placa IoT-02 en modo de programación:
* Premeu el botó blanc IO0
+
 
* Deixeu de prémer el botó vermell (RST)
+
* Apretar el botón rojo(RST)
* Deixeu de prémer el botó blanc IO0
+
 
 +
* Apretar el botó blanco IO0  
 +
 
 +
* Dejar de apretar el botón rojo (RST)
 +
 
 +
* Dejar de apretar el botón blanco IO0
  
 
  esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 [https://github.com/jordibinefa/IoT-02/raw/master/micropython/binary/esp32-ota-20220618-v1.19.1.bin esp32-ota-20220618-v1.19.1.bin]
 
  esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 [https://github.com/jordibinefa/IoT-02/raw/master/micropython/binary/esp32-ota-20220618-v1.19.1.bin esp32-ota-20220618-v1.19.1.bin]
  
  
[https://docs.micropython.org/en/latest/esp32/tutorial/intro.html Explicació a la pàgina oficial de MicroPython]
+
[https://docs.micropython.org/en/latest/esp32/tutorial/intro.html Explicación en la página oficial de MicroPython]
  
  
'''Arxius binari de microprogramari per a pujar MicroPython a la placa IoT-02''': [https://github.com/jordibinefa/IoT-02/raw/master/micropython/binary/esp32-ota-20220618-v1.19.1.bin esp32-ota-20220618-v1.19.1.bin]
+
'''Archivo binario de firmware para subir  MicroPython a la placa IoT-02''': [https://github.com/jordibinefa/IoT-02/raw/master/micropython/binary/esp32-ota-20220618-v1.19.1.bin esp32-ota-20220618-v1.19.1.bin]
  
 
<!--
 
<!--
Línia 112: Línia 123:
 
  esptool.py --chip esp32 --port '''/dev/ttyUSB0''' --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 '''bootloader_dio_40m.bin''' 0x8000 '''partitions.bin''' 0xe000 '''boot_app0.bin''' 0x10000 '''vm_esp32.bin'''
 
  esptool.py --chip esp32 --port '''/dev/ttyUSB0''' --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 '''bootloader_dio_40m.bin''' 0x8000 '''partitions.bin''' 0xe000 '''boot_app0.bin''' 0x10000 '''vm_esp32.bin'''
 
-->
 
-->
'''/dev/ttyUSB0''' a Windows és un port '''COM'''''x'' (essent ''x'' el número de port virtual a on és connectat el programador. Per exemple: COM''3'')
+
'''/dev/ttyUSB0''' en Windows es un puerto '''COM'''''x'' (siendo ''x'' el número de puerto virtual donde está conectado el programador. Por ejemplo: COM''3'')
  
== Gestió de fitxers a un dispositiu amb MicroPython mitjançant terminal ==
+
== Gestión de ficheros en un dispositivo con MicroPython mediante terminal ==
 
[https://www.digikey.es/en/maker/projects/micropython-basics-load-files-run-code/fb1fcedaf11e4547943abfdd8ad825ce MicroPython Basics: Load Files & Run Code] feta per [https://www.adafruit.com/ Adafruit Industries]
 
[https://www.digikey.es/en/maker/projects/micropython-basics-load-files-run-code/fb1fcedaf11e4547943abfdd8ad825ce MicroPython Basics: Load Files & Run Code] feta per [https://www.adafruit.com/ Adafruit Industries]
  
 
  pip install adafruit-ampy
 
  pip install adafruit-ampy
=== Exemples d'ús d''''''ampy''''' ===
+
=== Ejemplos de uso de '''''ampy''''' ===
 
  ampy --help
 
  ampy --help
 
  ampy --port /serial/port run test.py
 
  ampy --port /serial/port run test.py
Línia 131: Línia 142:
 
  ampy --port /serial/port rmdir /ruta/absoluta
 
  ampy --port /serial/port rmdir /ruta/absoluta
  
[[Image:MicroBlocks00.png|center|Ús d'''ampy'' mitjançant el terminal]]
+
[[Image:MicroBlocks00.png|center|Uso de ''ampy'' mediante el terminal]]
  
== Gestió de fitxers a un dispositiu amb MicroPython mitjançant la interfície gràfica d'usuari '''''Thonny''''' ==
+
== Gestión de ficheros en un dispositivo con MicroPython mediante la interfaz gráfica de usuario '''''Thonny''''' ==
[https://thonny.org/ Pàgina oficial de Thonny]
+
[https://thonny.org/ Página oficial de Thonny]
 +
[[Image:Thonny00.png|center|Thonny]]
  
[[Image:Thonny00.png|center|Thonny]]
+
= Instalación de MicroBlocks =
 +
[http://microblocks.fun/ Página oficial de MicroBlocks]
 +
 
 +
Herramienta de software: [https://github.com/espressif/esptool esptool.py]
 +
 
 +
== Borrar la ''flash'' por completo ==
 +
Poner la placa IoT-02 en modo de programación:
 +
 
 +
* Apretar el botón rojo(RST)
  
= Instal·lació de MicroBlocks =
+
* Apretar el botó blanco IO0
[http://microblocks.fun/ Pàgina oficial de MicroBlocks]
 
  
Eina de programari: [https://github.com/espressif/esptool esptool.py]
+
* Dejar de apretar el botón rojo (RST)
  
== Esborreu la ''flash'' per complet ==
+
* Dejar de apretar el botón blanco IO0
Poseu la placa IoT-02 en mode de programació:
 
*Premeu el botó vermell (RST)
 
* Premeu el botó blanc IO0
 
* Deixeu de prémer el botó vermell (RST)
 
* Deixeu de prémer el botó blanc IO0
 
 
  esptool.py --port /dev/ttyUSB0 erase_flash
 
  esptool.py --port /dev/ttyUSB0 erase_flash
== Pugeu MicroBlocks a la placa IoT-02 ==
 
Torneu a posar la placa IoT-02 en mode de programació:
 
*Premeu el botó vermell (RST)
 
* Premeu el botó blanc IO0
 
* Deixeu de prémer el botó vermell (RST)
 
* Deixeu de prémer el botó blanc IO0
 
  
'''Arxius binaris de microprogramari''' (aquí teniu el '''microprogramari per a pujar MicroBlocks a la placa IoT-02'''):
+
== Subir MicroBlocks a la placa IoT-02 ==
 +
Volver a poner la placa IoT-02 en modo de programación:
 +
 
 +
* Apretar el botón rojo(RST)
 +
 
 +
* Apretar el botó blanco IO0
 +
 
 +
* Dejar de apretar el botón rojo (RST)
 +
 
 +
* Dejar de apretar el botón blanco IO0
 +
 
 +
'''Archivos binarios de firmware''' (aquí está el '''firmware para subir MicroBlocks a la placa IoT-02'''):
  
* 1/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/bootloader_dio_40m.bin bootloader_dio_40m.bin] (Original al [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket d'en John Maloney]
+
* 1/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/bootloader_dio_40m.bin bootloader_dio_40m.bin] (Original en [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket de John Maloney]
  
* 2/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/partitions.bin partitions.bin] (Original al [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket d'en John Maloney]
+
* 2/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/partitions.bin partitions.bin] (Original en [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket de John Maloney]
  
* 3/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/boot_app0.bin boot_app0.bin] (Original al [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket d'en John Maloney]
+
* 3/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/boot_app0.bin boot_app0.bin] (Original en [https://bitbucket.org/john_maloney/smallvm/src/master/esp32/ Bitbucket de John Maloney]
  
* 4/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/vm_esp32.bin vm_esp32.bin] (Original a [https://microblocks.fun/downloads/pilot/vm/vm_esp32.bin vm_esp32.bin])
+
* 4/4) [https://github.com/jordibinefa/IoT-02/raw/master/microblocks/binary/vm_esp32.bin vm_esp32.bin] (Original en [https://microblocks.fun/downloads/pilot/vm/vm_esp32.bin vm_esp32.bin])
  
  
Ordre de terminal:
+
Orden de terminal:
 
  esptool.py --chip esp32 --port '''/dev/ttyUSB0''' --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 '''bootloader_dio_40m.bin''' 0x8000 '''partitions.bin''' 0xe000 '''boot_app0.bin''' 0x10000 '''vm_esp32.bin'''
 
  esptool.py --chip esp32 --port '''/dev/ttyUSB0''' --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 '''bootloader_dio_40m.bin''' 0x8000 '''partitions.bin''' 0xe000 '''boot_app0.bin''' 0x10000 '''vm_esp32.bin'''
  
'''/dev/ttyUSB0''' a Windows és un port '''COM'''''x'' (essent ''x'' el número de port virtual a on és connectat el programador. Per exemple: COM''3'')
+
'''/dev/ttyUSB0''' en Windows es un puerto '''COM'''''x'' (siendo ''x'' el número de puerto virtual donde está conectado el programador. Por ejemplo: COM''3'')
== Provant MicroBlocks ==
+
 
Per a verificar la connexió de la placa IoT-02 amb MicroBlocks connectada a l'aplicació d'escriptori MicroBlocks heu de veure un fons verd a la icona de l'USB.
+
== Probando MicroBlocks ==
 +
Para verificar la conexión de la placa IoT-02 con MicroBlocks conectada con la aplicación de escritorio MicroBlocks, se tiene que ver un fondo verde en el icono del USB.
 
[[Image:MicroBlocks01.jpg|center|Placa IoT-02 connectada a MicroBlocks d'escriptori]]
 
[[Image:MicroBlocks01.jpg|center|Placa IoT-02 connectada a MicroBlocks d'escriptori]]

Revisió de 06:35, 13 maig 2024

Para trabajar con la placa IoT-02 en classe teneis que usar una fuente de alimentación microUSB, o un cable de conexión microUSB al ordenador.

Introducción a la placa IoT-02[modifica]

Introducción a la placa IoT-02 en pdf

Añadir ESP32 al IDE de Arduino

Placa IoT-02

Firmware comprimido en zip de prova de la placa IoT-02. IoT-02_11_modbus_bme280 a GitHub. Este es el código del firmware instalado cuando usais la placa por primera vez.

Conexión externa a microrruptores, relés reed y relés convencionales:

Conexión de la placa IoT-02 a relé Reed, microrruptores y relés

Hoja de características del relé de enclavamiento HFD2/005-M-L2-D

Programación en MicroPython

Placa IoT-02 y su integración en Internet de las Cosas[modifica]

Placa IoT-02 i integració a la Internet de les Coses

Placa IoT-02 conectando a TTSv3 mediante el protocolo LoRaWAN

Conectando el programador[modifica]

Placa roja: FT232RL Módulo serie FTDI USB a TTL usado como programador

És muy importante verificar que la posición del puente és 3,3 voltios (Por defecto acostumbra a venir con el puente conectado a 5 voltios)

Posición de la placa programadora

Modo programación[modifica]

Para poder subir firmware a la placa IoT-02 hay que ponerla en modo programación. Estos son los pasos:

  • 1º: Conectar el cable microusb (proporciona 5 voltios de alimentación a la placa)
  • 2º: Mantener pulsado el botón de reset (rojo)
  • 3º: Mientras se mantiene pulsado el botón de reset, mantener pulsado el botón IO0 (botón blanco más próximo al botón rojo de reset). En este paso ambos botones permanecen pulsados.
  • 4º: Dejar de pulsar el botón de reset (rojo).
  • 5º: Dejar de pulsar el botón IO0.

Después de estos pasos la placa esta en modo programación.

Programando el firmware en formato binario[modifica]

Programando desde el terminal[modifica]

Herramienta de software: esptool.py

Archivos binarios de firmware (aquí tenéis el firmware de prueba de funcionamento de la placa IoT-02):


Orden de terminal:

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 IoT-02_11_modbus_bme280.ino.bootloader.bin 0x8000 IoT-02_11_modbus_bme280.ino.partitions.bin 0xe000 boot_app0.bin 0x10000 IoT-02_11_modbus_bme280.ino.bin

/dev/ttyUSB0 en Windows es un puerto COMx (siendox el número de puerto virtual donde está conectado el programador. Per ejemplo: COM3)

Programming firmware from terminal

Una vez el proceso de programación ha acabado, se tiene que pulsar el botón de reset para que empiece a funcionar el firmware subido. O retirar la placa roja de programación, desenchufar la fuente de alimentación (conectada al microusb) y volviéndola a enchufar.

Programando con una herramienta gráfica para Windows[modifica]

Poner la placa en modo programación, siguiendo los cinco pasos explicados más arriba, combinando los botones de reset (RST) e IO0.

Herramienta gráfica para Windows: Flash Download Tools (Explicación del uso de Flash Download Tools)

Una vez el proceso de programación ha acabado, pulsar el botón de reset para que empiece a funcionar el firmware subido. O retirar la placa roja de programación, desenchufar la fuente de alimentación (conectada al microusb) y enchufarla de nuevo.

Probando el firmware[modifica]

Una vez subido el firmware de este ejemplo en la placa, después de pulsar el botón de reset (rojo), tienen que aparecer informaciones en la pantalla (OLED) que cambian en función de los botones blancos que se vayan pulsando.

Instalación de MicroPython[modifica]

Página oficial de MicroPython

Hace falta tener instalado el Python en vuestro sistema operativo

pip install esptool

Borrar la flash por completo[modifica]

Poner la placa IoT-02 en modo de programación:

* Apretar el botón rojo(RST)

* Apretar el botó blanco IO0

* Dejar de apretar el botón rojo (RST)

* Dejar de apretar el botón blanco IO0

esptool.py --port /dev/ttyUSB0 erase_flash

Subir MicroPython a la placa IoT-02[modifica]

Volver a poner la placa IoT-02 en modo de programación:

* Apretar el botón rojo(RST)

* Apretar el botó blanco IO0

* Dejar de apretar el botón rojo (RST)

* Dejar de apretar el botón blanco IO0

esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-ota-20220618-v1.19.1.bin


Explicación en la página oficial de MicroPython


Archivo binario de firmware para subir MicroPython a la placa IoT-02: esp32-ota-20220618-v1.19.1.bin

/dev/ttyUSB0 en Windows es un puerto COMx (siendo x el número de puerto virtual donde está conectado el programador. Por ejemplo: COM3)

Gestión de ficheros en un dispositivo con MicroPython mediante terminal[modifica]

MicroPython Basics: Load Files & Run Code feta per Adafruit Industries

pip install adafruit-ampy

Ejemplos de uso de ampy[modifica]

ampy --help
ampy --port /serial/port run test.py
ampy --port /serial/port put test.py 
ampy --port /serial/port put /directori/altre_test.py
ampy --port /serial/port get main.py
ampy --port /serial/port get boot.py placa_boot.py
ampy --port /serial/port mkdir nom_directori
ampy --port /serial/port mkdir /nom_directori/subdirectori
ampy --port /serial/port ls
ampy --port /serial/port rm fitxer.py
ampy --port /serial/port rmdir /ruta/absoluta
Uso de ampy mediante el terminal

Gestión de ficheros en un dispositivo con MicroPython mediante la interfaz gráfica de usuario Thonny[modifica]

Página oficial de Thonny

Thonny

Instalación de MicroBlocks[modifica]

Página oficial de MicroBlocks

Herramienta de software: esptool.py

Borrar la flash por completo[modifica]

Poner la placa IoT-02 en modo de programación:

* Apretar el botón rojo(RST)

* Apretar el botó blanco IO0

* Dejar de apretar el botón rojo (RST)

* Dejar de apretar el botón blanco IO0

esptool.py --port /dev/ttyUSB0 erase_flash

Subir MicroBlocks a la placa IoT-02[modifica]

Volver a poner la placa IoT-02 en modo de programación:

* Apretar el botón rojo(RST)

* Apretar el botó blanco IO0

* Dejar de apretar el botón rojo (RST)

* Dejar de apretar el botón blanco IO0

Archivos binarios de firmware (aquí está el firmware para subir MicroBlocks a la placa IoT-02):


Orden de terminal:

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 bootloader_dio_40m.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 vm_esp32.bin

/dev/ttyUSB0 en Windows es un puerto COMx (siendo x el número de puerto virtual donde está conectado el programador. Por ejemplo: COM3)

Probando MicroBlocks[modifica]

Para verificar la conexión de la placa IoT-02 con MicroBlocks conectada con la aplicación de escritorio MicroBlocks, se tiene que ver un fondo verde en el icono del USB.

Placa IoT-02 connectada a MicroBlocks d'escriptori