685 palabras
3 minutos
Arduino IDE para ESP32
¿Cómo instalar Arduino IDE para trabajar con el ESP32 en Linux?
Sistema utilizado
- Debian 12
- Kernel 6.1.0-31-amd64
Instalación de Arduino IDE
- Descargamos Arduino IDE desde el sitio oficial (Linux - AppImage 64 bits (X86-64))
- Le damos permisos de ejecución al archivo descargado
chmod +x arduino-ide_2.3.4_Linux_64bit.AppImage
- Creamos carpeta en /opt
sudo mkdir /opt/arduino/
- Movemos el ejecutable de Arduino y asignamos un nuevo nombre
sudo mv arduino-ide_2.3.4_Linux_64bit.AppImage /opt/arduino/arduino
- Para ejecutarlo se puede simplemente correr
/opt/arduino/arduino
- De manera opcional se puede añadir un icono para la aplicación:
- Crear un nuevo archivo en:
vim ~/.local/share/applications/arduino.desktop
- Crear un nuevo archivo en:
[Desktop Entry]Version=1.0Name=ArduinoComment=Arduino IDEType=ApplicationIcon=/opt/arduino/arduino_logo.pngExec=/opt/arduino/arduinoTerminal=falseCategories=DevelopmentESP32 en Linux
- Ir a
File > Preferences > additional boardsy añadir:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Instalar la biblioteca ESp2sota
- ESp2sota
- Conectar la ESP32
- Seleccionar la Board
DOIT ESP32 DEVKIT V1- No vienen por orden alfabetico, se puede encontrar abajo del bloque “Adafruit Feather” y arriba del bloque “OLIMEX”
- Seleccionas el Port correspondiente (variará acorde al puerto conectado)
- Carga un código de prueba
- Si llegase a mostrar el siguiente error
Permission denied: '/dev/ttyUSB0'corre lo siguientes comandos
- Si llegase a mostrar el siguiente error
# Root onlyls -l /dev/ttyUSB0crw-rw---- 1 root dialout 188, 0 Feb 19 18:18 /dev/ttyUSB0
# chmod (selecciona el tty donde se encuentra conectada tu placa)sudo chmod a+rw /dev/ttyUSB0
# Anyone have permissions to writels -l /dev/ttyUSB0crw-rw-rw- 1 root dialout 188, 0 Feb 19 18:18 /dev/ttyUSB0Posibles problemas
- ¿No se reconoce mi ESP32?
- Verifica que el cable que estás usando para la conexión transmita datos
- Verifica los permisos del puerto usb
- Podrían ser los drivers de tu ESP32
Resumen
- Instalar drivers (en caso de ser necesario)
- Instalar Board
- Instalar Bibliotecas
esptool.py
Serial utility for flashing, provisioning, and interacting with Espressif SoCs
Instalación en Linux
Opción pipx
- Particularmente, la que prefiero
# Instalar pipxsudo apt install pipx
# Instalar frida-tools <herramienta>pipx install esptool
# Solamente si no lo detecta el PATHpipx ensurepath # Note: '/home/user/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it, or manuallyOpción pyenv
# Virtual Environment Installationpython -m venv esptoolenv
# Activate Virtual Environmentsource esptoolenv/bin/activate
# Instalarpip install esptool
# deactivate Virtual EnvironmentdeactivateComandos útiles
Obtener información de tu ESP32
esptool.py flash_id
# sptool.py v4.9.0# Found 2 serial ports# Serial port /dev/ttyUSB0# Connecting....# Detecting chip type... Unsupported detection protocol, switching and trying again...# Connecting....# Detecting chip type... ESP32# Chip is ESP32-D0WD-V3 (revision v3.1)# Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None# Crystal is 40MHz# MAC: 14:20:2f:fd:22:34# Uploading stub...# Running stub...# Stub running...# Manufacturer: 85# Device: 2016# Detected flash size: 4MB# Flash voltage set by a strapping pin to 3.3V# Hard resetting via RTS pin...Respaldar firmware de ESP32
- Los parametros pueden cambiar dependiendo del
Detected flash size: 4MB
# Save 1MByte or 8Mbit Flashesptool.py --baud 115200 --port /dev/ttyUSB0 read_flash 0x0 0x100000 fw-backup-1M.bin
# Save 4MByte or 32Mbit Flashesptool.py --baud 115200 --port /dev/ttyUSB0 read_flash 0x0 0x400000 fw-backup-4M.bin
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Restore 1MByte or 8Mbit Flashesptool.py --baud 115200 --port /dev/ttyUSB0 write_flash 0x0 fw-backup-1M.bin
# Restore 4MByte or 32Mbit Flashesptool.py --baud 115200 --port /dev/ttyUSB0 write_flash 0x0 fw-backup-4M.binMonitorear Arduino/ESP32/otros a través del puerto Serial
Screen
# Instalar screensudo apt install screen
# Iniciarloscreen /dev/ttyUSB0 115200
# Iniciarlo y guardar los logsscreen -L -Logfile archivo.log /dev/ttyUSB0 115200
# Cerrar el programa presionarCTRL+A\# YESOtra forma de guardar
- You can also use
Ctrl + A,Hto save loggings into a screenlog.n file. - And one more
Ctrl + A,Hto turn it off. Ctrl + A, H: Begins/ends logging of the current window to the file “screenlog.n”.
Conectar un botón con ezButton
Código
#include <ezButton.h>ezButton button(5); // Defining GPIO5
void setup() { Serial.begin(9600); button.setDebounceTime(100); // It setting debounce time pinMode(5, INPUT_PULLUP); // It enables an internal pull-up resistor Serial.println("Listo");}
void loop() { button.loop(); if (button.isPressed()) { Serial.println("Boton presionado ===================="); }}Diagrama
- Botón => GND
- Botón => GPIO5
Links
Drivers ESP32
Error: Permission denied: ‘/dev/ttyUSB0’
En caso de que te haga falta alguna libreria al momento de compilar
esptool.py
Save and restore firmware of ESP32
Save output screen command
Nota final¡Gracias por terminar de leer este artículo! uwur
— El Capitán
¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?
Puedes encontrarme en:
Arduino IDE para ESP32
https://elcaza.github.io/posts/maker/arduino_esp32/