Compilação e Upload Headless de Programas Arduino em uma plataforma armhf

3

Atualmente estou executando meu ODROID U2 do Hardkernel com o ODUINO One (adições do Arduino Uno R3 &) em uma instalação sem cabeça e conecto ao ODROID U2 via SSH via LAN. Ele está rodando o Debian 7.1 armhf e tem todas as principais bibliotecas que são necessárias para compilar o software, mas nenhum X-Server está instalado.

Quando tento iniciar o ambiente de trabalho do Arduino por meio do comando de console arduino , ele exibe uma exceção Java dizendo que não tenho um X-Display.

Como eu iria compilar e carregar sem problemas programas do Arduino, se não através do comando arduino ?

    
por Big-Blue 24.12.2013 / 22:44

3 respostas

3

Algumas bibliotecas Java exigem um servidor X como parte de seu código de inicialização, quer o programa acabe sendo usado ou não.

Se você precisa de um servidor X apenas para ter um, você pode usar o Xvfb , que é o servidor X com um framebuffer virtual, ou seja, um servidor X que exibe apenas na memória e não se conecta a nenhum hardware.

Xvfb :1 -screen 0 1x1x8 &

Você precisa esperar um pouco depois de iniciar o Xvfb para que a exibição esteja disponível. Em um script, você pode dizer ao servidor X para iniciar algum programa quando estiver pronto.

mkfifo ready
xinit /bin/sh -c 'echo >ready; exec sleep 99999999' -- /usr/bin/Xvfb :1 -screen 0 1x1x8 &
read ready
export DISPLAY=:1
…
    
por 25.12.2013 / 00:22
0

O Arduino IDE é apenas GUI. Não pode ser executado a partir de uma linha de comando sozinha. Para começar, confira PlayGround . Basicamente, você precisa compilar a partir de um arquivo make, como uma alternativa à GUI do IDE. Há muitos outros recursos por aí sobre isso.

    
por 26.12.2013 / 05:03
0

link contém uma seção chamada "IDE do Arduino sem cabeça", que descreve o que você está tentando alcançar, mas no servidor Ubuntu 14.04 LTS.

    
por 25.09.2014 / 00:57