Neste tutorial, veremos como instalar o IDE Arduino e o software CLI no Raspberry Pi e combinar os pontos fortes dos dois sistemas.
Verificar a configuração do sistema
Para saber qual a versão do IDE a descarregar e instalar, é necessário conhecer as especificidades do seu sistema. Em particular, a arquitetura do kernel (kernel Linux). Existem vários comandos possíveis.
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
O comando mais direto é determinar quantos bits estão codificados numa variável LONG.
getconf LONG_BIT
# result is 32 or 64
Instalar o IDE Arduino
Na página de transferência do Arduino, seleccione a versão correspondente ao seu sistema e transfira-a.
Pode efetuar este procedimento na linha de comandos. sabendo o nome do ficheiro arduino-1.8.19-linux.tar.xz
para o meu sistema aarch64 :arduino-1.8.19-linuxaarch64.tar.xz
wget https://downloads.arduino.cc/arduino-1.8.19-linuxaarch64.tar.xz
Navegue até ao arquivo e, em seguida, descomprima a pasta.
tar -xvf arduino-1.8.19-linuxaarch64.tar.xz rm arduino-1.8.19-linuxaarch64.tar.xz
Em seguida, instalar o software
cd arduino-1.8.19 sudo ./install.sh
Problema na ligação à porta série
Se tiver problemas em ligar-se à porta série do Arduino, poderá ter uma autorização limitada.
Verificar os direitos de acesso à porta série
ls -l /dev/ttyACM*
Saída
crw-rw---- 1 root dialout 166, 0 févr. 15 12:47 /dev/ttyACM0
De seguida, é necessário conceder direitos de leitura e escrita
sudo chmod a+rw /dev/ttyACM0
Bónus: Instalar o Arduino-CLI no Raspberry Pi
Se o seu sistema não tiver acesso a uma interface gráfica (headless, acesso SSH), pode utilizar linhas de comando para criar, compilar e carregar os seus scripts Arduino.
Outra ferramenta mais recente e poderosa é o Arduino-CLI, que pode ser instalado com o 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'
Atualizar a lista de cartões suportados
arduino-cli core update-index
Em seguida, instale o gestor de cartões
arduino-cli core install arduino:avr
Verificar as placas ligadas ao Raspberry Pi e anotar os nomes FQBN
arduino-cli board list
Criar um novo esboço
arduino-cli sketch new mysketch
Modificar o sketch com o código pretendido
nano mysketch/mysketch.ino
void setup() { Serial.begin(9600); Serial.println("System ready"); delay(1000); } void loop() { Serial.println("System running"); delay(500); }
Compilar o código especificando o nome do cartão (procurar o nome na coluna FQBN com
arduino-cli compile --fqbn arduino:avr:mega mysketch/
Descarregar o código para um cartão
arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:avr:mega mysketch/
Instalação de novas bibliotecas
arduino-cli lib install library_name
Para abrir um monitor de série, pode utilizar o Putty
sudo apt-get install putty putty-tools
sudo putty /dev/ttyACM0 -serial -sercfg 9600,8,n,1,N &
Adicionar URLs para gerir cartões ESP32 e ESP8266
Criar um ficheiro de configuração
arduino-cli config init
Modificar o ficheiro para adicionar os urls do mapa
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" ]
Em seguida, atualizar o 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
Instalar o gestor para ESP32 e ESP8266
arduino-cli core install esp32:esp32 arduino-cli core install esp8266:esp8266
Para descobrir o nome do fqbn a utilizar dependendo da placa arduino-cli listall esp32
arduino-cli compile --fqbn esp32:esp32:esp32 mysketch arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 mysketch