Apuntes de Kirby
  • 👀whoami
  • 🦉Redes
    • Introducción Redes
      • Organizaciones
      • Historia
      • Puntos de conexión
      • Métodos de acceso a la red
    • Clasificación de las redes
    • Topología de las red
    • Direccionamiento IP
      • IPv4
        • Subredes IPv4
        • Superredes IPv4
        • VLSM
      • IPv6
      • MAC
      • NAT
    • Enrutamiento estático
    • Enrutamiento dinámico
      • RIPv1 & RIPv2
      • Tablas de enrutamiento
      • 🚧Redes conmutadas
    • CML
      • 🚧1er CML lab
    • CISCO
      • ¿Qué son las VLAN?
        • Ejemplo 1 de VLAN
        • Ejemplo 2 de VLAN
      • Acceso y password
      • NAT / PAT
    • Firewalls
      • Tipos de firewalls
      • ZPF
        • Funcionamiento
        • Configurando un ZPF
      • Sophos Firewall XG
        • Sophos home
        • Aprendiendo a usar Sophos
      • pfSense
        • Instalando pfSense
        • OpenVPN en pfSense
        • Port Forward
        • Alias
    • Proxy
      • Squid en pfSense
        • Squid Proxy Server
        • SquidGuard Proxy
      • Proxy reverse Nginx
    • 🚧Suricata
  • 🐝Servicios
    • Servidores Web
      • Nginx
        • NGINX, hosts virtuales
        • Hosts virtuales basados en dominio
        • PHP-FPM
        • Nginx: PHP y MySQL
          • MySQLi - PHP
        • En Alpine linux
        • 🚧Proxy
    • Servidores de correo
      • Seguridad en el correo
      • Postfix
      • hMailServer
      • Clientes de correo
        • Mailutils
        • Mutt
    • Servidores de FTP
      • FileZilla
      • VSFTPD
      • FTP vía IIS
    • Servidores DNS
      • DNS - Windows Server 2016
      • DNS - Ubuntu Server 22.04
      • Systemd
    • Servidores DHCP
      • DHCP-Windows Server 2016
      • DHCP-Ubuntu Server 22.04
    • Servidores MySQL
    • 🚧Mensajería instantánea
      • Ejabberd
    • 🚧Imágenes - Vídeos
      • FFMPEG + YT-DLP
      • Plex
      • Jellyfin
      • Plesk
      • RTMP
      • SRT
    • Webmin + Virtualmin
  • NextCloud
  • 🔑Seguridad
    • NAS
      • Instalación Synology NAS en VirtualBox
        • Creación de volúmenes y su uso
        • Actualización Synology NAS
        • Creación de usuarios y carpetas compartidas
        • Funciones del panel de control
          • Acceso por SSH
          • Configuración de los servicios de archivos
          • Configuración de red
          • Copias de seguridad (restauración)
          • Seguridad
          • Personalizar páginas de inicio
          • Servicio de notificaciones
        • Centro de paquetes Synology
          • Servidores multimedia
          • Paquetes de utilidades
          • Cloud Sync
          • Hyper Backup
          • Synology Office
      • Truenas
        • Rsync en Truenas
      • OpenmediaVault
    • Backups
      • Rsync
        • Ejemplo de rsync
    • ¿Qué son las ACL?
    • SOPS/AGE
    • RAID
      • mdadm
  • 🐳Virtualización
    • Proxmox
      • Instalar en VMWare
      • Instalar en VirtualBox
      • Entorno Proxmox
      • Almacenamiento local
      • Añadir discos
      • Clonar
      • Qemu agent
      • Linux container - LXC
      • Clúster
      • Red Interna
      • 🚧Proxmox Backup
      • 🚧Otras consideraciones
    • Alpine Linux
    • Contenedores
      • Docker
        • YAML
        • Instalando Docker
        • Portainer
          • Instalando Portainer
          • Dentro de Portainer
        • Docker volumen
        • Docker compose
          • Docker: PHP y MySQL
          • Importar sitio web en Docker
          • Instalando Wordpress
      • Pi-hole
        • Instalando Pi-hole en Docker
        • Instalando Pi-hole en Debian
        • RDP
          • RDP - Docker
  • 🐞Misceláneas
    • Datos - codificación
    • IPTables
    • Túnel con Cloudflare
    • Servidor de video
    • Comandos de Linux
    • Anaconda & Spyder
    • CGI - NGINX
    • Arduino
      • Capítulo 0 Blink
      • Capítulo 1 Led
      • Capítulo 2 Botton & LED
  • ⁉️Interesante
    • Curioso
    • Ideas
Powered by GitBook
On this page
  • Tinkercad
  • Arduino IDE
  • Instalar Arduino IDE en Ubuntu 22.04
  • Opción 1
  • Opción 2
  • Opción 3
  • ESP32-S3 WROOM GPIO
  • CH343
  • Configuración del entorno
  • Links

Was this helpful?

Edit on GitHub
  1. Misceláneas

Arduino

Apuntes de www.freenove.com

PreviousCGI - NGINXNextCapítulo 0 Blink

Last updated 1 year ago

Was this helpful?

Estos apuntes están tomados de: , más específicamente del libro: C_Tutorial.pdf. También te recomiendo tener en cuenta el material de Processing.pdf. Recuerda que no estoy plagiando nada, estoy aprendiendo y estos son mis notas de mi propio recorrido de aprendizaje. Mi intención es hacer un recorrido por Arduino utilizando la placa ESP32. Siempre dejo enlaces a los sitios web que me son útiles.

Veamos algunos aspectos previos.

Tinkercad

Es una colección online de herramientas de software de Autodesk que:

  • Permite crear modelos 3D.

  • Se basa en una geometría sólida constructiva (CSG).

  • Permite crear modelos complejos mediante la combinación de objetos más simples.

  • Fácil de usar y gratis.

  • Se puede utilizar para impresión 3D.

Lo puedes encontrar en su página oficial: y más adelante haremos un buen uso de ella.

Arduino IDE

Se trata de una suite de programación creado por los responsables de Arduino, que permite introducir el software en las placas Arduino. No solo es un editor de código sino que tiene un depurador y un compilador que nos facilita la creación del programa final y nos permite enviarlo a la memoria de la placa Arduino. Como es de esperar, existen muchos IDE gratuitos en Ubuntu, pero ninguno de ellos ofrece conexión con los modelos oficiales de placas Arduino.

Las últimas versiones de Arduino IDE han hecho que este programa sea más compatibilidad con los nuevos modelos de Arduino sino que también han mejorado sus funciones de IDE, dado que:

  • Permite tener una interfaz cloud que facilita la creación de un programa para Arduino en cualquier parte del mundo.

  • Arduino IDE admite conexión con todo tipo de programas, editores de código incluidos que nos facilitará el trabajo con el hardware de Arduino.

  • Es un software libre.

Ahora si vamos a instalar Arduino.

Instalar Arduino IDE en Ubuntu 22.04

Arduino IDE no se encuentra en los repositorios oficiales de Ubuntu por lo que tenemos que utilizar la web oficial de Arduino para descargar el IDE.

Nos vamos a descargar la última versión de Arduino IDE porque de este modo podemos cambiar en cualquier momento de placa y la versión lo soportará.

Opción 1

Vamos a Software > Download > Linux AppImage 64 bits (X86-64) y descargamos nuestro fichero: arduino-ide_nightly-20230908_Linux_64bit.AppImage.

Si te das cuenta está en formato AppImage y ¿qué es? Pues este formato tiene una gran ventaja sobre los otros formatos de paquetes tradicionales, dado que es universal. Es como si fuera una aplicación portable, donde el software se ejecuta con el archivo AppImage sin tener que hacer instalaciones, ni descomprimir archivos.

Otros beneficios de AppImage:

  • Se puede ejecutar en la mayoría de las distribuciones de Linux actuales

  • Es portable

  • Las aplicaciones están en modo de solo lectura.

  • Se puede ejecutar en versiones Live

  • No hay que instalar y compilar software

  • No es necesario el permiso de root dado que no se tocan los archivos del sistema

Para instalar el Arduino IDE desde el archivo .AppImage hacemos lo siguiente. Le damos permisos de ejecución al archivo de instalación y ejecutamos el comando:

chmod u+x arduino-ide_nightly-20230908_Linux_64bit.AppImage

Una vez que tiene los permisos de ejecución, ejecutamos desdela terminal ejecutar el comando:

./arduino-ide_nightly-20230908_Linux_64bit.AppImage

De inmediato nos preguntará si estamos de acuerdo con los términos y condiciones. Marcamos “Agree” y listo.

Opción 2

Opción 3

Actualizamos el sistema operativo:

sudo apt update
sudo apt upgrade
sudo apt install arduino

Y se nos instala la versión 1.8.19.

ESP32-S3 WROOM GPIO

La extension board GPIO de la placa ESP32-S3 WROOM nos permite utilizar el ESP32-S3 de un modo más sencillo. Las interfaces de hardware de ESP32-S3 WROOM se distribuyen de la siguiente manera:

Donde:

  • Verde - power supplied by the extension board

  • Rojo - GPIO pin

  • Azul más oscuro - LED indicator

  • Azul claro - GPIO interface of development board

  • Fucsia - External power supply

En la ESP32-S3, GPIO se trata de una interfaz para controlar el circuito periférico. En los proyectos que vamos a realizar aquí, solo utilizamos un cable USB para alimentar ESP32-S3 WROOM de forma predeterminada.

CH343

En el manual de referencia nos hablan del CH343 que es utilizado por el chip ESP32-S3 WROOM para descargar códigos. En dicho manual especifican qué hacer para asegurarnos que nos funciona todo bien en Windows y Mac pero no dice nada de Linux. De no hacerle caso a este, después te puedes encontrar con qué no podemos seleccionar el puerto de acceso al chip ESP32-S3. Al menos fue lo que me ocurrió.

Buscando en Google me encontré con la siguiente página que me dió la solución:

En dicho sitio nos dicen que los dispositivos CH340 USB no funcionan en la versión Ubuntu 22.04. En la versión 22.04 el soporte para dispositivos CH340 USB a adaptador serie no genera un /dev/ttyUSB0, cuando partimos de instalación limpia. En versiones anteriores, como es el caso de la 20.04, el soporte era nativo.

¿Qué ocurre? Que si conectamos una placa con el driver CH340 al USB no nos lista un puerto de escucha. Si vamos a la terminal y hacemos:

ls /dev no nos lista una entrada ttyUSB0.

Si hacemos lsusb nos devuelve algo como:

Bus 003 Device 002: ID 1a86:7523 QinHeng Electronics CH340 serial converter

También podemos comprobar que el módulo ch34x está cargado utilizando el comando:

lsmod

Parece ser (esto lo tengo que investigar) que existe un conflicto entre la identificación del producto con un chip basado en CH340 y el lector de pantalla Braille. En la página web que he consultado menciona el tema de la “pantalla Braille” y la necesidad de editar el fichero de reglas de brttty y hacer una modificación para asegurar que se soportan dispositivos CH340.Entonces editamos con nano y con permisos de root el archivo:

/usr/lib/udev/rules.d/85-brltty.rules

Buscamos la siguiente línea y la comentamos:

ENV{PRODUCT}=="1a86/7523/*", ENV{BRLTTY_BRAILLE_DRIVER}="bm", GOTO="brltty_usb_run"

Ya solo nos queda reiniciar el sistema y con esto ya tengo soporte para los dispositivos CH340.

Configuración del entorno

Lo primero es configurar la placa ESP32-S3 para poder trabajar con ella. Lo más importante es agregar el siguiente enlace en el apartado Additional boards manager URLs:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Ahora clicamos Boards Manager y escribimos esp32 y seleccionamos la versión 2.0.5,y he instalamos.

Una vez instalado el chip de la ESP32 hacemos click en “Tools” en el menú seleccionamos “Board: "Arduino Uno" y ya podremos ver la información de la ESP32.

En el menú que se despliega selecciona ESP32-S3 Dev Module y ya se debe tener acceso a la información de la placa.

Links

Vamos a descargar el ZIP: Software > Download > Linux > y lo descomprimimos en una carpeta (le podemos poner el nombre Arduino) y ejecutamos el archivo arduino-ide.

🐞
www.freenove.com
https://www.tinkercad.com
ZIP file 64 bits (X86-64)
https://fgcoca.github.io/Mis-notas-sobre-Linux-Ubuntu/ch340/
http://esp32.net/
https://www.tinkercad.com/
Arduino 1.8.19 instalado en Ubuntu 22.04
ESP32
Menú Tools de Arduino IDE
Preferencias en el menú de Arduino IDE
nstalando el software de la ESP32
Ya tenemos instalado el software de la ESP32
Sitio de descarga de Arduino IDE en
https://www.arduino.cc/en/software