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

De Caninos Loucos
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(4 revisões intermediárias por um outro usuário não estão sendo mostradas)
Linha 170: Linha 170:
70: -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
</pre>
</pre>
== Programas do Linux ==
O ecossistema de pacotes do Linux, em especial para o Debian, é extremamente rico. Usando o gerenciador de pacotes [https://pt.wikipedia.org/wiki/Advanced_Packaging_Tool apt], bem como seu front-end [https://pt.wikipedia.org/wiki/Synaptic 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 [https://pt.wikipedia.org/wiki/Vim Vim] vem instalado por padrão em sistemas Debian. Apesar disso, sua versão reduzida e menos complicada de usar, o [https://en.wikipedia.org/wiki/GNU_nano 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 [https://pt.wikipedia.org/wiki/Gedit Gedit] e outros clones de Notepad são uma boa escolha para edições simples. Para edição de texto avançada, o [https://en.wikipedia.org/wiki/Atom_(text_editor) Atom] e o [https://pt.wikipedia.org/wiki/Visual_Studio_Code 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, [https://pt.wikipedia.org/wiki/LibreOffice LibreOffice], [https://pt.wikipedia.org/wiki/Mozilla_Thunderbird 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 [https://www.microsoft.com/en-us/microsoft-teams/download-app#desktopAppDownloadregion neste link]. Para instalá-lo basta clicar duas vezes no arquivo após baixar.
=== Jogos e Emuladores ===
Foram executados testes usando o emulador [https://pt.wikipedia.org/wiki/Dolphin_(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.
<pre>sudo apt-get update --allow-releaseinfo-change</pre>

Edição atual tal como às 19h01min de 19 de abril de 2023

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