Começando com a Labrador: mudanças entre as edições

De Caninos Loucos
Ir para navegação Ir para pesquisar
Linha 82: Linha 82:
Se ao aprender programar imprimimos "Hello World" na tela, na programação de SBCs vamos além: vamos fazer piscar 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.
Se ao aprender programar imprimimos "Hello World" na tela, na programação de SBCs vamos além: vamos fazer piscar 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 fazer os LED azul e verde da Labrador piscarem em um ritmo de batimento cardíaco (de acordo com a demanda de processamento da Labrador), abra o terminal e execute o seguinte comando:
Para 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), abra o terminal e execute o seguinte comando:


Na Labrador 32 bits:
Na Labrador 32 bits:

Edição das 17h13min de 19 de agosto de 2020

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!

Piscando um LED

Se ao aprender programar imprimimos "Hello World" na tela, na programação de SBCs vamos além: vamos fazer piscar 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 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), 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 heartbeat  > /sys/class/gpio/gpio63/value
sudo echo heartbeat  > /sys/class/gpio/gpio44/value

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: -- -- -- -- -- -- -- --