En este tutorial, vamos a ver cómo instalar el IDE de Arduino y el software CLI en la Raspberry Pi y combinar los puntos fuertes de los dos sistemas.
Compruebe la configuración de su sistema
Para saber qué versión del IDE debe descargar e instalar, necesita conocer las características específicas de su sistema. En particular, la arquitectura del núcleo (Linux kernel). Hay varios comandos posibles.
uname -a #display os and kernel info
cat /proc/version
architecture | kernel |
i386/i486/i586/i686/armv7l | 32 bit |
x86_64(Intel)/aarch64(Arm)/armv8 | 64 bit |
cat /proc/cpuinfo #cpu architecture
El comando más directo es deamnder cuántos bits están codificados en una variable LONG.
getconf LONG_BIT
# result is 32 or 64
Instalación del IDE de Arduino
En la página de descargas de Arduino, selecciona la versión correspondiente a tu sistema y descárgala.
Puedes realizar este procedimiento en la línea de comandos. conociendo el nombre del archivo arduino-1.8.19-linux.tar.xz
para mi sistema aarch64 :arduino-1.8.19-linuxaarch64.tar.xz
wget https://downloads.arduino.cc/arduino-1.8.19-linuxaarch64.tar.xz
Busque el archivo y descomprima la carpeta.
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz rm arduino-1.8.19-linuxaarch64.tar.xz
A continuación, instale el software
cd arduino-1.8.19 sudo ./install.sh
Problema de conexión al puerto serie
Si tiene problemas para conectarse al puerto serie del Arduino, es posible que tenga autorización limitada.
Comprobar los derechos de acceso al puerto serie
ls -l /dev/ttyACM*
Salida
crw-rw---- 1 root dialout 166, 0 févr. 15 12:47 /dev/ttyACM0
A continuación, debe conceder derechos de lectura y escritura
sudo chmod a+rw /dev/ttyACM0
Bonificación: Instalación de Arduino-CLI en Raspberry Pi
Si su sistema no tiene acceso a una interfaz gráfica (headless, acceso SSH), puede utilizar líneas de comandos para crear, compilar y cargar sus scripts Arduino.
Otra herramienta más reciente y potente es Arduino-CLI, que puedes instalar con el comando
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh mv bin/* Arduino/ cd Arduino chmod a+x arduino-cli alias arduino-cli='sudo ./arduino-cli'
Actualizar la lista de tarjetas compatibles
arduino-cli core update-index
A continuación, instala el gestor de tarjetas
arduino-cli core install arduino:avr
Compruebe las tarjetas conectadas a la Raspberry Pi y anote los nombres FQBN
arduino-cli board list
Crear un nuevo boceto
arduino-cli sketch new mysketch
Modifica el boceto con el código deseado
nano mysketch/mysketch.ino
void setup() { Serial.begin(9600); Serial.println("System ready"); delay(1000); } void loop() { Serial.println("System running"); delay(500); }
Compile el código especificando el nombre de la tarjeta (busque el nombre en la columna FQBN con
arduino-cli compile --fqbn arduino:avr:mega mysketch/
Descargar el código en una tarjeta
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/
Instalación de nuevas bibliotecas
arduino-cli lib install library_name
Para abrir un monitor serie, puede utilizar Putty
sudo apt-get install putty putty-tools
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
Añadir URLs para gestionar tarjetas ESP32 y ESP8266
Crear un archivo de configuración
arduino-cli config init
Modifica el archivo para añadir las urls de los mapas
sudo nano /root/.arduino15/arduino-cli.yaml
board_manager: additional_urls: [ "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json", "https://arduino.esp8266.com/stable/package_esp8266com_index.json" ]
A continuación, actualice el gestor
arduino-cli core update-index
acros2@acros2-desktop:~/Arduino$ arduino-cli core update-index Downloading index: package_index.tar.bz2 downloaded Downloading index: package_esp32_index.json downloaded Downloading index: package_esp8266com_index.json downloaded Downloading index: package_index.tar.bz2 downloaded Downloading index: package_esp32_index.json downloaded Downloading index: package_esp8266com_index.json downloaded
Instalación del gestor para ESP32 y ESP8266
arduino-cli core install esp32:esp32 arduino-cli core install esp8266:esp8266
Para averiguar el nombre fqbn a utilizar dependiendo de la placa arduino-cli listall esp32
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch