This is an old revision of the document!
Table of Contents
ESP32
ARDUINO IDE
Nos descargamos la última versión de Arduino IDE, tiene que ser por encima de la 1.6
Descargamos un plugin para poder conectar con esp32:
https://github.com/espressif/arduino-esp32
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md
Ponemos esta URL en file > preferences > Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
Ahora vamos a tools > Board: “Arduino Uno” y seleccionamos Boards Manager. Buscamos esp32 y damos a install
En Tools > Board: “Arduino Uno” > ESP32 Arduino
Reiniciamos Arduino. Nos aseguramos que python apunte a python3 instalando python-is-python3
sudo apt install python-is-python3
Código de ejemplo. Conecta a wifi y nos da la ip. Una vez subido tenemos que reiniciar esp32 (desconectando usb)
#include <WiFi.h> // Include the Wi-Fi library const char* ssid = "pitufina"; // The SSID (name) of the Wi-Fi network you want to connect to const char* password = "reyvisigodo"; // The password of the Wi-Fi network void setup() { Serial.begin(115200); // Start the Serial communication to send messages to the computer delay(10); Serial.println('\n'); WiFi.begin(ssid, password); // Connect to the network Serial.print("Connecting to "); Serial.print(ssid); while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect delay(500); Serial.print('.'); } Serial.println('\n'); Serial.println("Connection established!"); Serial.print("IP address:\t"); Serial.println(WiFi.localIP()); // Send the IP address of the ESP8266 to the computer } void loop() { }
La salida que nos da es esta:
. Connection established! IP address: 192.168.1.97
Python
https://www.youtube.com/watch?v=fs10aqFTj8I
apt-get install esptool
Descargamos el firmware:
https://micropython.org/download/esp32/
Descargo este:
GENERIC : esp32-idf3-20210202-v1.14.bin
Para borrar la memoria. Si no sabemos el puerto, no lo ponemos y lo detecta, es /dev/ttyUSB0:
esptool erase_flash
esptool.py v2.8 Found 1 serial ports Serial port /dev/ttyUSB0 Connecting........_ Detecting chip type... ESP32 Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: f0:08:d1:d3:1e:98 Enabling default SPI flash mode... Erasing flash (this may take a while)... A fatal error occurred: ESP32 ROM does not support function erase_flash.
Da error. Subimos el firmware que hemos descargado. Tarda un poco. Debería devolver un prompt pero no hace nada:
esptool write_flash 0x1000 esp32-idf3-20210202-v1.14.bin
esptool.py v2.8 Found 1 serial ports Serial port /dev/ttyUSB0 Connecting....... Detecting chip type... ESP32 Chip is ESP32D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: f0:08:d1:d3:1e:98 Enabling default SPI flash mode... Configuring flash size... Auto-detected Flash size: 4MB Erasing flash... Took 2.39s to erase flash block Wrote 1445888 bytes at 0x00001000 in 140.5 seconds (82.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
Arduino IDE
https://github.com/espressif/arduino-esp32
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md
Ponemos esta URL en file > preferences > Additional Boards Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
Ahora vamos a tools > Board: “Arduino Uno” y seleccionamos Boards Manager. Buscamos esp32 y damos a install
En Tools > Board: “Arduino Uno” > ESP32 Arduino