fbpixel
Etiquetas: ,

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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
uname -a #display os and kernel info
uname -a #display os and kernel info
uname -a #display os and kernel info
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cat /proc/version
cat /proc/version
cat /proc/version 
architecturekernel
i386/i486/i586/i686/armv7l32 bit
x86_64(Intel)/aarch64(Arm)/armv864 bit
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cat /proc/cpuinfo #cpu architecture
cat /proc/cpuinfo #cpu architecture
cat /proc/cpuinfo #cpu architecture

El comando más directo es deamnder cuántos bits están codificados en una variable LONG.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
getconf LONG_BIT
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# result is 32 or 64
# result is 32 or 64
 # 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.

arduino-ide-raspberry-pi-installation Instalación de Arduino IDE en Raspberry Pi

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget https://downloads.arduino.cc/arduino-1.8.19-linuxaarch64.tar.xz
wget https://downloads.arduino.cc/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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz
rm arduino-1.8.19-linuxaarch64.tar.xz
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz rm arduino-1.8.19-linuxaarch64.tar.xz
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz
rm arduino-1.8.19-linuxaarch64.tar.xz

A continuación, instale el software

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cd arduino-1.8.19
sudo ./install.sh
cd arduino-1.8.19 sudo ./install.sh
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ls -l /dev/ttyACM*
ls -l /dev/ttyACM*
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo chmod a+rw /dev/ttyACM0
sudo chmod a+rw /dev/ttyACM0
sudo chmod a+rw /dev/ttyACM0
arduino-ide-raspberry-pi-select-port Instalación de Arduino IDE en Raspberry Pi

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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'
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'
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli core update-index
arduino-cli core update-index
arduino-cli core update-index

A continuación, instala el gestor de tarjetas

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli core install arduino:avr
arduino-cli core install arduino:avr
arduino-cli core install arduino:avr

Compruebe las tarjetas conectadas a la Raspberry Pi y anote los nombres FQBN

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli board list
arduino-cli board list
arduino-cli board list
arduino-cli-raspberry-pi-board-list Instalación de Arduino IDE en Raspberry Pi

Crear un nuevo boceto

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli sketch new mysketch
arduino-cli sketch new mysketch
arduino-cli sketch new mysketch

Modifica el boceto con el código deseado

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano mysketch/mysketch.ino
nano mysketch/mysketch.ino
nano mysketch/mysketch.ino
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
void setup() {
Serial.begin(9600);
Serial.println("System ready");
delay(1000);
}
void loop() {
Serial.println("System running");
delay(500);
}
void setup() { Serial.begin(9600); Serial.println("System ready"); delay(1000); } void loop() { Serial.println("System running"); delay(500); }
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli compile --fqbn arduino:avr:mega mysketch/
arduino-cli compile --fqbn arduino:avr:mega mysketch/
arduino-cli compile --fqbn arduino:avr:mega mysketch/

Descargar el código en una tarjeta

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/

Instalación de nuevas bibliotecas

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli lib install library_name
arduino-cli lib install library_name
arduino-cli lib install library_name

Para abrir un monitor serie, puede utilizar Putty

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt-get install putty putty-tools
sudo apt-get install putty putty-tools
sudo apt-get install putty putty-tools
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
arduino-cli-raspberry-pi-putty Instalación de Arduino IDE en Raspberry Pi

Añadir URLs para gestionar tarjetas ESP32 y ESP8266

Crear un archivo de configuración

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli config init
arduino-cli config init
arduino-cli config init

Modifica el archivo para añadir las urls de los mapas

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /root/.arduino15/arduino-cli.yaml
sudo nano /root/.arduino15/arduino-cli.yaml
sudo nano /root/.arduino15/arduino-cli.yaml
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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"
]
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" ]
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli core update-index
arduino-cli core update-index
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli core install esp32:esp32
arduino-cli core install esp8266:esp8266
arduino-cli core install esp32:esp32 arduino-cli core install esp8266: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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch
arduino-cli-raspberry-pi-esp32 Instalación de Arduino IDE en Raspberry Pi

Fuentes