Preparando o Ambiente Linux para Arduino funcionar com Usuário comum

Para nós deixarmos as máquinas Linux na mão de crianças, vamos ter de criar contas de usuário para os alunos do Computação na Escola que sejam (a) contas comuns e não permitam que os alunos estraguem algo no sistema. Ao mesmo tempo esta conta tem que (b) possuir direitos suficientes para manipular dispositivos seriais conectados a uma porta serial via USB. Este conjunto de requisitos não é satisfeito por nenhum tipo de conta de usuário padrão em Linux, então vamos ter de configurar uma conta customizada para os alunos do CnE.

A literatura de Arduino em Linux está cheia de gente sugerindo rodar Arduino com direitos de root. Não vamos fazer isso.

Índice

Criar o usuário computacao e sua senha

Abra uma janela de terminal. Se não houver ícone de janela de comando no lançador: vá para símbolo do Ubunutu no canto superior do lançador, clique nele, e escreva ‘command’ no campo que tem lá. Vão parecer vários ícones de programas-sugestão. Clique no ícone da janela de comando.

Mude para modo superusuário (cuidado!):

sudo su

Crie uma nova conta de usuário comum:

adduser computacao

adduser vai solicitar várias informações. Insira as seguintes e dê [enter] para o resto:

  • senha: aluno
  • nome completo: Aluno de Computacao na Escola

A figura abaixo mostra o resultado:

Customiza-linux1.png

Incluir usuário comum nos grupos dialout e tty

Para a conta computacao poder acessar dispositivos de comunicação serial (é o que o Arduino faz de conta que é…) sem você ter de se tornar superusuário, ela necessita pertencer a dois grupos de usuários (aprenda mais sobre grupos Unix aqui: http://www.tutorialspoint.com/unix/unix-user-administration.htm) que podem usar dispositivos seriais em uma máquina Unix:

  • grupo dialout (usuários de modems)
  • grupo tty (usuários que acessam terminais diretamente)

Para incluir o usuário computacao nestes grupos, você, ainda como root, vai executar os seguintes comandos:

adduser computacao tty
adduser computacao dialout

Customiza-linux2.png

…alternativamete você pode também adicionar grupos ao usuário da seguinte forma:

usermod -a -G tty computacao
usermod -a -G dialout computacao

…tomando o cuidado de nunca esquecer o parâmetro -a de adicionar, senão o usuário será retirado dos outros grupos a que pertencer, o que terá conseqüências catastrróficas.

Teste se deu certo digitando vovamente:

adduser computacao tty

Deve aparecer uma mensagem de erro assim:

The user `computacao' is already a member of `dialout'.

Se esta mensagem apareceu, então deu certo!

Antes de mais nada, saia do modo superusuário:

exit

Logar na conta computacao e reconfigurar a IDE do Arduino para ter certeza de que tudo teve efeito

Esse passo parte da premissa de que a IDE do Arduino está instalada.
Caso não esteja, ainda como root no seu terminal, digite:
apt-get install arduino
  • Dê logout e logue novamente na conta computacao. Fazer novo login do zero é importante para que as mudanças de grupo tenham efeito em todos os níveis, não mude de usuário usando su -l.
  • Abra uma janela de comando. Provavelmente nesta conta não haverá ícone de janela de comando no lançador: vá para símbolo do Ubunutu no canto superior do lançador, clique nele, e escreva ‘command’ no campo que tem lá. Vão parecer vários ícones de programas-sugestão. Clique no ícone da janela de comando.
  • Com um Arduino conectado ao computador, inicie a IDE do Arduino em background:
arduino &

Eventualmente a IDE pode perguntar a você onde fica o sketchbook para programas Arduino. Indique o $HOME da conta computacao. Pode ser também que simplesmente crie um sketchbook nessa locação avisando com a mensgaem abaixo:

Mensagem-arduino-IDE1.png

Agora você vai testar se a IDE está adequadamente dando upload de novos firmwares ao Arduino e aproveitar para aprender a achar, instalar e dar upload do firmware FirmataPlus que é o cliente de comunicação Arduino/Scratch que vamos instalar em todos os Arduinos. Este teste servirá também para verificar se a conta computacao está podendo adequadamente acessar o Arduino e enviar streams para ele.

Para isso, saia da IDE do Arduino (File >> Exit)) e vá agora para nosso próximo tutorial: Preparando Arduino com FirmataPlus.

Apagar $home/.arduino.preferences.txt (pajelança do dia…)

Se você acabou de criar a conta computacao do jeito que está acima, tudo deveria funcionar sem problemas. Caso a conta já exista, a IDE do Arduino já esteja instalada e e ainda venham mensagens de erro quando você tenta dar upload de algum sketch para o Arduino, experimente a seguinte pajelança: Apague o arquivo preferences.txt da pasta com as configurações do arduino da sua conta:

rm ~/.arduino/preferences.txt

Reinicie a IDE do Arduino da linha de comando com:

arduino

A IDE, que não possui mais arquivo de configuração, vai perguntar onde está o sketchbook do Arduino. Indique a posição padrão: ~/sketchbook (diretório sketchbook logo abaixo de seu home: $HOME/sketchbook)

Mensagem-arduino-IDE1.png

Referências

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s