Começando com a Labrador

De Caninos Loucos
Ir para navegação Ir para pesquisar

Este artigo busca esclarecer o básico para o uso básico das placas Labrador. Caso você já possua familiaridade com o sistema Debian e com a SBC, o login e senha padrão da placa ao sair da fábrica são:

login: caninos
senha: caninos 

O que vem na caixa

Neste capítulo vamos conhecer um pouco mais sobre o hardware e o software contido na caixa da Labrador.

Hardware e acessórios inclusos

Ao abrir a caixa da Labrador, você irá encontrar uma Labrador dentro de um case de acrílico e uma fonte de alimentação. Note que a Labrador é composta de duas placas: a Core e a Base. A Tabela abaixo descreve e ilustra cada um dos componentes inclusos.

Item Descrição Foto
Labrador Coreboard Núcleo da Labrador, contém Processador e Memória.
Labrador Baseboard Placa com periféricos, ex.: USB, HDMI, GPIO, conector de energia.
Case de acrílico com espaçadores de nylon e parafusos Item para proteção da placa.
Fonte de alimentação 12V @ 1A Fornece energia elétrica na tensão e corrente corretas.

Ligando a Labrador

A principal maneira de usar a placa Labrador é conectando-a a um monitor HDMI e a um teclado e mouse USB, além da fonte de alimentação, para que possa ser usada como um dispositivo Linux comum. As próximas seções ensinam passo a passo como fazer isso.

Conectando teclado e mouse - USB

Para poder interagir com a Labrador, basta conectar teclado e mouse às interfaces USB disponíveis. Em geral, você poderá usar qualquer teclado e mouse USB.

Conectando o monitor - HDMI

A principal forma de visualizar a saída gráfica da Labrador é através de um monitor HDMI (High Definition Multimedia Interface). Você irá precisar de um cabo HDMI comum e de um monitor HDMI.

Caso seu monitor não possua entrada HDMI, mas possua DVI, a Labrador também funciona com adaptadores HDMI-para-DVI. Também já foram testadas entradas analógicas, como o VGA, que funciona com adaptadores HDMI-VGA que façam internamente a conversão digital-analógica.

Conectando a fonte de alimentação

O último passo relacionado à conexão de componentes físicos, antes de usar a placa, é conectar a fonte de alimentação. A fonte enviada na caixa aceita ambas as tensões 110V e 220V, e tem como saída 12V 1A de corrente contínua. Caso necessário, fontes alternativas com especificação equivalente podem ser usadas.


Agora, com o mouse, teclado e monitor já conectados, coloque a fonte de alimentação na tomada e conecte-a à Labrador. Se tudo ocorreu bem, você deverá ver o logo do Caninos Loucos, seguido da tela de login.

Usando o Debian

O sistema operacional incluso na placa Labrador é o Debian, uma distribuição Linux utilizada no mundo todo. Para o leitor leigo no assunto, há vários tutoriais de Linux na internet, ensinando o básico de como mexer na linha de comando, e até mesmo guias avançados para aproveitar o Linux ao máximo.

Login

Para começar, assumindo que você já ligou a placa e está na tela de login, o próximo passo é digitar "caninos" (sem as aspas), tanto para o usuário quanto para a senha, e clicar em "Login".

Acesso à Internet

Apesar de a Labrador possuir muitas aplicações para uso offline, conectá-la à Internet nos permite acessar websites, instalar bibliotecas e manter o sistema atualizado. Há duas formas principais, usando cabo de rede (Ethernet) ou a conexão sem-fio (Wi-Fi).

Ethernet

Para acessar a Internet usando cabo de rede, basta conectar o seu cabo de internet à entrada RJ45. Ao fazer isso com a placa ligada, observe também que o ícone de rede, no lado inferior direito da tela, irá carregar, até apontar que a conexão foi realizada com sucesso.

Wi-Fi

Como a Labrador já tem Wi-Fi embutido, basta acessar o menu de redes, escolher a sua rede, digitar a senha, e habilitar a conexão. Se for necessário especificar o tipo de segurança da rede, provavelmente será a opção "WPA2 Personal". Caso isso não funcione, peça ajuda à pessoa que realizou a configuração do seu roteador para descobrir os parâmetros corretos de configuração.

Verifique a conexão

Independente da forma como você se conectou à Internet, você agora pode testar a sua conexão. Uma forma simples de fazer isso é abrindo o Firefox e acessando o site http://caninosloucos.org. Já uma forma mais avançada é abrindo o terminal, digitando ip address e verificando se você tem um endereço IP válido. É útil saber o endereço IP, pois permite que nos comuniquemos com a Labrador, seja em uma aplicação IoT, seja durante o desenvolvimento. Por exemplo podemos acessar o terminal da Labrador via SSH (Secure Shell), evitando assim a necessidade de mantê-la sempre conectada a um teclado, mouse e monitor.

Crie seus próprios programas

A Labrador tem suporte para uma variedade de linguagens de programação, desde as mais baixo nível, como o C, até as mais alto nível e expressivas, como Python e NodeJS. Portanto deixe a sua criatividade florescer e crie seus próprios programas usando a Labrador. Ah, e não esqueça de compartilhar os seus projetos com a comunidade, no fórum Caninos Loucos!

Controlando um LED

Se ao aprender programar imprimimos "Hello World" na tela, na programação de SBCs vamos além: vamos fazer controlar um LED (Light Emitting Diode). Este exemplo é interessante pois demonstra que nossos programas, além de controlarem caracteres na tela ou bytes na rede, também podem controlar componentes físicos.

Para ligar os LEDs azul e verde da Labrador, abra o terminal e execute o seguinte comando:

Na Labrador 32 bits:

sudo echo 63 > /sys/class/gpio/export
sudo echo 44 > /sys/class/gpio/export
sudo echo out > /sys/class/gpio/gpio63/direction
sudo echo out > /sys/class/gpio/gpio44/direction
sudo echo 1 > /sys/class/gpio/gpio63/value
sudo echo 1 > /sys/class/gpio/gpio44/value

Também é possível fazer os LEDs azul e verde da Labrador piscarem em um ritmo de batimento cardíaco (de acordo com a demanda de processamento da Labrador).

Na Labrador 64 bits:

sudo chmod 777 /sys/class/leds/led1/trigger
sudo chmod 777 /sys/class/leds/led2/trigger
sudo echo heartbeat > /sys/class/leds/led1/trigger
sudo echo heartbeat > /sys/class/leds/led2/trigger

Programação GPIO

Uma interface interessante da Labrador são os pinos GPIO (General Purpose Input/Output), que são basicamente fios nos quais você pode enviar e receber dados. Para aprender como usar esta interface, confira o artigo principal Programação GPIO.

UART

Através dos pinos de GPIO é possível utilizar a comunicação serial UART na Labrador. Segue um pequeno exemplo de como acessar esse recurso:

1. Conectar um adaptador tty-usb em um computador e a Labrador, através dos pinos 8 e 10 e um GND.

2. Abrir um emulador de terminal no computador e definir o baud rate como 115200bps.

3. No terminal da Labrador entrar com os seguintes comandos:

sudo stty -F /dev/ttyS0 115200
sudo echo "Teste" > /dev/ttyS0

4. No emulador de terminal do computador aparecerá a palavra “Teste”

ADC

A Labrador também possui ADC, que significa Analogic-Digital Converter (Conversor Analógico-Digital). A ideia é ler um valor analógico, entre 0v e 3v e converter para digital, representado por um valor de 10 bits (1024 valores possíveis).

Para ler o valor do ADC, entre com o seguinte comando no terminal:

cat /sys/kernel/auxadc/adc0

A primeira parte do resultado é o timestamp do sistema, enquanto a segunda parte é o resultado em si.

PWM

No pino 12 do header de 40 pinos da Labrador é possível encontrar o PWM. Um exemplo de utilização desse recurso pode ser encontrado abaixo. Utilizando o terminal, digite:

sudo su
echo 0 > /sys/class/pwm/pwmchip0/export

Selecione o período do sinal PWM (em nanosegundos):

echo 2000000000 > /sys/class/pwm/pwmchip0/pwm0/period

Selecione o duty cycle (em nanosegundos).

echo 1000000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle

Ative (1) ou desative (0) o sinal PWM:

echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable


Com isso, a tensão no pino 12 variará entre 0v e 3v3 a cada 1 segundo.

I2C

Também encontramos pinos I2C na Labrador. A conexão é feita através dos pinos 3 (dados) e 5 (clock) do header de 40 pinos. Uma maneira de testar essa conexão e descobrir o endereço do seu dispositivo I2C é mostrada abaixo. No terminal, entrar com os seguintes comandos:

sudo apt install i2c-tools
sudo i2cdetect -y 2

A saída terá o seguinte formato onde, no exemplo, o endereço do dispositivo i2c é 60 (hexadecimal):

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Programas do Linux

O ecossistema de pacotes do Linux, em especial para o Debian, é extremamente rico. Usando o gerenciador de pacotes apt, bem como seu front-end Synaptic, podemos encontrar a grande maioria dos pacotes já compilados para esta distribuição, tanto livres quanto não-livres.

Editores de texto

O editor de texto de linha de comando Vim vem instalado por padrão em sistemas Debian. Apesar disso, sua versão reduzida e menos complicada de usar, o Nano é mais confortável de usar para usuários menos experientes com o terminal.

Para aqueles que preferem editores de texto com interface gráfica, o Gedit e outros clones de Notepad são uma boa escolha para edições simples. Para edição de texto avançada, o Atom e o VSCode executam, mas o processador sofre um pouco por causa da execução no Electron.

Aplicativos de Escritório

A Labrador pode ser usada como um pequeno e barato computador de escritório, suportando programas comuns como Firefox, LibreOffice, Thunderbird, bem como outros clientes de calendário e email livres. É possível rodar o Teams usando a opção de download do pacote no formato .deb presente neste link. Para instalá-lo basta clicar duas vezes no arquivo após baixar.

Jogos e Emuladores

Foram executados testes usando o emulador Dolphin para a emulação de jogos de GameCube e Wii. Mario Kart DD atinge 6-7 frames por segundo durante o jogo usando OpenGL e pré-compilação de shaders.

Muitos emuladores costumam ter suporte limitado à arquitetura ARM, logo é recomendado cuidado.

Servidor Web

Nginx Node.js

Java

Há suporte a Java, embora a versão 8 deva ser obtida por fora do APT, já que não está em seus repositórios.


Problemas Comuns

sudo apt-get update retorna "This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details"

Deve ser executado o comando seguinte para permitir a mudança de informações dos repositórios, como versões e atributos.

sudo apt-get update --allow-releaseinfo-change