Diferència entre revisions de la pàgina «Placa IoT-02»
(Es crea la pàgina amb «= Introducció a la placa IoT-02 = Añadir ESP32 al IDE de Arduino center|thumb|Placa IoT-02 [https://binefa.cat/training/upcSchool/20...».) |
|||
(Hi ha 39 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | '''Per treballar amb la placa IoT-02 a classe heu de dur una font d'alimentació ''microUSB''''', o un cable de connexió ''microUSB'' a l'ordinador. | ||
+ | |||
= Introducció a la placa IoT-02 = | = Introducció a la placa IoT-02 = | ||
− | [[ | + | [https://www.binefa.cat/IoT/IoT-02/info/iot02_00_ca.pdf Introducció a la placa IoT-02 en pdf] |
+ | |||
+ | [[Addició de l'ESP32 a l'IDE d'Arduino]] | ||
[[Image:14upcSchool.jpg|center|thumb|Placa IoT-02]] | [[Image:14upcSchool.jpg|center|thumb|Placa IoT-02]] | ||
− | [https://binefa.cat/training/upcSchool/20200516/IoT-02_11_modbus_bme280.zip | + | [https://binefa.cat/training/upcSchool/20200516/IoT-02_11_modbus_bme280.zip Microprogramari comprimit en zip de prova de la placa IoT-02]. [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_11_modbus_bme280 IoT-02_11_modbus_bme280 a GitHub]. Aquest és el microprogramari (''firmware'') instal·lat quan rebeu la placa per primer cop. |
Connnexió externa a microruptors, relés ''reed'' i relés convencionals: | Connnexió externa a microruptors, relés ''reed'' i relés convencionals: | ||
Línia 12: | Línia 16: | ||
[https://www.futurlec.com/Datasheet/Relays/HFD2.pdf Full de característiques del relé d'enclavament HFD2/005-M-L2-D] | [https://www.futurlec.com/Datasheet/Relays/HFD2.pdf Full de característiques del relé d'enclavament HFD2/005-M-L2-D] | ||
+ | |||
+ | [https://www.things.cat/index.php/P%C3%A0gina_principal#MicroPython_2 Programació en MicroPython] | ||
+ | |||
+ | = Placa IoT-02 i integració a la Internet de les Coses = | ||
+ | [[Placa IoT-02 i integració a la Internet de les Coses]] | ||
+ | |||
+ | [https://github.com/ttncat/viladecans-formacio-iot-2022/tree/master/02-dispositius Placa IoT-02 connectant a TTSv3 mitjançant el protocol LoRaWAN] | ||
+ | |||
+ | = Connectant el programador = | ||
+ | Placa vermella: [https://www.aliexpress.com/item/4000566777448.html FT232RL Mòdul sèrier FTDI USB a TTL emprat com a programador] | ||
+ | |||
+ | '''És molt important verificar que la posició del pont és 3,3 volts (Per defecte acostuma a venir amb el pont connectat a 5 volts)''' | ||
+ | |||
+ | [[Image:IoT-02_Programmer.jpg|center|thumb|Posició de la placa programadora]] | ||
+ | = Mode programació = | ||
+ | Per a poder pujar microprogramari a la placa IoT-02 cal posar-la en mode programació. Aquests són els passos: | ||
+ | |||
+ | * 1r: Connecteu el cable microusb (proporciona 5 volts d'alimentació a la placa) | ||
+ | |||
+ | * 2n: Mantingueu premut el botó de reset (vermell) | ||
+ | |||
+ | * 3r: Mentre manteniu premut el botó de reset, mantingueu premut el botó IO0 (botó blanc més proper al botó de reset). En aquest pas ambdós botons romanen premuts. | ||
+ | |||
+ | * 4t: Deixeu de prémer el botó de reset (vermell). | ||
+ | |||
+ | * 5è: Deixeu de prémer el botó IO0. | ||
+ | |||
+ | Després d'aquests passos la placa és en mode programació. | ||
+ | |||
+ | = Programant microprogramari en format binari = | ||
+ | == Programant des del terminal == | ||
+ | Eina de programari: [https://github.com/espressif/esptool esptool.py] | ||
+ | |||
+ | '''Arxius binaris de microprogramari''' (aquí teniu el '''microprogramari de prova de funcionament de la placa IoT-02'''): | ||
+ | |||
+ | * 1/4) [https://github.com/jordibinefa/IoT-02/raw/master/codes/binaryFirmware/IoT-02_11_modbus_bme280.ino.bootloader.bin IoT-02_11_modbus_bme280.ino.bootloader.bin] | ||
+ | |||
+ | * 2/4) [https://github.com/jordibinefa/IoT-02/raw/master/codes/binaryFirmware/IoT-02_11_modbus_bme280.ino.partitions.bin IoT-02_11_modbus_bme280.ino.partitions.bin] | ||
+ | |||
+ | * 3/4) [https://github.com/jordibinefa/IoT-02/raw/master/codes/binaryFirmware/boot_app0.bin boot_app0.bin] | ||
+ | |||
+ | * 4/4) [https://github.com/jordibinefa/IoT-02/raw/master/codes/binaryFirmware/IoT-02_11_modbus_bme280.ino.bin IoT-02_11_modbus_bme280.ino.bin] | ||
+ | |||
+ | |||
+ | Ordre 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''' 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'') | ||
+ | |||
+ | [[Image:Programming_IoT-02_screenshot.png|center|Programming firmware from terminal]] | ||
+ | |||
+ | 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. | ||
+ | |||
+ | == Programant amb un eina gràfica per a Windows == | ||
+ | Poseu la placa en mode programació, seguint els cinc passos explicats més amunt, combinant els botons de reset (RST) i 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]) | ||
+ | |||
+ | 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. | ||
+ | |||
+ | == Provant el microprogramari == | ||
+ | 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. | ||
+ | |||
+ | = Instal·lació 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 | ||
+ | |||
+ | pip install esptool | ||
+ | |||
+ | == Esborreu la ''flash'' per complet == | ||
+ | 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 | ||
+ | |||
+ | == Pugeu MicroPython 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 | ||
+ | |||
+ | 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] | ||
+ | |||
+ | |||
+ | '''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] | ||
+ | |||
+ | <!-- | ||
+ | Ordre 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''' 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'') | ||
+ | |||
+ | == Gestió de fitxers a un dispositiu amb MicroPython mitjançant 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] | ||
+ | |||
+ | pip install adafruit-ampy | ||
+ | === Exemples d'ús d''''''ampy''''' === | ||
+ | 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 | ||
+ | |||
+ | [[Image:MicroBlocks00.png|center|Ús d'''ampy'' mitjançant el terminal]] | ||
+ | |||
+ | == Gestió de fitxers a un dispositiu amb MicroPython mitjançant la interfície gràfica d'usuari '''''Thonny''''' == | ||
+ | [https://thonny.org/ Pàgina oficial de Thonny] | ||
+ | |||
+ | [[Image:Thonny00.png|center|Thonny]] | ||
+ | |||
+ | = Instal·lació de MicroBlocks = | ||
+ | [http://microblocks.fun/ Pàgina oficial de MicroBlocks] | ||
+ | |||
+ | Eina de programari: [https://github.com/espressif/esptool esptool.py] | ||
+ | |||
+ | == Esborreu la ''flash'' per complet == | ||
+ | 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 | ||
+ | |||
+ | == 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'''): | ||
+ | |||
+ | * 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] | ||
+ | |||
+ | * 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] | ||
+ | |||
+ | * 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] | ||
+ | |||
+ | * 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]) | ||
+ | |||
+ | |||
+ | Ordre 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''' 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'') | ||
+ | |||
+ | == 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. | ||
+ | [[Image:MicroBlocks01.jpg|center|Placa IoT-02 connectada a MicroBlocks d'escriptori]] |
Revisió de 22:00, 30 març 2023
Per treballar amb la placa IoT-02 a classe heu de dur una font d'alimentació microUSB, o un cable de connexió microUSB a l'ordinador.
Contingut
Introducció a la placa IoT-02
Introducció a la placa IoT-02 en pdf
Addició de l'ESP32 a l'IDE d'Arduino
Microprogramari comprimit en zip de prova de la placa IoT-02. IoT-02_11_modbus_bme280 a GitHub. Aquest és el microprogramari (firmware) instal·lat quan rebeu la placa per primer cop.
Connnexió externa a microruptors, relés reed i relés convencionals:
Full de característiques del relé d'enclavament HFD2/005-M-L2-D
Placa IoT-02 i integració a la Internet de les Coses
Placa IoT-02 i integració a la Internet de les Coses
Placa IoT-02 connectant a TTSv3 mitjançant el protocol LoRaWAN
Connectant el programador
Placa vermella: FT232RL Mòdul sèrier FTDI USB a TTL emprat com a programador
És molt important verificar que la posició del pont és 3,3 volts (Per defecte acostuma a venir amb el pont connectat a 5 volts)
Mode programació
Per a poder pujar microprogramari a la placa IoT-02 cal posar-la en mode programació. Aquests són els passos:
- 1r: Connecteu el cable microusb (proporciona 5 volts d'alimentació a la placa)
- 2n: Mantingueu premut el botó de reset (vermell)
- 3r: Mentre manteniu premut el botó de reset, mantingueu premut el botó IO0 (botó blanc més proper al botó de reset). En aquest pas ambdós botons romanen premuts.
- 4t: Deixeu de prémer el botó de reset (vermell).
- 5è: Deixeu de prémer el botó IO0.
Després d'aquests passos la placa és en mode programació.
Programant microprogramari en format binari
Programant des del terminal
Eina de programari: esptool.py
Arxius binaris de microprogramari (aquí teniu el microprogramari de prova de funcionament de la placa IoT-02):
- 3/4) boot_app0.bin
Ordre 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 a Windows és un port COMx (essent x el número de port virtual a on és connectat el programador. Per exemple: COM3)
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.
Programant amb un eina gràfica per a Windows
Poseu la placa en mode programació, seguint els cinc passos explicats més amunt, combinant els botons de reset (RST) i IO0.
Eina gràfica per a Windows: Flash Download Tools (Explicació de com fer servir 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.
Provant el microprogramari
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.
Instal·lació de MicroPython
Cal tenir instal·lat el Python al vostre sistema
pip install esptool
Esborreu la flash per complet
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
Pugeu MicroPython 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
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-ota-20220618-v1.19.1.bin
Explicació a la pàgina oficial de MicroPython
Arxius binari de microprogramari per a pujar MicroPython a la placa IoT-02: esp32-ota-20220618-v1.19.1.bin
/dev/ttyUSB0 a Windows és un port COMx (essent x el número de port virtual a on és connectat el programador. Per exemple: COM3)
Gestió de fitxers a un dispositiu amb MicroPython mitjançant terminal
MicroPython Basics: Load Files & Run Code feta per Adafruit Industries
pip install adafruit-ampy
Exemples d'ús d'ampy
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
Gestió de fitxers a un dispositiu amb MicroPython mitjançant la interfície gràfica d'usuari Thonny
Instal·lació de MicroBlocks
Eina de programari: esptool.py
Esborreu la flash per complet
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
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):
- 1/4) bootloader_dio_40m.bin (Original al Bitbucket d'en John Maloney
- 2/4) partitions.bin (Original al Bitbucket d'en John Maloney
- 3/4) boot_app0.bin (Original al Bitbucket d'en John Maloney
- 4/4) vm_esp32.bin (Original a vm_esp32.bin)
Ordre 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 a Windows és un port COMx (essent x el número de port virtual a on és connectat el programador. Per exemple: COM3)
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.