<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.canisinc.com.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Augrm</id>
	<title>Caninos Loucos - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.canisinc.com.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Augrm"/>
	<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php/Especial:Contribui%C3%A7%C3%B5es/Augrm"/>
	<updated>2026-09-02T21:47:35Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=770</id>
		<title>Instalando um sistema 32 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=770"/>
		<updated>2025-05-12T17:32:56Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Labrador 32 bits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 4Gb&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V2.x siga as instruções de Labrador 32 bits, caso seja LABRADOR CORE V2.x siga as instruções contidas em [[Instalando um sistema 64 bits]].&lt;br /&gt;
&lt;br /&gt;
== Labrador 32 bits ==&lt;br /&gt;
[[Arquivo:recovery.png|thumb|400px|Botão Recovery]]&lt;br /&gt;
A instalação deve seguir conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1. Primeiramente você deve baixar a imagem em [https://downloads.caninosloucos.org/images/labrador_32_bits/ Labrador 32 bits]. Para este procedimento a imagem deverá ser a versão 0.12 ou superior.&lt;br /&gt;
&lt;br /&gt;
2. Depois você deve descompactar os arquivos.&lt;br /&gt;
&lt;br /&gt;
3. Após descompactar deve escrever a imagem em um cartão microSD utilizando o comando dd no Linux ou o software [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] no Windows. &lt;br /&gt;
&lt;br /&gt;
4. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de 3 segundos ou até o logo aparecer na tela e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
5. O sistema será iniciado a partir do cartão. Para conferir utilize o comando &amp;lt;code&amp;gt;$lsblk&amp;lt;/code&amp;gt;, o dispositivo em mmcblk0p1 (Cartão SD) deverá estar montado na raiz do sistema, e o dispositivo mmcblk2 (memória interna da labrador) pode estar ou não montada. &lt;br /&gt;
&lt;br /&gt;
6. Para instalar o sistema abra o terminal e execute o comando;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd install&lt;br /&gt;
&lt;br /&gt;
$ sudo ./install32_labrador.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Aguarde o processo ser finalizado, desligue a Labrador, remova o cartão SD e religue a placa.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=603</id>
		<title>Programação GPIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=603"/>
		<updated>2023-04-19T18:17:40Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página explica como programar as saídas GPIO (General Purpose Input/Output) da Labrador, que são basicamente pinos nos quais você pode enviar e receber dados. Para facilitar a programação, a placa Labrador segue a interface padrão para userspace para Linux embarcado. O tutorial desta página funciona tanto com a Labrador 32 quanto 64-bits.&lt;br /&gt;
&lt;br /&gt;
Além disso, possuímos uma biblioteca simplificada específica para as placas da linha Caninos Loucos e compatível com Python, chamada caninos-sdk, que pode ser encontrada [https://pypi.org/project/caninos-sdk/ neste link]&lt;br /&gt;
&lt;br /&gt;
== Configuração dos pinos ==&lt;br /&gt;
&lt;br /&gt;
A configuração de pinos para o cabeçalho de GPIO é a seguinte:&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 32-bits ===&lt;br /&gt;
[[File:40pinh.png|image|800px|caption Mapeamento do header de 40 pinos.]]&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 64 bits===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffff;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! Default Function&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Header Pin&lt;br /&gt;
! Default Function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE3&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE2&lt;br /&gt;
| 5&lt;br /&gt;
| 6&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB18&lt;br /&gt;
| 7&lt;br /&gt;
| 8&lt;br /&gt;
| UART0_TX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| UART0_RX&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC0&lt;br /&gt;
| 11&lt;br /&gt;
| 12&lt;br /&gt;
| GPIOB8&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC1&lt;br /&gt;
| 13&lt;br /&gt;
| 14&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC4&lt;br /&gt;
| 15&lt;br /&gt;
| 16&lt;br /&gt;
| GPIOD30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 17&lt;br /&gt;
| 18&lt;br /&gt;
| GPIOC6&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SDA&lt;br /&gt;
| 19&lt;br /&gt;
| 20&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC24&lt;br /&gt;
| 21&lt;br /&gt;
| 22&lt;br /&gt;
| GPIOC5&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SCK&lt;br /&gt;
| 23&lt;br /&gt;
| 24&lt;br /&gt;
| GPIOC23&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 25&lt;br /&gt;
| 26&lt;br /&gt;
| GPIOB19&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB16&lt;br /&gt;
| 27&lt;br /&gt;
| 28&lt;br /&gt;
| GPIOB14&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB15&lt;br /&gt;
| 29&lt;br /&gt;
| 30&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB10&lt;br /&gt;
| 31&lt;br /&gt;
| 32&lt;br /&gt;
| GPIOB13&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB0&lt;br /&gt;
| 33&lt;br /&gt;
| 34&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB1&lt;br /&gt;
| 35&lt;br /&gt;
| 36&lt;br /&gt;
| GPIOA28&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB2&lt;br /&gt;
| 37&lt;br /&gt;
| 38&lt;br /&gt;
| RESERVED&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 39&lt;br /&gt;
| 40&lt;br /&gt;
| RESERVED&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interface GPIO do Linux ==&lt;br /&gt;
O kernel Linux implementa em si uma solução de acesso à GPIO atraves de um modelo de criação e consumo de GPIO. Os drivers de criação são drivers como o controlador de GPIO que será detalhado nesta página, os consumidores são os drivers como sensores que utilizam estas linhas GPIO.&lt;br /&gt;
Dentro do kernel Linux existe uma estrutura de alocação e registradores dos pinos GPIO chamado gpiolib, esta estrutura cobre os drivers em nível de kernel e userspace. &lt;br /&gt;
As bibliotecas de espaço de usuário são, até a versão 4.7 do Kernel Linux a &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt; e a partir da versao 4.8 a &amp;lt;code&amp;gt;chardev&amp;lt;/code&amp;gt;. Embora a placa Labrador esteja atualmente no Kernel 4.19, ambas ainda são compatíveis e cobriremos o uso das duas interfaces de espaço de usuário.&lt;br /&gt;
&lt;br /&gt;
==Interface sysfs==&lt;br /&gt;
&lt;br /&gt;
Na interface sysfs o usuário tem acesso às GPIO através de arquivos exportados em &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt;. Para isso é necessário exportar um arquivo para cada GPIO, configurar a porta e escrever na mesma.&lt;br /&gt;
&lt;br /&gt;
===Identificando o número da GPIO===&lt;br /&gt;
No método sysfs utiliza-se o número absoluto das GPIO para exportá-las individualmente. A Labrador possui 5 grupos de GPIO (A, B, C, D e E). Cada um desses possui 32 pinos agrupados, portanto para indicar o valor absoluto do pino temos um offset dado pelo grupo mais o valor do pino, este offset seguem a lógica a seguir:&lt;br /&gt;
&lt;br /&gt;
*A: 0&lt;br /&gt;
*B: 32&lt;br /&gt;
*C: 64&lt;br /&gt;
*D: 96&lt;br /&gt;
*E: 128&lt;br /&gt;
&lt;br /&gt;
Portanto se quisermos acessar o pino 3 do header GPIO, no caso seria GPIOE3, portanto devemos exportar o pino GPIO 128+3=131. Isto seria feito com a seguinte linha de terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configurando a direção do pino ===&lt;br /&gt;
&lt;br /&gt;
Após exportado o pino devemos configurar a direção do mesmo entre input (&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;) ou output (&amp;lt;code&amp;gt;out&amp;lt;/code&amp;gt;). Para isto basta escrever no GPIO exportado o valor requerido. No nosso exemplo colocaremos como output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo out &amp;gt; /sys/class/gpio/gpio131/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Escrevendo ou lendo no pino ===&lt;br /&gt;
&lt;br /&gt;
Para escrever no pino configurado como output basta enviar o valor para o parâmetro &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; do pino. No nosso exemplo colocaremos o valor 1 no pino:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso o pino seja definido como input basta ler este mesmo arquivo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lendo um parâmetro ===&lt;br /&gt;
O comando &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; pode ser usado nestes arquivos de parâmetros para ler o que já foi configurado dos pinos ficamos então com os seguinte exemplo completos para configuração do pino GPIOE3 como output em alta e GPIOE2 como input:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export #Exportando GPIOE3&lt;br /&gt;
$ echo out &amp;gt; /sys/class/gpio/gpio131/direction #Definindo como output&lt;br /&gt;
$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value #Escrevendo o valor 1&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/direction #Lendo a direção do pino&lt;br /&gt;
out&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/value #Lendo o valor do pino&lt;br /&gt;
1&lt;br /&gt;
$ echo 130 &amp;gt; /sys/class/gpio/export #Exportando GPIOE2&lt;br /&gt;
$ echo in &amp;gt; /sys/class/gpio/gpio130/direction #Definindo como input&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/value #Lendo o valor do pino&lt;br /&gt;
0&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/direction #Lendo a direção do pino&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interface chardev==&lt;br /&gt;
A interface chardev é a interface padrão do kernel Linux a partir do kernel 4.8 e compatível com a Labrador 64-bits, apesar de esta solução não permitir o uso de comandos padrão do terminal linux para controle da gpio como &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; usados anteriormente, esta API utiliza a biblioteca [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] que provê uma série de ferramentas para uso em terminal e também para uso em C, com bibliotecas de [https://github.com/brgl/libgpiod/tree/master/bindings vinculações] disponíveis em [https://github.com/brgl/libgpiod/tree/master/bindings/cxx C++] e [https://pypi.org/project/gpio-next/ Python]. A solução chardev é mais simples, elegante e robusta que a sysfs.&lt;br /&gt;
&lt;br /&gt;
Para instalar a biblioteca libgpiod no Debian Buster (10), execute: &amp;lt;pre&amp;gt;sudo apt install gpiod libgpiod-dev libgpiod-doc&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Identificando o número da GPIO ===&lt;br /&gt;
Para o chardev os diferentes controladores de GPIO possuem pastas diferentes, chamados gpiochip. No caso temos A=0, B=1, C=2, D=3, E=4.&lt;br /&gt;
Portanto, os pinos agora serão definidos pelo controlador e pela linha dentro do mesmo. &lt;br /&gt;
&lt;br /&gt;
=== libgpiod no terminal ===&lt;br /&gt;
==== gpiodetect ====&lt;br /&gt;
Os controladores podem ser identificados com o comando &amp;lt;code&amp;gt;gpiodetect&amp;lt;/code&amp;gt; disponível pelo &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpiodetect&lt;br /&gt;
gpiochip0 [209c000.gpio] (32 lines)&lt;br /&gt;
gpiochip1 [20a0000.gpio] (32 lines)&lt;br /&gt;
gpiochip2 [20a4000.gpio] (32 lines)&lt;br /&gt;
gpiochip3 [20a8000.gpio] (32 lines)&lt;br /&gt;
gpiochip4 [20ac000.gpio] (32 lines)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioinfo ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt; fornece as informações dos pinos de cada controlador, por exemplo para exemplos dos pinos do controlador E:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioinfo 0&lt;br /&gt;
        line   0:      unnamed       unused   input  active-high&lt;br /&gt;
        line   1:      unnamed       unused   input  active-high&lt;br /&gt;
        line   2:      unnamed       unused   input  active-high&amp;lt;/pre&amp;gt;&lt;br /&gt;
No caso, nenhum destes pinos está em utilização.&lt;br /&gt;
&lt;br /&gt;
==== gpioget ====&lt;br /&gt;
Os pinos estão configurados como entrada por padrão, para acessar os valores de entrada dos pinos basta utilizar o comando &amp;lt;code&amp;gt;gpioget&amp;lt;/code&amp;gt;, no exemplo o pino GPIOE3 (controlador 4, pino 3)&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioget 4 3&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioset ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt; muda a direção para output e define o valor do mesmo, no exemplo definiremos o GPIOE3 para alto:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioset 4 3=1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpiomon ====&lt;br /&gt;
Este comando é utilizado para interrupções e eventos, ele monitorará o pino para mudanças e retornará as mudanças encontradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$gpiomon 4 3&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    322.073816438]&lt;br /&gt;
event: FALLING EDGE offset: 3 timestamp: [    323.467289198]&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    324.245127683]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilizando chardev em C ===&lt;br /&gt;
&lt;br /&gt;
A API chardev facilita o uso em programas em C, alguns exemplos podem ser encontrados com facilidade, como [https://github.com/starnight/libgpiod-example estes].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_64_bits&amp;diff=602</id>
		<title>Instalando um sistema 64 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_64_bits&amp;diff=602"/>
		<updated>2023-04-19T18:04:09Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Labrador 64 bits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 8Gb&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V3.x siga as instruções de Labrador 64 bits, caso seja LABRADOR CORE V2.x siga as instruções contidas em [[Instalando um sistema 32 bits]].&lt;br /&gt;
&lt;br /&gt;
== Labrador 64 bits ==&lt;br /&gt;
[[Arquivo:recovery64.jpg|thumb|400px|Botão Recovery]]&lt;br /&gt;
A instalação deve seguir conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1. Primeiramente você deve baixar a imagem em [https://downloads.caninosloucos.org/images/labrador_64_bits/ Labrador 64 bits].&lt;br /&gt;
&lt;br /&gt;
2. Depois você deve descompactar os arquivos.&lt;br /&gt;
&lt;br /&gt;
3. Após descompactar deve escrever a imagem em um cartão microSD utilizando o comando dd no Linux ou o software [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] no Windows. &lt;br /&gt;
&lt;br /&gt;
Exemplo de uso do dd no Linux:  &amp;lt;code&amp;gt;sudo dd if=lab64_v0.7.img of=/dev/mmcblk0p1 bs=8M status=progress&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
⚠️ Atenção: tome cuidado com o parâmetro &amp;lt;code&amp;gt;of&amp;lt;/code&amp;gt;, dependendo do valor poderá apagar ou corromper o seu sistema.&lt;br /&gt;
&lt;br /&gt;
4. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de 3 segundos ou até o logo aparecer na tela e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
5. O sistema será iniciado a partir do cartão. Para conferir utilize o comando &amp;lt;code&amp;gt;$lsblk&amp;lt;/code&amp;gt;, o dispositivo em mmcblk0p1 (Cartão SD) deverá estar montado na raiz do sistema, e o dispositivo mmcblk2 (memória interna da labrador) pode estar ou não montada. &lt;br /&gt;
&lt;br /&gt;
6. Para instalar o sistema abra o terminal e execute o comando;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd install&lt;br /&gt;
&lt;br /&gt;
$ sudo ./install.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Caso a Labrador já possua um sistema instalado previamente em sua memória interna, será necessário confirmar para que o processo de atualização continue.&lt;br /&gt;
&lt;br /&gt;
8. Aguarde o processo ser finalizado, remova o cartão SD e reinicie a Labrador.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=579</id>
		<title>Instalando um sistema 32 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=579"/>
		<updated>2022-10-06T18:37:06Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 4Gb&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V2.x siga as instruções de Labrador 32 bits, caso seja LABRADOR CORE V2.x siga as instruções contidas em [[Instalando um sistema 64 bits]].&lt;br /&gt;
&lt;br /&gt;
== Labrador 32 bits ==&lt;br /&gt;
[[Arquivo:recovery.png|thumb|400px|Botão Recovery]]&lt;br /&gt;
A instalação deve seguir conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1. Primeiramente você deve baixar a imagem em [https://downloads.caninosloucos.org/images/labrador_32_bits/ Labrador 32 bits]. Para este procedimento a imagem deverá ser a versão 0.12 ou superior.&lt;br /&gt;
&lt;br /&gt;
2. Depois você deve descompactar os arquivos.&lt;br /&gt;
&lt;br /&gt;
3. Após descompactar deve escrever a imagem em um cartão microSD utilizando o comando dd no Linux ou o software [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] no Windows. &lt;br /&gt;
&lt;br /&gt;
4. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de 3 segundos ou até o logo aparecer na tela e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
5. O sistema será iniciado a partir do cartão. Para conferir utilize o comando &amp;lt;code&amp;gt;$lsblk&amp;lt;/code&amp;gt;, o dispositivo em mmcblk0p1 (Cartão SD) deverá estar montado na raiz do sistema, e o dispositivo mmcblk2 (memória interna da labrador) pode estar ou não montada. &lt;br /&gt;
&lt;br /&gt;
6. Para instalar o sistema abra o terminal e execute o comando;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd install&lt;br /&gt;
&lt;br /&gt;
$ sudo ./install-32bits.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Aguarde o processo ser finalizado, desligue a Labrador, remova o cartão SD e religue a placa.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Come%C3%A7ando_com_a_Labrador&amp;diff=576</id>
		<title>Começando com a Labrador</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Come%C3%A7ando_com_a_Labrador&amp;diff=576"/>
		<updated>2022-08-24T14:58:26Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;login: caninos&lt;br /&gt;
senha: caninos &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= O que vem na caixa =&lt;br /&gt;
&lt;br /&gt;
Neste capítulo vamos conhecer um pouco mais sobre o hardware e o software contido na caixa da Labrador.&lt;br /&gt;
&lt;br /&gt;
== Hardware e acessórios inclusos ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#c0c0c0;&amp;quot; | Item&lt;br /&gt;
! style=&amp;quot;background-color:#c0c0c0;&amp;quot; | Descrição&lt;br /&gt;
! style=&amp;quot;background-color:#c0c0c0; text-align: center&amp;quot; | Foto&lt;br /&gt;
|-&lt;br /&gt;
| Labrador Coreboard&lt;br /&gt;
| Núcleo da Labrador, contém Processador e Memória.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [[Arquivo:CoreBoard-v2-front.png|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| Labrador Baseboard&lt;br /&gt;
| Placa com periféricos, ex.: USB, HDMI, GPIO, conector de energia.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [[Arquivo:Base-frente.png|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| Case de acrílico com espaçadores de nylon e parafusos&lt;br /&gt;
| Item para proteção da placa.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [[Arquivo:Case-labrador.jpeg|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| Fonte de alimentação 12V @ 1A&lt;br /&gt;
| Fornece energia elétrica na tensão e corrente corretas.&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [[Arquivo:Fonte-labrador.jpg|200px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Ligando a Labrador =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Conectando teclado e mouse - USB ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Conectando o monitor - HDMI ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
== Conectando a fonte de alimentação ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Usando o Debian =&lt;br /&gt;
&lt;br /&gt;
O sistema operacional incluso na placa Labrador é o Debian, uma distribuição Linux utilizada no mundo todo. Para o leitor leigo no assunto, [http://www.devfuria.com.br/linux/como-iniciar-no-linux/ há vários tutoriais de Linux na internet], ensinando o básico de [https://sempreupdate.com.br/como-funciona-a-linha-de-comando-do-linux/ como mexer na linha de comando], e até mesmo [https://hacker-tools.github.io/lectures/ guias avançados para aproveitar o Linux ao máximo].&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
Para começar, assumindo que você já ligou a placa e está na tela de login, o próximo passo é digitar &amp;quot;caninos&amp;quot; (sem as aspas), tanto para o usuário quanto para a senha, e clicar em &amp;quot;Login&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Acesso à Internet ==&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== Ethernet ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;WPA2 Personal&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
=== Verifique a conexão ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;ip address&amp;lt;/code&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
== Crie seus próprios programas ==&lt;br /&gt;
&lt;br /&gt;
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 [https://forum.caninosloucos.org.br/ fórum Caninos Loucos]!&lt;br /&gt;
&lt;br /&gt;
=== Controlando um LED ===&lt;br /&gt;
&lt;br /&gt;
Se ao aprender programar imprimimos &amp;quot;Hello World&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Para ligar os LEDs azul e verde da Labrador, abra o terminal e execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
Na Labrador 32 bits:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo 63 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo 44 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo out &amp;gt; /sys/class/gpio/gpio63/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo out &amp;gt; /sys/class/gpio/gpio44/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo 1 &amp;gt; /sys/class/gpio/gpio63/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo 1 &amp;gt; /sys/class/gpio/gpio44/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Na Labrador 64 bits:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod 777 /sys/class/leds/led1/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod 777 /sys/class/leds/led2/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo heartbeat &amp;gt; /sys/class/leds/led1/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo heartbeat &amp;gt; /sys/class/leds/led2/trigger&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Programação GPIO ===&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== UART ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
1. Conectar um adaptador tty-usb em um computador e a Labrador, através dos pinos 8 e 10 e um GND.&lt;br /&gt;
&lt;br /&gt;
2. Abrir um emulador de terminal no computador e definir o baud rate como 115200bps.&lt;br /&gt;
&lt;br /&gt;
3. No terminal da Labrador entrar com os seguintes comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo stty -F /dev/ttyS0 115200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo echo &amp;quot;Teste&amp;quot; &amp;gt; /dev/ttyS0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. No emulador de terminal do computador aparecerá a palavra “Teste”&lt;br /&gt;
&lt;br /&gt;
=== ADC ===&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Para ler o valor do ADC, entre com o seguinte comando no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;cat /sys/kernel/auxadc/adc0&amp;lt;/pre&amp;gt;&lt;br /&gt;
A primeira parte do resultado é o timestamp do sistema, enquanto a segunda parte é o resultado em si.&lt;br /&gt;
&lt;br /&gt;
=== PWM ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo su&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 0 &amp;gt; /sys/class/pwm/pwmchip0/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selecione o período do sinal PWM (em nanosegundos):&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 2000000000 &amp;gt; /sys/class/pwm/pwmchip0/pwm0/period&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selecione o duty cycle (em nanosegundos).&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 1000000000 &amp;gt; /sys/class/pwm/pwmchip0/pwm0/duty_cycle&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ative (1) ou desative (0) o sinal PWM:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo 1 &amp;gt; /sys/class/pwm/pwmchip0/pwm0/enable&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, a tensão no pino 12 variará entre 0v e 3v3 a cada 1 segundo.&lt;br /&gt;
&lt;br /&gt;
=== I2C ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install i2c-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo i2cdetect -y 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A saída terá o seguinte formato onde, no exemplo, o endereço do dispositivo i2c é 60 (hexadecimal):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f&lt;br /&gt;
00:          -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --&lt;br /&gt;
70: -- -- -- -- -- -- -- --&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=575</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=575"/>
		<updated>2022-08-24T14:50:23Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
Caso você esteja com uma placa Labrador e queira começar a utilizá-la, sugiro dar uma olhada no artigo [[Começando com a Labrador]]. &lt;br /&gt;
&lt;br /&gt;
== Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Abertura do Programa]]&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
***[[Thin Client]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 32 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***Inteligência Artificial&lt;br /&gt;
****[[Visão Computacional]]&lt;br /&gt;
****[[Tensorflow]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
***[[Configurando o Wi-Fi na linha de comando]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
**[[Programando a Pulga usando RIOT]]&lt;br /&gt;
**[[Programando a Pulga usando Mbed Compiler]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=573</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=573"/>
		<updated>2022-07-07T20:39:43Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Atualizando os repositórios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo ntpdate -u a.ntp.br&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd .local/share/remmina&amp;lt;br&amp;gt;&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
=== Conexão via WiFi ===&lt;br /&gt;
Esta configuração acima é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi sugerimos aguardar a conexão à internet antes de fazer a conexão. Isso pode ser feito criando um script para inicialização. Uma sugestão para este script seria:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste exemplo criamos este script no arquivo &amp;lt;code&amp;gt;tcstart.sh&amp;lt;/code&amp;gt; na home do usuário.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ touch ~/tcstart.sh&amp;lt;br&amp;gt;&lt;br /&gt;
$ sudo nano ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após criar o arquivo devemos rodar o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo chmod +x ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E finalmente substituir o comando do autostart para &amp;lt;code&amp;gt;@/home/caninos/tcstart.sh&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=571</id>
		<title>Abertura do Programa</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=571"/>
		<updated>2022-05-10T19:41:43Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O programa Caninos Loucos desenvolve uma família de Single Board Computers com projeto aberto e livre com o intuito de fomentar o desenvolvimento e aprendizagem de sistemas embarcados no Brasil.&lt;br /&gt;
É importante ressaltar que o termo livre não implica em gratuidade, visto que existem custos associados ao desenvolvimento e esforço de engenharia destas tecnologias, principalmente na parte de Hardware. Os benefícios deste modelo são inúmeros, mas em sua essência está a liberdade fundamental a todos os usuários que quiserem desenvolver algo a partir de nossa documentação, dado que contribuam com suas mudanças retornando à comunidade.&lt;br /&gt;
&lt;br /&gt;
O desafio do programa Caninos Loucos é alcançar a abertura do projeto com sustentabilidade. Temos um time de profissionais focados em discutir os próximos passos de abertura e desenvolver soluções em modelos de licenciamento e de sustentabilidade. Alguns destes profissionais tem trabalhado desde os primeiros conceitos do programa, acreditam nesses ideais de hardware e software livre e conseguiram trazer o projeto para onde estamos hoje.  &lt;br /&gt;
&lt;br /&gt;
Atualmente já temos boa parte de nosso software aberto e livre, que pode ser encontrado no nosso [https://github.com/caninos-loucos Github], as exceções ao que está disponível lá são binários de propriedade intelectual de terceiros, como desenvolvedores de certos subsistemas de nossas placas. Estas exceções também estão sendo tratadas através de contatos e negociação com as empresas detentoras dessas propriedades intelectuais.&lt;br /&gt;
Quanto ao hardware, o processo de abertura segue de maneira mais compassada, este desenvolvimento envolveu grandes investimentos de diferentes fontes e é necessária maior atenção para a sustentabilidade do modelo de desenvolvimento e licenciamento para que possamos manter a equipe de desenvolvimento da Caninos e seguir contribuindo com  novos projetos e aperfeiçoar os existentes. Criar um modelo novo como este de abertura sustentável é um processo árduo e custoso, mas que acreditamos ter que ser feito com bastante cuidado mirando não só o momento atual, mas também o futuro sustentável do programa.&lt;br /&gt;
&lt;br /&gt;
Para isso, seguiremos as [[Abertura do Programa#Diretrizes da Política de Abertura da Caninos Louco|diretrizes de abertura]] que determinamos garantirem esta sustentabilidade.&lt;br /&gt;
&lt;br /&gt;
Novas atualizações sobre o desenvolvimento e abertura do projeto serão listadas também nesta página. Caso acredite nestas aspirações e queira ajudar com o projeto, entre em contato conosco ou acesse a página [[Como contribuir]] nesta wiki.&lt;br /&gt;
&lt;br /&gt;
= Diretrizes da Política de Abertura da Caninos Loucos =&lt;br /&gt;
&lt;br /&gt;
Estas diretrizes de licenciamento do projeto Caninos Loucos foram formuladas a fim de disseminar o máximo de informações possível mantendo ainda um fluxo de receitas para manutenção do projeto.&lt;br /&gt;
&lt;br /&gt;
Em linhas gerais a Caninos Loucos segue um modelo de desenvolvimento direto, trabalhando com um núcleo de desenvolvedores. No entanto, reconhecemos que para atingir as metas do programa de disseminação de informação, é necessário uma política de abertura.&lt;br /&gt;
&lt;br /&gt;
Estas políticas reconhecem também que diferentes usuários da tecnologia desenvolvida pela Caninos Loucos terão diferentes necessidades com relação à abertura, assim como partes diferentes do sistema possuem níveis desejáveis de abertura distintos.&lt;br /&gt;
&lt;br /&gt;
Como um exemplo, reconhecemos que categorias como “Educação” e “Comercial” podem ser quebradas em diferentes níveis, no primeiro caso “Ensino Médio”, “Ensino Superior”, “Ensino Superior para Engenharia de Computação” e “Makers” são alguns exemplos. Similarmente, na categoria “Comercial” algumas empresas podem estar confortáveis em compartilhar suas modificações publicamente, enquanto outras não.&lt;br /&gt;
&lt;br /&gt;
Para abarcar estes diferentes níveis de mercado a Caninos Loucos seguirá um modelo de múltiplas licenças, composto por uma licença padrão que fornecida para os desenvolvimentos do projeto e a possibilidade de negociação de outras licenças a serem negociadas de acordo com as necessidades do licenciado.&lt;br /&gt;
&lt;br /&gt;
Outras partes do projeto, como software a nível de sistema operacional, seguirão as práticas de licenciamento originais do próprio software. Por exemplo, mudanças no kernel ou device drivers do serão submetidas aos repositórios do Linux (ou outros kernels, como BSD) de acordo com as estratégias de código aberto destes.&lt;br /&gt;
&lt;br /&gt;
No momento, o programa Caninos Loucos projetou uma família de placas. Cada uma destas placas poderá ter um nível diferente de abertura, mas a intenção é que pelo menos toda a informação necessária para suporte de software nas placas seja disponibilizada.&lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos encoraja o desenvolvimento de placas de expansão ou customizadas, fornecendo toda a documentação de exemplos para este tipo de projeto. Permissão para comercialização, manufatura ou sub-licenciamento destas placas exemplos podem ser negociados.&lt;br /&gt;
&lt;br /&gt;
A Caninos Loucos fornecerá também recursos de engenharia para terceiros que desejem desenvolver suas próprias placas, sob pagamento e licenças. Para estes contratos a licença a ser utilizada será negociada entre as partes envolvidas.&lt;br /&gt;
&lt;br /&gt;
Além disso, apenas placas produzidas pela Caninos Loucos, ou com licença específica, poderão utilizar os nomes e marcas da Caninos Loucos. Qualquer uso dos nomes e marcas registradas pela Caninos Loucos ou qualquer divulgação de compatibilidade com as placas Caninos Loucos sem permissão e homologação prévia não é autorizada. Esta medida busca garantir a compatibilidade e qualidade do programa.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=570</id>
		<title>Instalando um sistema 32 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=570"/>
		<updated>2022-04-19T20:54:23Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 4Gb&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V2.x siga as instruções de Labrador 32 bits, caso seja LABRADOR CORE V2.x siga as instruções contidas em [[Instalando um sistema 64 bits]].&lt;br /&gt;
&lt;br /&gt;
== Labrador 32 bits ==&lt;br /&gt;
[[Arquivo:recovery.png|thumb|400px|Botão Recovery]]&lt;br /&gt;
A instalação deve seguir conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1. Primeiramente você deve baixar a imagem em [http://downloads.caninosloucos.org/labrador_32_bits/ Labrador 32 bits]. Para este procedimento a imagem deverá ser a versão 0.12 ou superior.&lt;br /&gt;
&lt;br /&gt;
2. Depois você deve descompactar os arquivos.&lt;br /&gt;
&lt;br /&gt;
3. Após descompactar deve escrever a imagem em um cartão microSD utilizando o comando dd no Linux ou o software [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] no Windows. &lt;br /&gt;
&lt;br /&gt;
4. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de 3 segundos ou até o logo aparecer na tela e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
5. O sistema será iniciado a partir do cartão. Para conferir utilize o comando &amp;lt;code&amp;gt;$lsblk&amp;lt;/code&amp;gt;, o dispositivo em mmcblk0p1 (Cartão SD) deverá estar montado na raiz do sistema, e o dispositivo mmcblk2 (memória interna da labrador) pode estar ou não montada. &lt;br /&gt;
&lt;br /&gt;
6. Para instalar o sistema abra o terminal e execute o comando;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd install&lt;br /&gt;
&lt;br /&gt;
$ sudo ./install-32bits.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Aguarde o processo ser finalizado, desligue a Labrador, remova o cartão SD e religue a placa.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=546</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=546"/>
		<updated>2021-08-16T19:04:41Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Conexão via WiFi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd .local/share/remmina&amp;lt;br&amp;gt;&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
=== Conexão via WiFi ===&lt;br /&gt;
Esta configuração acima é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi sugerimos aguardar a conexão à internet antes de fazer a conexão. Isso pode ser feito criando um script para inicialização. Uma sugestão para este script seria:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste exemplo criamos este script no arquivo &amp;lt;code&amp;gt;tcstart.sh&amp;lt;/code&amp;gt; na home do usuário.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ touch ~/tcstart.sh&amp;lt;br&amp;gt;&lt;br /&gt;
$ sudo nano ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após criar o arquivo devemos rodar o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo chmod +x ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E finalmente substituir o comando do autostart para &amp;lt;code&amp;gt;@/home/caninos/tcstart.sh&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=545</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=545"/>
		<updated>2021-08-16T19:03:42Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd .local/share/remmina&amp;lt;br&amp;gt;&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
=== Conexão via WiFi ===&lt;br /&gt;
Esta configuração acima é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi sugerimos aguardar a conexão à internet antes de fazer a conexão. Isso pode ser feito criando um script para inicialização. Uma sugestão para este script seria:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste exemplo criamos este script no arquivo &amp;lt;code&amp;gt;tcstart.sh&amp;lt;/code&amp;gt; na come do usuário.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ touch ~/tcstart.sh&amp;lt;br&amp;gt;&lt;br /&gt;
$ sudo nano ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após criar o arquivo devemos rodar o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo chmod +x ~/tcstart.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E finalmente substituir o comando do autostart para &amp;lt;code&amp;gt;@/home/caninos/tcstart.sh&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=544</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=544"/>
		<updated>2021-08-16T18:56:12Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd .local/share/remmina&amp;lt;br&amp;gt;&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=543</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=543"/>
		<updated>2021-08-16T18:53:53Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&amp;lt;br&amp;gt;&lt;br /&gt;
 $ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina2.png&amp;diff=542</id>
		<title>Arquivo:Tela-remmina2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina2.png&amp;diff=542"/>
		<updated>2021-08-16T18:43:06Z</updated>

		<summary type="html">&lt;p&gt;Augrm: Augrm carregada uma nova versão de Arquivo:Tela-remmina2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=541</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=541"/>
		<updated>2021-08-16T18:38:56Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Demais Páginas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
== Demais Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Abertura do Programa]]&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
***[[Thin Client]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 32 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Visão Computacional]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
****[[Wiring K9]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
***[[Configurando o Wi-Fi na linha de comando]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
**[[Programando a Pulga usando Mbed Compiler]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Autostart.png&amp;diff=540</id>
		<title>Arquivo:Autostart.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Autostart.png&amp;diff=540"/>
		<updated>2021-08-16T18:37:12Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Arquivo-remmina.png&amp;diff=539</id>
		<title>Arquivo:Arquivo-remmina.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Arquivo-remmina.png&amp;diff=539"/>
		<updated>2021-08-16T18:37:05Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=538</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=538"/>
		<updated>2021-08-16T18:36:53Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:arquivo-remmina.png]]&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autostart.png]]&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Autologin.png&amp;diff=537</id>
		<title>Arquivo:Autologin.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Autologin.png&amp;diff=537"/>
		<updated>2021-08-16T18:36:14Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=536</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=536"/>
		<updated>2021-08-16T18:36:05Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizando o login da Labrador */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:autologin.png]]&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=535</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=535"/>
		<updated>2021-08-16T18:35:21Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Configurando sua conexão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.png]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.png]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.png]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina2.png&amp;diff=534</id>
		<title>Arquivo:Tela-remmina2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina2.png&amp;diff=534"/>
		<updated>2021-08-16T18:35:05Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina-config.png&amp;diff=533</id>
		<title>Arquivo:Tela-remmina-config.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina-config.png&amp;diff=533"/>
		<updated>2021-08-16T18:34:56Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina1.png&amp;diff=532</id>
		<title>Arquivo:Tela-remmina1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Arquivo:Tela-remmina1.png&amp;diff=532"/>
		<updated>2021-08-16T18:34:41Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=531</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=531"/>
		<updated>2021-08-16T18:31:27Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Configurando sua conexão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina1.jpg]]&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina-config.jpg]]&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Tela-remmina2.jpg]]&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=530</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=530"/>
		<updated>2021-08-16T18:02:04Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -q -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=529</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=529"/>
		<updated>2021-08-16T17:55:25Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
$ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=528</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=528"/>
		<updated>2021-08-16T17:51:26Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Automatizar a inicialização da máquina virtual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
 $ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito modificando a linha do autostart para:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;@while ! ping 8.8.8.8 -c 1; do sleep 0.5; done &amp;amp;&amp;amp; remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=527</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=527"/>
		<updated>2021-08-16T17:42:27Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Feito isto, ao ligar a placa o login ocorrerá automaticamente.&lt;br /&gt;
&lt;br /&gt;
== Automatizar a inicialização da máquina virtual ==&lt;br /&gt;
Para automatizar a inicialização do Thin Client inicialmente deveremos achar o arquivo da conexão criada no Remmina, para isso basta rodar os comandos abaixo para ver todas as conexões criadas. Neste caso temos apenas a conexão criada anteriormente, identificada pelo arquivo &amp;lt;code&amp;gt;1629132345709.remmina&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt; $ cd .local/share/remmina&lt;br /&gt;
 $ ls&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após termos o nome do arquivo, devemos editar o script de inicialização para conectar à essa máquina, para isso devemos editar o arquivo &amp;lt;code&amp;gt;~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt; e adicionar a linha &amp;lt;code&amp;gt;@remmina -c [caminho do arquivo .remmina]&amp;lt;/code&amp;gt; com o nome de arquivo encontrado anteriormente. Neste caso utilizamos novamente o nano com o comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $sudo nano ~/.config/lxsession/LXDE/autostart&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta configuração é recomendada para placas que ficarão conectadas à internet através da conexão ethernet, para placas com conexão WiFi é recomendado um tempo de espera antes da conexão, para que a interface WiFi se conecte antes de abrir a máquina virtual, isso pode ser feito adicionando a linha &amp;lt;code&amp;gt;@sleep 10&amp;lt;/code&amp;gt; antes do commando remmina no autostart, neste caso, 10s foi o suficiente nas nossas configurações WiFi.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=526</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=526"/>
		<updated>2021-08-16T17:07:35Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. &lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;br /&gt;
Para que o login ocorra automaticamente, basta editar o arquivo &amp;lt;code&amp;gt;/etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt; na Labrador, neste caso editaremos utilizando o comando abaixo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo nano /etc/lightdm/lightdm.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste arquivo devemos editar as linhas autologin-user e autologin-user-timeout nas configurações [Seat:*] conforme imagem abaixo. Neste caso, utilizando o login padrão da placa &amp;lt;code&amp;gt;caninos&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=525</id>
		<title>Thin Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Thin_Client&amp;diff=525"/>
		<updated>2021-08-16T17:03:29Z</updated>

		<summary type="html">&lt;p&gt;Augrm: Criou página com &amp;#039;= Protocolo de comunicação = Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na pla...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Protocolo de comunicação =&lt;br /&gt;
Neste tutorial conectaremos a placa Labrador como Thin Client através do protocolo RDP, utilizando a última versão do Debian instalado na placa. Assumimos portanto que você já tenha uma máquina remota para ser acessada pela Labrador e acesso à rede que ela está conectada. Este tutorial foi feito com a Labradr 32-bits, mas é compatível com os dois sistemas.&lt;br /&gt;
&lt;br /&gt;
=Preparando a Labrador=&lt;br /&gt;
&lt;br /&gt;
==Atualizando os repositórios==&lt;br /&gt;
&lt;br /&gt;
Antes de tudo temos de ter certeza que os repositórios estão atualizados, para isto basta abrir o terminal e rodar o comando abaixo. Isto pode levar alguns minutos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se é a primeira vez que a Labrador é ligada é possível que o relógio da mesma não esteja atualizado, neste caso existem duas possibilidades, conectar-se à internet e aguardar para que o relógio sincronize ou forçar a atualização através do comando abaixo (neste exemplo, atualizando para o dia 16 de Agosto de 2021, 13h).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo date -s &amp;quot;16 AUG 2021 13:00:00&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instalando o Remmina ==&lt;br /&gt;
Para acessar nossa máquina remota utilizaremos o [https://remmina.org Remmina] compatível com RDP, SSH, VNC, entre outros. Como comentado anteriormente, utilizaremos o protocolo RDP. Podemos instalar o Remmina e a camada de compatibilidade na Labrador através do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; $ sudo apt install remmina remmina-plugin-rdp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uma vez instalado, rode o comando &amp;lt;code&amp;gt;$ remmina&amp;lt;/code&amp;gt; para abrir a interface de usuário do programa.&lt;br /&gt;
&lt;br /&gt;
== Configurando sua conexão ==&lt;br /&gt;
Na tela do Remmina, clique em nova conexão ou utilize o atalho CTRL+N para criar a nova conexão.&lt;br /&gt;
&lt;br /&gt;
Coloque as configurações da sua máquina remota na nova janela, dê um nome à sua conexão e clique em &amp;quot;Save&amp;quot;. Recomendamos para fins de compatibilidade selecionar a opção &amp;quot;Use client resolution&amp;quot; no campo de resolução. Há diversas possibilidades e configurações a serem exploradas ao criar uma nova conexão, como pedir a senha ao entrar, logar em diferentes usuários na mesma máquina, entre outros. Explore as possibilidades que melhor encaixem com o perfil de seu sistema.&lt;br /&gt;
&lt;br /&gt;
Sua conexão aparecerá na tela do Remmina, recomendamos que teste antes de seguir os próximos passos.&lt;br /&gt;
&lt;br /&gt;
= Integrando a experiência de usuário =&lt;br /&gt;
Para uma experiência mais integrada, recomendamos automatizar o login no sistema principal da caninos e iniciar a conexão RDP automaticamente, seguindo os passos abaixo.&lt;br /&gt;
&lt;br /&gt;
== Automatizando o login da Labrador ==&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Lista_de_projetos&amp;diff=524</id>
		<title>Lista de projetos</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Lista_de_projetos&amp;diff=524"/>
		<updated>2021-08-16T16:25:53Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página busca listar projetos implementados com a Caninos Loucos Labrador e seus tutoriais.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;font-weight:bold;&amp;quot; | Nome do Projeto&lt;br /&gt;
! style=&amp;quot;font-weight:bold;&amp;quot; | Imagem de referência&lt;br /&gt;
|-&lt;br /&gt;
| [[Tanque/carrinho de controle remoto]]&lt;br /&gt;
| [[Arquivo:tanque-labrador.jpeg|300px]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Thin Client]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=523</id>
		<title>Instalando um sistema 32 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_32_bits&amp;diff=523"/>
		<updated>2021-06-29T18:11:57Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 8Gb&lt;br /&gt;
* Conversor Serial-TTL (não obrigatório)&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:recovery.png|thumb|400px|Botão Recovery]]&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V2.x siga as instruções de Labrador 32 bits, caso seja LABRADOR CORE V3.x siga as instruções contidas em [[Instalando um sistema 64 bits]].&lt;br /&gt;
&lt;br /&gt;
= Gravando uma nova imagem =&lt;br /&gt;
&lt;br /&gt;
Apesar de a Labrador já vir com o Debian instalado na memória interna, você pode gravar uma nova imagem, feita por você mesmo, ou baixada do site Caninos Loucos. A Labrador suporta boot a partir da memória interna e a partir de um SD Card, e as seções a seguir ensinam como gravar uma imagem em cada uma dessas mídias. A imagem atual disponibilizada pela Caninos Loucos está em: [http://downloads.caninosloucos.org/labrador_32_bits/ Labrador 32 bits].&lt;br /&gt;
&lt;br /&gt;
== Gravando no SD Card ==&lt;br /&gt;
&lt;br /&gt;
Tendo uma imagem compatível com a Labrador (ver http://downloads.caninosloucos.org.br/), siga os passos abaixo para gravá-la em um SD Card, de acordo com o sistema operacional do seu computador.&lt;br /&gt;
&lt;br /&gt;
=== Usando Linux ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Passo 1&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;Insira um cartão MicroSD no seu computador. O cartão deve ser maior que a imagem que você deseja gravar (geralmente 8 GB ou maior).&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Passo 2&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;Execute no terminal o seguinte comando: &amp;lt;pre&amp;gt; $ sudo dd if=&amp;lt;caminho/pra/imagem&amp;gt;.img of=/dev/&amp;lt;nome do device&amp;gt; status=progress bs=4M conv=fsync &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Onde &amp;lt;code&amp;gt;&amp;amp;lt;image&amp;amp;gt;&amp;lt;/code&amp;gt; deve ser substituído pelo nome da imagem, e &amp;lt;code&amp;gt;&amp;amp;lt;device&amp;amp;gt;&amp;lt;/code&amp;gt; pelo nome do seu SD Card (algo como sda, ou sdb).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Importante: Se você não sabe qual o &amp;lt;code&amp;gt;&amp;amp;lt;nome do device&amp;amp;gt;&amp;lt;/code&amp;gt; correto, peça ajuda! Um erro neste comando pode formatar o seu computador.&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usando Windows ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Passo 1&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;Insira um cartão MicroSD no seu computador. O cartão deve ser maior que a imagem que você deseja gravar (geralmente 8 GB ou maior).&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Passo 2&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;Formate o cartão MicroSD. Recomenda-se que seja utilizado um software de formatação adequado, neste tutorial estamos usando o SDFormatter v4.0, disponível [https://www.sdcard.org/downloads/formatter_4/ neste website]. Execute o software como administrador e clique no botão “Opção”. Na nova janela aberta, selecione a opção “RÁPIDA” em “FORMAT TYPE” e “ON” em “FORMAT SIZE ADJUSTMENT” e pressione “OK” para voltar à tela anterior. Selecione o Drive equivalente ao seu cartão SD e clique em “Formatar” para iniciar o processo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Importante: Se você não sabe qual o Drive correto, peça ajuda! Um erro neste comando pode formatar o seu computador.&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:win1.png|frame|none|alt=| Tela inicial do SDFormatter.]]&lt;br /&gt;
&lt;br /&gt;
[[File:win2.png|frame|none|alt=| Tela com as opções do SDFormatter.]]&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Passo 3&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;Para gravar a imagem no cartão SD, recomenda-se o uso de uma ferramenta de gravação. Neste tutorial, estamos usando o Win32DiskImager, encontrado [https://sourceforge.net/projects/win32diskimager/files/latest/download neste link]. Execute o programa como administrador, selecione o arquivo de imagem (descompactado) e clique no botão Write para iniciar o processo de gravação. Quando a barra de carregamento termina, o processo é concluído.&amp;lt;/p&amp;gt;&lt;br /&gt;
[[File:win3.png|frame|none|alt=| Tela do Win32DiskImager (botão para selecionar o caminho em vermelho).]]&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gravando na memória interna ==&lt;br /&gt;
&lt;br /&gt;
1. Caso tenha o conversor serial-ttl, conecte ele na labrador de acordo com as instruções em [https://wiki.caninosloucos.org.br/index.php/Labrador/Debug Debug]. &lt;br /&gt;
&lt;br /&gt;
2. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de dois segundos e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
===Com o conversor serial-tty=== &lt;br /&gt;
3.1 Caso veja a seguinte mensagem &#039;Booting Proccess Aborted&#039; na saída de debug, retire novamente a labrador da fonte, faça o passo anterior novamente, mas mantendo por menos tempo o botão de recuperação pressionado. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:labrador32_flash_aborted.png|600px|Falha ao realizar boot]]&lt;br /&gt;
&lt;br /&gt;
3.2 O processo de flash começará automaticamente e deve levar cerca de 90 minutos. Para verificar o progresso use o Debug pela serial.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:labrador32_flash_finished.png|400px|Instalação completa]]&lt;br /&gt;
&lt;br /&gt;
3.3 Após o fim do boot basta retirar o cartão SD e ligar a placa normalmente.&lt;br /&gt;
&lt;br /&gt;
===Sem o conversor serial-tty(Em edição, não utilizar)===&lt;br /&gt;
&lt;br /&gt;
1. Ao ligar a placa, entre no &#039;&#039;lxterminal&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
1.1 Em &#039;&#039;/media/caninos&#039;&#039;, se existir, copie todo conteúdo do diretório &#039;&#039;&#039;BOOT2&#039;&#039;&#039; para o diretório &#039;&#039;&#039;BOOT1&#039;&#039;&#039;. &lt;br /&gt;
 $ cp -r /media/caninos/BOOT2/* /media/caninos/BOOT1/&lt;br /&gt;
Caso não exista, copie o conteúdo de &#039;&#039;&#039;BOOT1&#039;&#039;&#039; para &#039;&#039;&#039;BOOT&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
2. Aguarde o processo ser finalizado, remova o cartão SD e reinicie a Labrador.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_64_bits&amp;diff=522</id>
		<title>Instalando um sistema 64 bits</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Instalando_um_sistema_64_bits&amp;diff=522"/>
		<updated>2021-06-29T18:11:32Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Para instalar um novo sistema na sua placa Labrador você vai precisar de:&lt;br /&gt;
* Labrador Coreboard + Baseboard&lt;br /&gt;
* Imagem do sistema em formato .img&lt;br /&gt;
* Cartão microSD de pelo menos 8Gb&lt;br /&gt;
&lt;br /&gt;
*Verifique o modelo da Labrador Coreboard, caso a versão seja LABRADOR CORE V3.x siga as instruções de Labrador 64 bits, caso seja LABRADOR CORE V2.x siga as instruções contidas em [[Instalando um sistema 32 bits]].&lt;br /&gt;
&lt;br /&gt;
== Labrador 64 bits ==&lt;br /&gt;
[[Arquivo:recovery64.jpg|thumb|400px|Botão Recovery]]&lt;br /&gt;
A instalação deve seguir conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1. Primeiramente você deve baixar a imagem em [http://downloads.caninosloucos.org/labrador_64_bits/ Labrador 64 bits].&lt;br /&gt;
&lt;br /&gt;
2. Depois você deve descompactar os arquivos.&lt;br /&gt;
&lt;br /&gt;
3. Após descompactar deve escrever a imagem em um cartão microSD utilizando o comando dd no Linux ou o software [https://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] no Windows. &lt;br /&gt;
&lt;br /&gt;
4. Remova a labrador da fonte de alimentação, insira o cartão SD na Labrador, mantenha o botão de recuperação da Coreboard (no canto superior esquerdo da Coreboard, próximo à etiqueta de número de série) pressionado, conecte a fonte de alimentação, espere próximo de 3 segundos ou até o logo aparecer na tela e solte o botão de recuperação.&lt;br /&gt;
&lt;br /&gt;
5. O sistema será iniciado a partir do cartão. Para conferir utilize o comando &amp;lt;code&amp;gt;$lsblk&amp;lt;/code&amp;gt;, o dispositivo em mmcblk0p1 (Cartão SD) deverá estar montado na raiz do sistema, e o dispositivo mmcblk2 (memória interna da labrador) pode estar ou não montada. &lt;br /&gt;
&lt;br /&gt;
6. Para instalar o sistema abra o terminal e execute o comando;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ cd install&lt;br /&gt;
&lt;br /&gt;
$ sudo ./install.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Caso a Labrador já possua um sistema instalado previamente em sua memória interna, será necessário confirmar para que o processo de atualização continue.&lt;br /&gt;
&lt;br /&gt;
8. Aguarde o processo ser finalizado, remova o cartão SD e reinicie a Labrador.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=520</id>
		<title>Abertura do Programa</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=520"/>
		<updated>2021-04-19T19:15:36Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O programa Caninos Loucos desenvolve uma família de Single Board Computers com projeto aberto e livre com o intuito de fomentar o desenvolvimento e aprendizagem de sistemas embarcados no Brasil.&lt;br /&gt;
É importante ressaltar que o termo livre não implica em gratuidade, visto que existem custos intensos associados ao desenvolvimento e esforço de engenharia destas tecnologias, principalmente na parte de Hardware. Os benefícios deste modelo são inúmeros, mas em sua essência está a liberdade fundamental a todos os usuários que quiserem desenvolver algo a partir de nossa documentação, dado que contribuam com suas mudanças retornando à comunidade.&lt;br /&gt;
&lt;br /&gt;
O desafio do programa Caninos Loucos é alcançar a abertura do projeto com sustentabilidade. Temos um time de profissionais focados em discutir os próximos passos de abertura e desenvolver soluções em modelos de licenciamento e de sustentabilidade. Alguns destes profissionais tem trabalhado desde os primeiros conceitos do programa, acreditam nesses ideais de hardware e software livre e conseguiram trazer o projeto para onde estamos hoje.  &lt;br /&gt;
&lt;br /&gt;
Atualmente já temos boa parte de nosso software aberto e livre, que pode ser encontrado no nosso [https://github.com/caninos-loucos Github], as exceções ao que está disponível lá são binários de propriedade intelectual de terceiros, como desenvolvedores de certos subsistemas de nossas placas. Estas exceções também estão sendo tratadas através de contatos e negociação com as empresas detentoras dessas propriedades intelectuais.&lt;br /&gt;
Quanto ao hardware, o processo de abertura segue de maneira mais compassada, este desenvolvimento envolveu grandes investimentos de diferentes fontes e é necessária maior atenção para a sustentabilidade do modelo de desenvolvimento e licenciamento para que possamos manter a equipe de desenvolvimento da Caninos e seguir contribuindo com  novos projetos e aperfeiçoar os existentes. Criar um modelo novo como este de abertura sustentável é um processo árduo e custoso, mas que acreditamos ter que ser feito com bastante cuidado mirando não só o momento atual, mas também o futuro sustentável do programa.&lt;br /&gt;
&lt;br /&gt;
Queremos constituir  uma comunidade de hardware futuro. Portanto, publicaremos o máximo de informações que legalmente e de forma sustentável  pudermos, possibilitando a manutenção do software no nível do sistema. Isso pode incluir diagramas de circuitos, lista de materiais, folhas de especificações do fabricante para circuitos integrados e especificações para barramentos fora do padrão.&lt;br /&gt;
&lt;br /&gt;
Também queremos incentivar o desenvolvimento de novas baseboards, para isso planejamos publicar futuramente os gerbers de baseboards simples como referência para design, assim os desenvolvedores terão uma base de como interagir com as placas principais.&lt;br /&gt;
&lt;br /&gt;
Novas atualizações sobre o desenvolvimento e abertura do projeto serão listadas também nesta página. Caso acredite nestas aspirações e queira ajudar com o projeto, entre em contato conosco ou acesse a página [[Como contribuir]] nesta wiki.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=511</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=511"/>
		<updated>2020-12-10T20:42:30Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Demais Páginas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org.br/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
== Demais Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Abertura do Programa]]&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 32 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Visão Computacional]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
****[[Wiring K9]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
***[[Configurando o Wi-Fi na linha de comando]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
**[[Programando a Pulga usando Mbed Compiler]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=501</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=501"/>
		<updated>2020-09-03T19:13:11Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org.br/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
== Demais Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Abertura do Programa]]&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 32 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Visão Computacional]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
****[[Wiring K9]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
**[[Programando a Pulga usando Mbed Compiler]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=500</id>
		<title>Abertura do Programa</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=500"/>
		<updated>2020-09-02T18:46:41Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O programa Caninos Loucos desenvolve uma família de Single Board Computers com projeto aberto e livre com o intuito de fomentar o desenvolvimento e aprendizagem de sistemas embarcados no Brasil.&lt;br /&gt;
É importante ressaltar que o termo livre não implica em gratuidade, visto que existem custos intensos associados ao desenvolvimento e esforço de engenharia destas tecnologias, principalmente na parte de Hardware. Os benefícios deste modelo são inúmeros, mas em sua essência está a liberdade fundamental a todos os usuários que quiserem desenvolver algo a partir de nossa documentação, dado que contribuam com suas mudanças retornando à comunidade.&lt;br /&gt;
&lt;br /&gt;
O desafio do programa Caninos Loucos é alcançar a abertura do projeto com sustentabilidade. Temos um time de profissionais focados em discutir os próximos passos de abertura e desenvolver soluções em modelos de licenciamento e de sustentabilidade. Alguns destes profissionais tem trabalhado desde os primeiros conceitos do programa, acreditam nesses ideais de hardware e software livre e conseguiram trazer o projeto para onde estamos hoje.  &lt;br /&gt;
&lt;br /&gt;
Atualmente já temos boa parte de nosso software aberto e livre, que pode ser encontrado no nosso Github [link], as exceções ao que está disponível lá são binários de propriedade intelectual de terceiros, como desenvolvedores de certos subsistemas de nossas placas. Estas exceções também estão sendo tratadas através de contatos e negociação com as empresas detentoras dessas propriedades intelectuais.&lt;br /&gt;
Quanto ao hardware, o processo de abertura segue de maneira mais compassada, este desenvolvimento envolveu grandes investimentos de diferentes fontes e é necessária maior atenção para a sustentabilidade do modelo de desenvolvimento e licenciamento para que possamos manter a equipe de desenvolvimento da Caninos e seguir contribuindo com  novos projetos e aperfeiçoar os existentes. Criar um modelo novo como este de abertura sustentável é um processo árduo e custoso, mas que acreditamos ter que ser feito com bastante cuidado mirando não só o momento atual, mas também o futuro sustentável do programa.&lt;br /&gt;
&lt;br /&gt;
Queremos constituir  uma comunidade de hardware futuro. Portanto, publicaremos o máximo de informações que legalmente e de forma sustentável  pudermos, possibilitando a manutenção do software no nível do sistema. Isso pode incluir diagramas de circuitos, lista de materiais, folhas de especificações do fabricante para circuitos integrados e especificações para barramentos fora do padrão.&lt;br /&gt;
&lt;br /&gt;
Também queremos incentivar o desenvolvimento de novas baseboards, para isso planejamos publicar futuramente os gerbers de baseboards simples como referência para design, assim os desenvolvedores terão uma base de como interagir com as placas principais.&lt;br /&gt;
&lt;br /&gt;
Novas atualizações sobre o desenvolvimento e abertura do projeto serão listadas também nesta página. Caso acredite nestas aspirações e queira ajudar com o projeto, entre em contato conosco ou acesse a página [[Como contribuir]] nesta wiki.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=499</id>
		<title>Abertura do Programa</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Abertura_do_Programa&amp;diff=499"/>
		<updated>2020-09-02T18:46:14Z</updated>

		<summary type="html">&lt;p&gt;Augrm: Criou página com &amp;#039;O programa Caninos Loucos desenvolve uma família de Single Board Computers com projeto aberto e livre com o intuito de fomentar o desenvolvimento e aprendizagem de sistemas e...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O programa Caninos Loucos desenvolve uma família de Single Board Computers com projeto aberto e livre com o intuito de fomentar o desenvolvimento e aprendizagem de sistemas embarcados no Brasil.&lt;br /&gt;
É importante ressaltar que o termo livre não implica em gratuidade, visto que existem custos intensos associados ao desenvolvimento e esforço de engenharia destas tecnologias, principalmente na parte de Hardware. Os benefícios deste modelo são inúmeros, mas em sua essência está a liberdade fundamental a todos os usuários que quiserem desenvolver algo a partir de nossa documentação, dado que contribuam com suas mudanças retornando à comunidade.&lt;br /&gt;
O desafio do programa Caninos Loucos é alcançar a abertura do projeto com sustentabilidade. Temos um time de profissionais focados em discutir os próximos passos de abertura e desenvolver soluções em modelos de licenciamento e de sustentabilidade. Alguns destes profissionais tem trabalhado desde os primeiros conceitos do programa, acreditam nesses ideais de hardware e software livre e conseguiram trazer o projeto para onde estamos hoje.  &lt;br /&gt;
Atualmente já temos boa parte de nosso software aberto e livre, que pode ser encontrado no nosso Github [link], as exceções ao que está disponível lá são binários de propriedade intelectual de terceiros, como desenvolvedores de certos subsistemas de nossas placas. Estas exceções também estão sendo tratadas através de contatos e negociação com as empresas detentoras dessas propriedades intelectuais.&lt;br /&gt;
Quanto ao hardware, o processo de abertura segue de maneira mais compassada, este desenvolvimento envolveu grandes investimentos de diferentes fontes e é necessária maior atenção para a sustentabilidade do modelo de desenvolvimento e licenciamento para que possamos manter a equipe de desenvolvimento da Caninos e seguir contribuindo com  novos projetos e aperfeiçoar os existentes. Criar um modelo novo como este de abertura sustentável é um processo árduo e custoso, mas que acreditamos ter que ser feito com bastante cuidado mirando não só o momento atual, mas também o futuro sustentável do programa.&lt;br /&gt;
Queremos constituir  uma comunidade de hardware futuro. Portanto, publicaremos o máximo de informações que legalmente e de forma sustentável  pudermos, possibilitando a manutenção do software no nível do sistema. Isso pode incluir diagramas de circuitos, lista de materiais, folhas de especificações do fabricante para circuitos integrados e especificações para barramentos fora do padrão.&lt;br /&gt;
Também queremos incentivar o desenvolvimento de novas baseboards, para isso planejamos publicar futuramente os gerbers de baseboards simples como referência para design, assim os desenvolvedores terão uma base de como interagir com as placas principais.&lt;br /&gt;
Novas atualizações sobre o desenvolvimento e abertura do projeto serão listadas também nesta página. Caso acredite nestas aspirações e queira ajudar com o projeto, entre em contato conosco ou acesse a página [[Como contribuir]] nesta wiki.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Como_contribuir&amp;diff=498</id>
		<title>Como contribuir</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Como_contribuir&amp;diff=498"/>
		<updated>2020-09-02T18:45:24Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O programa Caninos Loucos é um programa aberto desenvolvido com o intuito de fomentar o desenvolvimento de tecnologia no Brasil, leia mais sobre a [[Abertura do Programa]]. Por esta natureza, o rápido desenvolvimento e melhora dos projetos conta com a colaboração dos usuários de todos os níveis. Caso você queira ajudar também a promover a tecnologia nacional e a melhorar a Caninos Loucos, este guia te ajudará no processo.&lt;br /&gt;
= Colaborando com a documentação =&lt;br /&gt;
A maneira mais simples de ajudar na Caninos Loucos é colaborar com a documentação da plataforma, tornando-a acessível para um número cada vez maior de usuários. A melhor maneira de ajudar com isto é a manutenção e edição das páginas desta Wiki, nossa equipe se esforça para manter a Wiki atualizada e com o máximo de informações possíveis, no entanto, revisões de artigos e novas páginas sempre são adições importantes.&lt;br /&gt;
== Editando a Wiki ==&lt;br /&gt;
A plataforma da Wiki é aberta para edição e, portanto, qualquer usuário pode propor mudanças e novos artigos, para tanto, basta criar uma conta clicando na opção “Crie uma conta” no canto superior direito da página.&lt;br /&gt;
Para começar a editar basta ir na página à sua escolha e clicar em “Editar” no campo superior direito. A Wiki conta com um editor visual de fácil utilização, mais detalhes podem ser encontrados neste link [https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide/pt-br].&lt;br /&gt;
Caso você deseje criar uma nova página pode seguir este exemplo: [[Como criar uma página]]&lt;br /&gt;
== Páginas interessantes==&lt;br /&gt;
Todas  as páginas da Wiki podem ser editadas, mas algumas páginas são bastante interessantes e podem ter uma grande ajuda da comunidade, são elas:&lt;br /&gt;
·       [[Lista de projetos]] – Esta página lista guias e comentários de projetos realizados com as placas Caninos Loucos, caso você tenha desenvolvido algum projeto, e um lugar legal de compartilhar suas descobertas e ajudar novos usuários.&lt;br /&gt;
·       [[Sobre o Linux]] – Página com guias para usuários neófitos ao sistema operacional Linux onde podem ser adicionadas funções, aplicativos e comandos úteis para o primeiro contato com o sistema.&lt;br /&gt;
·       [[Pacotes testados]] – Página com guia dos pacotes Linux testados e funcionando na placa Labrador, bem como pequenos ajustes que podem ser necessários para fazer o pacote rodar no sistema. Adicione nesta página pacotes que você utilizou sem problemas ou mesmo soluções implementadas para certos pacotes.&lt;br /&gt;
= Colaborando com o software =&lt;br /&gt;
Todo o software da plataforma caninos está disponível no nosso Github [https://github.com/caninos-loucos] para usuários familiarizados com o Github e com o kernel e sistema Linux, esta é uma boa maneira de ajudar no desenvolvimento do projeto.&lt;br /&gt;
Os repositórios da Caninos no Github contam com sua própria página de informações, onde você pode se informar sobre como contribuir com o repositório.&lt;br /&gt;
== Reportar um bug ou solicitar aprimoramento ==&lt;br /&gt;
O Github também conta com a possibilidade de listar problemas encontrados ou características que deveriam ser implementadas no repositório, e esta é nossa principal ferramenta de rastreamento de bugs, para criar este tipo de solicitação, basta criar uma Issue no Github, seguindo este guia [https://help.github.com/pt/github/managing-your-work-on-github/creating-an-issue].&lt;br /&gt;
= Ajudar novos usuários: o Fórum Caninos Loucos=&lt;br /&gt;
O crescimento da comunidade depende em grande parte da ajuda entre usuários, para facilitar este canal possuímos um fórum [https://forum.caninosloucos.org.br] de discussão onde todos podem solicitar ajudas, tirar dúvidas, conhecer outros usuários da plataforma. Temos um grupo de desenvolvedores no projeto que acompanha o fórum de perto, no entanto, usuários com maior experiência de uso da plataforma podem ajudar tirando dúvidas e esclarecendo questões que podem já ter enfrentado no passado, ajudando a fortalecer a comunidade. O fórum é também uma boa plataforma para conversar diretamente com os desenvolvedores do projeto e acompanhar novidades nas atualizações da plataforma.&lt;br /&gt;
&lt;br /&gt;
==Doações==&lt;br /&gt;
Se você tem interesse em investir ou fazer doações para o projeto Caninos Loucos ou se quiser fazer outros tipos de parceria, pode entrar em contato conosco através [https://caninosloucos.org/pt/contact-pt deste formulário].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Labrador_32_bits_-_Criando_uma_imagem&amp;diff=439</id>
		<title>Labrador 32 bits - Criando uma imagem</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Labrador_32_bits_-_Criando_uma_imagem&amp;diff=439"/>
		<updated>2020-07-23T17:27:14Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nesta página você encontrará instruções de como criar uma imagem mínima para Labrador 32 bits. Esse processo compreende compilar o bootloader, o Kernel Linux e gerar um sistema de arquivos de uma distribuição GNU/Linux &#039;&#039;Debian-like&#039;&#039;. Compreende também os passos para escrever essa imagem em um cartão SD.&lt;br /&gt;
&lt;br /&gt;
Para encontrar a versão mais atualizada dos softwares aqui citados, acesse nosso [http://github.com/caninos-loucos/ Github].&lt;br /&gt;
&lt;br /&gt;
Para a versão 64 bits acesse a seguinte página: [[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
&lt;br /&gt;
= Pré-requesitos =&lt;br /&gt;
&lt;br /&gt;
== Bootloader ==&lt;br /&gt;
O primeiro passo é obter o bootloader. É possível usar um binário pré-compilado ou compilá-lo a partir do código-fonte, seguindo as instruções da página do [https://github.com/caninos-loucos/labrador-uboot-32 github/labrador-uboot-32].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final desse processo você terá um arquivo &#039;&#039;u-boot-dtb.img&#039;&#039; ou &#039;&#039;u-boot-dtb-no-UART3-console.img&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obs.: Se você quer ter a UART3 (/dev/ttyS3) ativada para console de debug, que é o recomendado para a maior parte dos casos, use o &#039;&#039;u-boot-dtb.img&#039;&#039;. Caso você tenha intenção de usar o UART3 para alguma outra finalidade, use o &#039;&#039;u-boot-dtb-no-UART3-console.img&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Kernel Linux ==&lt;br /&gt;
Para obter o kernel, acesse [https://github.com/caninos-loucos/labrador-linux github/labrador-linux]. Novamente aqui você tem a opção de usar binários pré-compilados ou compilá-los a partir do código-fonte, conforme as instruções do arquivo README.md.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Obs.: Se você está fazendo compilação cruzada do kernel, é possível usar o arm-linux-gnueabihf-gcc disponível no repositório do bootloader. Nesse caso adicione o caminho para o compilador ao PATH. Por exemplo, se você fez o clone do u-boot em $HOME:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ export PATH=$PATH:$HOME/labrador-uboot-32/toolchain/arm-linux-gnueabihf/bin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao final desse processo você terá:&lt;br /&gt;
* kernel.dtb&lt;br /&gt;
* uImage&lt;br /&gt;
* lib/modules&lt;br /&gt;
&lt;br /&gt;
== Sistema de Arquivos ==&lt;br /&gt;
&lt;br /&gt;
Você pode usar qualquer rootfs compatível com a arquitetura arm. Nesse procedimento descreveremos o processo para criação de um rootfs usando o [https://wiki.debian.org/pt_BR/Debootstrap debootstrap].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;i) debootstrap primeiro estágio&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Para gerar um sistema base Debian Buster:&lt;br /&gt;
&amp;lt;pre&amp;gt;# debootstrap --arch=armhf --foreign buster rootfs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ii) debootstrap segundo estágio&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /usr/bin/qemu-arm-static rootfs/usr/bin&lt;br /&gt;
# cp /etc/resolv.conf rootfs/etc&lt;br /&gt;
# chroot rootfs&lt;br /&gt;
# export LANG=C&lt;br /&gt;
# /debootstrap/debootstrap --second-stage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iii) configurando o repositório de pacotes&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOT &amp;gt; /etc/apt/sources.list&lt;br /&gt;
deb http://ftp.br.debian.org/debian/ buster main contrib non-free&lt;br /&gt;
deb-src http://ftp.br.debian.org/debian/ buster main contrib non-free&lt;br /&gt;
&lt;br /&gt;
deb http://security.debian.org/debian-security buster/updates main contrib non-free&lt;br /&gt;
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free&lt;br /&gt;
&lt;br /&gt;
# buster-updates, previously known as &#039;volatile&#039;&lt;br /&gt;
deb http://ftp.br.debian.org/debian/ buster-updates main contrib non-free&lt;br /&gt;
deb-src http://ftp.br.debian.org/debian/ buster-updates main contrib non-free&lt;br /&gt;
EOT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iv) instalando pacotes adicionais&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apt-get update&lt;br /&gt;
# apt-get upgrade&lt;br /&gt;
# apt-get install sudo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;v) definindo o hostname&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;# echo labrador &amp;gt; /etc/hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vi) adiocionar o hostname ao hosts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Você deve adicionar o nome definido no passo anterior (&#039;&#039;hostname&#039;&#039;) ao arquivo /etc/hosts, da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
127.0.1.1	labrador&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ao final seu arquivo /etc/hosts deve se parecer com esse:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cat /etc/hosts&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
127.0.1.1       labrador&lt;br /&gt;
::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
ff02::1         ip6-allnodes&lt;br /&gt;
ff02::2         ip6-allrouters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vii) criar um usuário e adicioná-lo ao grupo sudo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Criaremos um usuário chamado caninos:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# useradd -m caninos&lt;br /&gt;
# usermod -aG sudo caninos&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Definiremos uma senha para esse usuário:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd caninos&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;viii) demais ajustes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Você pode fazer outros ajustes aqui que julgar necessário. Os passos descritos até aqui são os mais essenciais para se ter uma versão mínima em modo texto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ix) finalizando&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# apt-get autoclean&lt;br /&gt;
# apt-get clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para sair do chroot:&lt;br /&gt;
&amp;lt;pre&amp;gt;# exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Limpando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rm -f rootfs/root/.bash_history rootfs/usr/bin/qemu-arm-static&lt;br /&gt;
# cat /dev/null &amp;gt; rootfs/etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gravando o sistema num cartão SD =&lt;br /&gt;
&#039;&#039;&#039;i) Criar a tabela de partições&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Obs.: Você deve substituir mmcblkX pelo descritor correto para o seu caso.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# parted /dev/mmcblkX&lt;br /&gt;
Welcome to GNU Parted! Type &#039;help&#039; to view a list of commands.&lt;br /&gt;
(parted) mklabel gpt&lt;br /&gt;
(parted) unit s&lt;br /&gt;
(parted) mkpart primary 16384 114687                                      &lt;br /&gt;
(parted) mkpart primary 114688 -1                                         &lt;br /&gt;
Warning: You requested a partition from 114688s to AAAs (sectors 114688..AAA).&lt;br /&gt;
The closest location we can manage is 114688s to BBBs (sectors 114688..BBB).&lt;br /&gt;
Is this still acceptable to you?&lt;br /&gt;
Yes/No? yes                                                               &lt;br /&gt;
(parted) print                                                            &lt;br /&gt;
Model:  (file)&lt;br /&gt;
Disk /dev/mmcblkX: DDDs&lt;br /&gt;
Sector size (logical/physical): 512B/512B&lt;br /&gt;
Partition Table: gpt&lt;br /&gt;
Disk Flags: &lt;br /&gt;
&lt;br /&gt;
Number  Start    End      Size     File system  Name     Flags&lt;br /&gt;
 1      16384s   114687s  98304s                primary&lt;br /&gt;
 2      114688s  BBBs     CCCs                  primary&lt;br /&gt;
&lt;br /&gt;
(parted) q&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ii) Gravar o bootloader&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;# dd if=/path/to/u-boot-dtb.img of=/dev/mmcblkX bs=512 seek=66 status=progress&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iii) Formatar as partições&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mkfs.vfat /dev/mmcblkXp1&lt;br /&gt;
# mkfs.ext4 /dev/mmcblkXp2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iv) Gravar o kernel na partição 1&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount /dev/mmcblkXp1 /mnt&lt;br /&gt;
# cp /path/to/kernel.dtb /mnt&lt;br /&gt;
# cp /path/to/uImage /mnt&lt;br /&gt;
# cat &amp;lt;&amp;lt; EOT &amp;gt; /mnt/uEnv.txt&lt;br /&gt;
uenvcmd=setenv ramdisk_addr_r -; setenv os_type linux;&lt;br /&gt;
bootargs=clk_ignore_unused selinux=0 scandelay root=/dev/mmcblk0p2 rw console=ttyS3 rootfstype=ext4 console=tty0 loglevel=6 rootwait&lt;br /&gt;
EOT&lt;br /&gt;
# sync&lt;br /&gt;
# umount /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;v) Gravar o rootfs na partição 2&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount /dev/mmcblk0p2 /mnt&lt;br /&gt;
# cp -rp /path/to/rootfs/* /mnt&lt;br /&gt;
# cp -r /path/to/lib/modules /mnt/lib&lt;br /&gt;
# sync&lt;br /&gt;
# umount /mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=438</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=438"/>
		<updated>2020-07-23T17:27:00Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Demais Páginas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org.br/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
== Demais Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 32 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Visão Computacional]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
****[[Wiring K9]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=437</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=P%C3%A1gina_principal&amp;diff=437"/>
		<updated>2020-07-23T17:26:48Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Demais Páginas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Bem-vindo à wiki do Programa [https://caninosloucos.org/pt/ Caninos Loucos]&amp;lt;/strong&amp;gt; &amp;lt;big&amp;gt;🐶&amp;lt;/big&amp;gt;&lt;br /&gt;
Nesta wiki você encontrará informações técnicas e tutoriais sobre como utilizar as plataformas desenvolvidas no programa, entre elas a Labrador e a Pulga! &lt;br /&gt;
&lt;br /&gt;
O Programa Caninos Loucos está em constante aprimoramento e esta Wiki recebe atualizações frequentes. &lt;br /&gt;
&lt;br /&gt;
Para acesso às atualizações de software, acompanhe o projeto Caninos Loucos no GitHub: https://github.com/caninos-loucos.&lt;br /&gt;
&lt;br /&gt;
Esperamos que esta Wiki possa resolver suas principais dúvidas e, caso reste alguma, entre em contato pelo [https://caninosloucos.org/pt/contact-pt/ formulário de contato] ou [https://forum.caninosloucos.org.br/ faça uma pergunta no fórum].&lt;br /&gt;
&lt;br /&gt;
== Demais Páginas ==&lt;br /&gt;
&lt;br /&gt;
Confira abaixo a lista das páginas disponíveis nesta Wiki:&lt;br /&gt;
&lt;br /&gt;
*Caninos Loucos&lt;br /&gt;
**[[Apresentação do Programa]]&lt;br /&gt;
**[[Como contribuir]]&lt;br /&gt;
**[[Lista de projetos]]&lt;br /&gt;
***[[Tanque/carrinho de controle remoto]]&lt;br /&gt;
**[[Como criar uma página]]&lt;br /&gt;
*Labrador&lt;br /&gt;
**[[Apresentação Geral e Especificações Técnicas]]&lt;br /&gt;
**[[Começando com a Labrador]]&lt;br /&gt;
**Sobre o Linux&lt;br /&gt;
***[[Linux - Aplicativos e funções úteis do Linux]]&lt;br /&gt;
***[[Linux - Gerenciador de arquivos]]&lt;br /&gt;
***[[Linux - Comando ls]]&lt;br /&gt;
**Configurações&lt;br /&gt;
***[[Instalando um sistema 32 bits]]&lt;br /&gt;
***[[Instalando um sistema 64 bits]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Labrador 64 bits - Criando uma imagem]]&lt;br /&gt;
***[[Visão Computacional]]&lt;br /&gt;
***[[Programação GPIO]]&lt;br /&gt;
****[[Wiring K9]]&lt;br /&gt;
***[[Sensores internos]]&lt;br /&gt;
***[[MAC de rede]]&lt;br /&gt;
***[[Bluetooth]]&lt;br /&gt;
***[[Kernel]]&lt;br /&gt;
***[[Debug]]&lt;br /&gt;
*[[Pulga]]&lt;br /&gt;
&lt;br /&gt;
== Quer colaborar com a Wiki? ==&lt;br /&gt;
&lt;br /&gt;
* Rápido e direto: leia o tutorial explicando [[como criar uma página]].&lt;br /&gt;
* Avançado: consulte o [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Traduza o MediaWiki para seu idioma]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[en:Main page]]&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Vis%C3%A3o_Computacional&amp;diff=435</id>
		<title>Visão Computacional</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Vis%C3%A3o_Computacional&amp;diff=435"/>
		<updated>2020-07-22T19:25:33Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Labrador 64-bits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uma das ferramentas mais utilizadas para processamento de imagem é o OpenCV, fornecendo diversas funções para manipular imagens e vídeos a fim de realizar os mais variados projetos de visão computacional. &lt;br /&gt;
&lt;br /&gt;
Como o processador da Labrador apresenta uma arquitetura ARM, algumas bibliotecas ainda não foram compiladas para ela, impossibilitando uma instalação simples pelo pip ou pelo apt-get. Para solucionar esse problema, alguns colaboradores disponibilizaram os arquivos necessários e os scripts de instalação.&lt;br /&gt;
&lt;br /&gt;
Este tutorial é funcional para a Labrador 32-bits&lt;br /&gt;
&lt;br /&gt;
== Python 3.7 ==&lt;br /&gt;
A Labrador vem inicialmente com a versão 3.7 do Python. Dessa forma, basta baixar o arquivo presente nesse link [https://drive.google.com/open?id=1SPY1kXQx-POSjppYAj1Iea8fBuNez6_W], descompactá-lo em um local que não será deletado e rodar o script por meio do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo bash opencv_py37.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao completar o processo de instalação, reinicie o terminal e em seguida poderá utilizar o OpenCV.&lt;br /&gt;
&lt;br /&gt;
== Outras versões de Python ==&lt;br /&gt;
Para poder utilizar outras versões de Python, utilizaremos o pyenv, capaz de gerenciar várias versões de Python ao mesmo tempo. Antes, verifique no nosso Drive as versões de Python para as quais o OpenCV já foi compilado, bastando seguir esse link [https://drive.google.com/drive/folders/19qsq3tuXpTgypKiT0nZ1wC9-ZIlkjxqy]. Se a versão que deseja não se encontra disponível, você deverá seguir pelo caminho mais difícil e demorado, explicado na seção Compilação.&lt;br /&gt;
&lt;br /&gt;
Para instalar o pyenv, siga o tutorial nesse link [https://github.com/pyenv/pyenv#basic-github-checkout].&lt;br /&gt;
&lt;br /&gt;
Obs. 1: Nos passos 2 e 3, substituir &amp;lt;code&amp;gt;bash_profile&amp;lt;/code&amp;gt; por &amp;lt;code&amp;gt;bashrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obs. 2: No passo de número 6, insira a versão que deseja instalar.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Em seguida, faça o download do arquivo &amp;lt;code&amp;gt;minimal.zip&amp;lt;/code&amp;gt; à partir do Drive, descomprima e rode o script por meio do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo bash opencv.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obs. 1: na linha 1, altere a variável &amp;lt;code&amp;gt;VIRTUALENV_NAME&amp;lt;/code&amp;gt; para o nome do seu virtual environment.&lt;br /&gt;
&lt;br /&gt;
== Compilação ==&lt;br /&gt;
Se precisar utilizar alguma outra versão do OpenCV ou do Python, poderá utilizar um script de instalação, que fará o download de todos os pacotes necessários. O script está disponível no mesmo Drive de download dos arquivos [https://drive.google.com/drive/folders/19qsq3tuXpTgypKiT0nZ1wC9-ZIlkjxqy].&lt;br /&gt;
&lt;br /&gt;
=Labrador 64-bits=&lt;br /&gt;
A Labrador 64-bits conta com todos os pacotes disponíveis no debian arm64, portanto o processo de instalação de ferramentas como OpenCV e Keras é facilitado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install libopencv-dev #instalando Open-CV no sistema&lt;br /&gt;
&lt;br /&gt;
pip3 install opencv-python #instalando biblioteca no Python 3&lt;br /&gt;
&lt;br /&gt;
pip3 install -U --user keras #instalando Keras no Python 3&lt;br /&gt;
&lt;br /&gt;
pip3 install -U --user theano #instalando Theano no Python 3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para instalar o Tensorflow, disponibilizamos um pacote pré-compilado para a Labrador 64 [https://drive.google.com/file/d/1L1-B588FD7o9UhyT6-gYGnGzDNICMloL/view?usp=sharing neste link]. Para instalar este pacote basta ir na pasta de Download no terminal e rodar&lt;br /&gt;
&amp;lt;code&amp;gt;pip3 install tensorflow-1.14.0-cp37-cp37m-linux_aarch64.whl&amp;lt;code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Vis%C3%A3o_Computacional&amp;diff=434</id>
		<title>Visão Computacional</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Vis%C3%A3o_Computacional&amp;diff=434"/>
		<updated>2020-07-22T19:25:02Z</updated>

		<summary type="html">&lt;p&gt;Augrm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Uma das ferramentas mais utilizadas para processamento de imagem é o OpenCV, fornecendo diversas funções para manipular imagens e vídeos a fim de realizar os mais variados projetos de visão computacional. &lt;br /&gt;
&lt;br /&gt;
Como o processador da Labrador apresenta uma arquitetura ARM, algumas bibliotecas ainda não foram compiladas para ela, impossibilitando uma instalação simples pelo pip ou pelo apt-get. Para solucionar esse problema, alguns colaboradores disponibilizaram os arquivos necessários e os scripts de instalação.&lt;br /&gt;
&lt;br /&gt;
Este tutorial é funcional para a Labrador 32-bits&lt;br /&gt;
&lt;br /&gt;
== Python 3.7 ==&lt;br /&gt;
A Labrador vem inicialmente com a versão 3.7 do Python. Dessa forma, basta baixar o arquivo presente nesse link [https://drive.google.com/open?id=1SPY1kXQx-POSjppYAj1Iea8fBuNez6_W], descompactá-lo em um local que não será deletado e rodar o script por meio do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo bash opencv_py37.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao completar o processo de instalação, reinicie o terminal e em seguida poderá utilizar o OpenCV.&lt;br /&gt;
&lt;br /&gt;
== Outras versões de Python ==&lt;br /&gt;
Para poder utilizar outras versões de Python, utilizaremos o pyenv, capaz de gerenciar várias versões de Python ao mesmo tempo. Antes, verifique no nosso Drive as versões de Python para as quais o OpenCV já foi compilado, bastando seguir esse link [https://drive.google.com/drive/folders/19qsq3tuXpTgypKiT0nZ1wC9-ZIlkjxqy]. Se a versão que deseja não se encontra disponível, você deverá seguir pelo caminho mais difícil e demorado, explicado na seção Compilação.&lt;br /&gt;
&lt;br /&gt;
Para instalar o pyenv, siga o tutorial nesse link [https://github.com/pyenv/pyenv#basic-github-checkout].&lt;br /&gt;
&lt;br /&gt;
Obs. 1: Nos passos 2 e 3, substituir &amp;lt;code&amp;gt;bash_profile&amp;lt;/code&amp;gt; por &amp;lt;code&amp;gt;bashrc&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obs. 2: No passo de número 6, insira a versão que deseja instalar.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Em seguida, faça o download do arquivo &amp;lt;code&amp;gt;minimal.zip&amp;lt;/code&amp;gt; à partir do Drive, descomprima e rode o script por meio do comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo bash opencv.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obs. 1: na linha 1, altere a variável &amp;lt;code&amp;gt;VIRTUALENV_NAME&amp;lt;/code&amp;gt; para o nome do seu virtual environment.&lt;br /&gt;
&lt;br /&gt;
== Compilação ==&lt;br /&gt;
Se precisar utilizar alguma outra versão do OpenCV ou do Python, poderá utilizar um script de instalação, que fará o download de todos os pacotes necessários. O script está disponível no mesmo Drive de download dos arquivos [https://drive.google.com/drive/folders/19qsq3tuXpTgypKiT0nZ1wC9-ZIlkjxqy].&lt;br /&gt;
&lt;br /&gt;
=Labrador 64-bits=&lt;br /&gt;
A Labrador 64-bits conta com todos os pacotes disponíveis no debian arm64, portanto o processo de instalação de ferramentas como OpenCV e Keras é facilitado.&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt install libopencv-dev #instalando Open-CV no sistema&lt;br /&gt;
pip3 install opencv-python #instalando biblioteca no Python 3&lt;br /&gt;
pip3 install -U --user keras #instalando Keras no Python 3&lt;br /&gt;
pip3 install -U --user theano #instalando Theano no Python 3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para instalar o Tensorflow, disponibilizamos um pacote pré-compilado para a Labrador 64 [https://drive.google.com/file/d/1L1-B588FD7o9UhyT6-gYGnGzDNICMloL/view?usp=sharing neste link]. Para instalar este pacote basta ir na pasta de Download no terminal e rodar&lt;br /&gt;
&amp;lt;code&amp;gt;pip3 install tensorflow-1.14.0-cp37-cp37m-linux_aarch64.whl&amp;lt;code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=388</id>
		<title>Programação GPIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=388"/>
		<updated>2020-07-09T17:36:07Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* GPIO Labrador 32-bits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página explica como programar as saídas GPIO (General Purpose Input/Output) da Labrador, que são basicamente pinos nos quais você pode enviar e receber dados. Para facilitar a programação, a placa Labrador segue a interface padrão para userspace para Linux embarcado. O tutorial desta página funciona tanto com a Labrador 32 quanto 64-bits.&lt;br /&gt;
&lt;br /&gt;
Além disso, a placa Labrador 32-bits é compatível com o formato da Raspberry Pi, e possui a biblioteca &amp;lt;code&amp;gt;wiringK9&amp;lt;/code&amp;gt;, baseada na wiringPi, também da Raspberry Pi. Mais detalhes desta biblioteca pode ser encontrado nessa página [[Wiring K9]].&lt;br /&gt;
&lt;br /&gt;
== Configuração dos pinos ==&lt;br /&gt;
&lt;br /&gt;
A configuração de pinos para o cabeçalho de GPIO é a seguinte:&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 32-bits ===&lt;br /&gt;
[[File:40pinh.png|image|800px|caption Mapeamento do header de 40 pinos.]]&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 64 bits===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffff;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! Default Function&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Header Pin&lt;br /&gt;
! Default Function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE3&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE2&lt;br /&gt;
| 5&lt;br /&gt;
| 6&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB18&lt;br /&gt;
| 7&lt;br /&gt;
| 8&lt;br /&gt;
| UART0_TX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| UART0_RX&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC0&lt;br /&gt;
| 11&lt;br /&gt;
| 12&lt;br /&gt;
| GPIOB8&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC1&lt;br /&gt;
| 13&lt;br /&gt;
| 14&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC4&lt;br /&gt;
| 15&lt;br /&gt;
| 16&lt;br /&gt;
| GPIOD30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 17&lt;br /&gt;
| 18&lt;br /&gt;
| GPIOC6&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SDA&lt;br /&gt;
| 19&lt;br /&gt;
| 20&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC24&lt;br /&gt;
| 21&lt;br /&gt;
| 22&lt;br /&gt;
| GPIOC5&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SCK&lt;br /&gt;
| 23&lt;br /&gt;
| 24&lt;br /&gt;
| GPIOC23&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 25&lt;br /&gt;
| 26&lt;br /&gt;
| GPIOB19&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB16&lt;br /&gt;
| 27&lt;br /&gt;
| 28&lt;br /&gt;
| GPIOB14&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB15&lt;br /&gt;
| 29&lt;br /&gt;
| 30&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB10&lt;br /&gt;
| 31&lt;br /&gt;
| 32&lt;br /&gt;
| GPIOB13&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB0&lt;br /&gt;
| 33&lt;br /&gt;
| 34&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB1&lt;br /&gt;
| 35&lt;br /&gt;
| 36&lt;br /&gt;
| GPIOA28&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB2&lt;br /&gt;
| 37&lt;br /&gt;
| 38&lt;br /&gt;
| RESERVED&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 39&lt;br /&gt;
| 40&lt;br /&gt;
| RESERVED&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interface GPIO do Linux ==&lt;br /&gt;
O kernel Linux implementa em si uma solução de acesso à GPIO atraves de um modelo de criação e consumo de GPIO. Os drivers de criação são drivers como o controlador de GPIO que será detalhado nesta página, os consumidores são os drivers como sensores que utilizam estas linhas GPIO.&lt;br /&gt;
Dentro do kernel Linux existe uma estrutura de alocação e registradores dos pinos GPIO chamado gpiolib, esta estrutura cobre os drivers em nível de kernel e userspace. &lt;br /&gt;
As bibliotecas de espaço de usuário são, até a versão 4.7 do Kernel Linux a &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt; e a partir da versao 4.8 a &amp;lt;code&amp;gt;chardev&amp;lt;/code&amp;gt;. Embora a placa Labrador esteja atualmente no Kernel 4.19, ambas ainda são compatíveis e cobriremos o uso das duas interfaces de espaço de usuário.&lt;br /&gt;
&lt;br /&gt;
==Interface sysfs==&lt;br /&gt;
&lt;br /&gt;
Na interface sysfs o usuário tem acesso às GPIO através de arquivos exportados em &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt;. Para isso é necessário exportar um arquivo para cada GPIO, configurar a porta e escrever na mesma.&lt;br /&gt;
&lt;br /&gt;
===Identificando o número da GPIO===&lt;br /&gt;
No método sysfs utiliza-se o número absoluto das GPIO para exportá-las individualmente. A Labrador possui 5 grupos de GPIO (A, B, C, D e E). Cada um desses possui 32 pinos agrupados, portanto para indicar o valor absoluto do pino temos um offset dado pelo grupo mais o valor do pino, este offset seguem a lógica a seguir:&lt;br /&gt;
&lt;br /&gt;
*A: 0&lt;br /&gt;
*B: 32&lt;br /&gt;
*C: 64&lt;br /&gt;
*D: 96&lt;br /&gt;
*E: 128&lt;br /&gt;
&lt;br /&gt;
Portanto se quisermos acessar o pino 3 do header GPIO, no caso seria GPIOE3, portanto devemos exportar o pino GPIO 128+3=131. Isto seria feito com a seguinte linha de terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configurando a direção do pino ===&lt;br /&gt;
&lt;br /&gt;
Após exportado o pino devemos configurar a direção do mesmo entre input (&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;) ou output (&amp;lt;code&amp;gt;out&amp;lt;/code&amp;gt;). Para isto basta escrever no GPIO exportado o valor requerido. No nosso exemplo colocaremos como output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo out &amp;gt; /sys/class/gpio/gpio131/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Escrevendo ou lendo no pino ===&lt;br /&gt;
&lt;br /&gt;
Para escrever no pino configurado como output basta enviar o valor para o parâmetro &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; do pino. No nosso exemplo colocaremos o valor 1 no pino:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso o pino seja definido como input basta ler este mesmo arquivo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lendo um parâmetro ===&lt;br /&gt;
O comando &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; pode ser usado nestes arquivos de parâmetros para ler o que já foi configurado dos pinos ficamos então com os seguinte exemplo completos para configuração do pino GPIOE3 como output em alta e GPIOE2 como input:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export #Exportando GPIOE3&lt;br /&gt;
$ echo out &amp;gt; /sys/class/gpio/gpio131/direction #Definindo como output&lt;br /&gt;
$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value #Escrevendo o valor 1&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/direction #Lendo a direção do pino&lt;br /&gt;
out&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/value #Lendo o valor do pino&lt;br /&gt;
1&lt;br /&gt;
$ echo 130 &amp;gt; /sys/class/gpio/export #Exportando GPIOE2&lt;br /&gt;
$ echo in &amp;gt; /sys/class/gpio/gpio130/direction #Definindo como input&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/value #Lendo o valor do pino&lt;br /&gt;
0&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/direction #Lendo a direção do pino&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interface chardev==&lt;br /&gt;
A interface chardev é a interface padrão do kernel Linux a partir do kernel 4.8 e compatível com a Labrador 64-bits, apesar de esta solução não permitir o uso de comandos padrão do terminal linux para controle da gpio como &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; usados anteriormente, esta API utiliza a biblioteca [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] que provê uma série de ferramentas para uso em terminal e também para uso em C, com bibliotecas de [https://github.com/brgl/libgpiod/tree/master/bindings vinculações] disponíveis em [https://github.com/brgl/libgpiod/tree/master/bindings/cxx C++] e [https://pypi.org/project/gpio-next/ Python]. A solução chardev é mais simples, elegante e robusta que a sysfs.&lt;br /&gt;
&lt;br /&gt;
=== Identificando o número da GPIO ===&lt;br /&gt;
Para o chardev os diferentes controladores de GPIO possuem pastas diferentes, chamados gpiochip. No caso temos A=0, B=1, C=2, D=3, E=4.&lt;br /&gt;
Portanto, os pinos agora serão definidos pelo controlador e pela linha dentro do mesmo. &lt;br /&gt;
&lt;br /&gt;
=== libgpiod no terminal ===&lt;br /&gt;
==== gpiodetect ====&lt;br /&gt;
Os controladores podem ser identificados com o comando &amp;lt;code&amp;gt;gpiodetect&amp;lt;/code&amp;gt; disponível pelo &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpiodetect&lt;br /&gt;
gpiochip0 [209c000.gpio] (32 lines)&lt;br /&gt;
gpiochip1 [20a0000.gpio] (32 lines)&lt;br /&gt;
gpiochip2 [20a4000.gpio] (32 lines)&lt;br /&gt;
gpiochip3 [20a8000.gpio] (32 lines)&lt;br /&gt;
gpiochip4 [20ac000.gpio] (32 lines)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioinfo ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt; fornece as informações dos pinos de cada controlador, por exemplo para exemplos dos pinos do controlador E:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioinfo 0&lt;br /&gt;
        line   0:      unnamed       unused   input  active-high&lt;br /&gt;
        line   1:      unnamed       unused   input  active-high&lt;br /&gt;
        line   2:      unnamed       unused   input  active-high&amp;lt;/pre&amp;gt;&lt;br /&gt;
No caso, nenhum destes pinos está em utilização.&lt;br /&gt;
&lt;br /&gt;
==== gpioget ====&lt;br /&gt;
Os pinos estão configurados como entrada por padrão, para acessar os valores de entrada dos pinos basta utilizar o comando &amp;lt;code&amp;gt;gpioget&amp;lt;/code&amp;gt;, no exemplo o pino GPIOE3 (controlador 4, pino 3)&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioget 4 3&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioset ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt; muda a direção para output e define o valor do mesmo, no exemplo definiremos o GPIOE3 para alto:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioset 4 3=1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpiomon ====&lt;br /&gt;
Este comando é utilizado para interrupções e eventos, ele monitorará o pino para mudanças e retornará as mudanças encontradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$gpiomon 4 3&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    322.073816438]&lt;br /&gt;
event: FALLING EDGE offset: 3 timestamp: [    323.467289198]&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    324.245127683]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilizando chardev em C ===&lt;br /&gt;
&lt;br /&gt;
A API chardev facilita o uso em programas em C, alguns exemplos podem ser encontrados com facilidade, como [https://github.com/starnight/libgpiod-example estes].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=387</id>
		<title>Programação GPIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=387"/>
		<updated>2020-07-09T17:35:32Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Interface chardev */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página explica como programar as saídas GPIO (General Purpose Input/Output) da Labrador, que são basicamente pinos nos quais você pode enviar e receber dados. Para facilitar a programação, a placa Labrador segue a interface padrão para userspace para Linux embarcado. O tutorial desta página funciona tanto com a Labrador 32 quanto 64-bits.&lt;br /&gt;
&lt;br /&gt;
Além disso, a placa Labrador 32-bits é compatível com o formato da Raspberry Pi, e possui a biblioteca &amp;lt;code&amp;gt;wiringK9&amp;lt;/code&amp;gt;, baseada na wiringPi, também da Raspberry Pi. Mais detalhes desta biblioteca pode ser encontrado nessa página [[Wiring K9]].&lt;br /&gt;
&lt;br /&gt;
== Configuração dos pinos ==&lt;br /&gt;
&lt;br /&gt;
A configuração de pinos para o cabeçalho de GPIO é a seguinte:&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 32-bits ===&lt;br /&gt;
[[File:40pinh.png|image|1000px|caption Mapeamento do header de 40 pinos.]]&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 64 bits===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffff;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! Default Function&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Header Pin&lt;br /&gt;
! Default Function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE3&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE2&lt;br /&gt;
| 5&lt;br /&gt;
| 6&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB18&lt;br /&gt;
| 7&lt;br /&gt;
| 8&lt;br /&gt;
| UART0_TX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| UART0_RX&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC0&lt;br /&gt;
| 11&lt;br /&gt;
| 12&lt;br /&gt;
| GPIOB8&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC1&lt;br /&gt;
| 13&lt;br /&gt;
| 14&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC4&lt;br /&gt;
| 15&lt;br /&gt;
| 16&lt;br /&gt;
| GPIOD30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 17&lt;br /&gt;
| 18&lt;br /&gt;
| GPIOC6&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SDA&lt;br /&gt;
| 19&lt;br /&gt;
| 20&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC24&lt;br /&gt;
| 21&lt;br /&gt;
| 22&lt;br /&gt;
| GPIOC5&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SCK&lt;br /&gt;
| 23&lt;br /&gt;
| 24&lt;br /&gt;
| GPIOC23&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 25&lt;br /&gt;
| 26&lt;br /&gt;
| GPIOB19&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB16&lt;br /&gt;
| 27&lt;br /&gt;
| 28&lt;br /&gt;
| GPIOB14&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB15&lt;br /&gt;
| 29&lt;br /&gt;
| 30&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB10&lt;br /&gt;
| 31&lt;br /&gt;
| 32&lt;br /&gt;
| GPIOB13&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB0&lt;br /&gt;
| 33&lt;br /&gt;
| 34&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB1&lt;br /&gt;
| 35&lt;br /&gt;
| 36&lt;br /&gt;
| GPIOA28&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB2&lt;br /&gt;
| 37&lt;br /&gt;
| 38&lt;br /&gt;
| RESERVED&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 39&lt;br /&gt;
| 40&lt;br /&gt;
| RESERVED&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interface GPIO do Linux ==&lt;br /&gt;
O kernel Linux implementa em si uma solução de acesso à GPIO atraves de um modelo de criação e consumo de GPIO. Os drivers de criação são drivers como o controlador de GPIO que será detalhado nesta página, os consumidores são os drivers como sensores que utilizam estas linhas GPIO.&lt;br /&gt;
Dentro do kernel Linux existe uma estrutura de alocação e registradores dos pinos GPIO chamado gpiolib, esta estrutura cobre os drivers em nível de kernel e userspace. &lt;br /&gt;
As bibliotecas de espaço de usuário são, até a versão 4.7 do Kernel Linux a &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt; e a partir da versao 4.8 a &amp;lt;code&amp;gt;chardev&amp;lt;/code&amp;gt;. Embora a placa Labrador esteja atualmente no Kernel 4.19, ambas ainda são compatíveis e cobriremos o uso das duas interfaces de espaço de usuário.&lt;br /&gt;
&lt;br /&gt;
==Interface sysfs==&lt;br /&gt;
&lt;br /&gt;
Na interface sysfs o usuário tem acesso às GPIO através de arquivos exportados em &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt;. Para isso é necessário exportar um arquivo para cada GPIO, configurar a porta e escrever na mesma.&lt;br /&gt;
&lt;br /&gt;
===Identificando o número da GPIO===&lt;br /&gt;
No método sysfs utiliza-se o número absoluto das GPIO para exportá-las individualmente. A Labrador possui 5 grupos de GPIO (A, B, C, D e E). Cada um desses possui 32 pinos agrupados, portanto para indicar o valor absoluto do pino temos um offset dado pelo grupo mais o valor do pino, este offset seguem a lógica a seguir:&lt;br /&gt;
&lt;br /&gt;
*A: 0&lt;br /&gt;
*B: 32&lt;br /&gt;
*C: 64&lt;br /&gt;
*D: 96&lt;br /&gt;
*E: 128&lt;br /&gt;
&lt;br /&gt;
Portanto se quisermos acessar o pino 3 do header GPIO, no caso seria GPIOE3, portanto devemos exportar o pino GPIO 128+3=131. Isto seria feito com a seguinte linha de terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configurando a direção do pino ===&lt;br /&gt;
&lt;br /&gt;
Após exportado o pino devemos configurar a direção do mesmo entre input (&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;) ou output (&amp;lt;code&amp;gt;out&amp;lt;/code&amp;gt;). Para isto basta escrever no GPIO exportado o valor requerido. No nosso exemplo colocaremos como output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo out &amp;gt; /sys/class/gpio/gpio131/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Escrevendo ou lendo no pino ===&lt;br /&gt;
&lt;br /&gt;
Para escrever no pino configurado como output basta enviar o valor para o parâmetro &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; do pino. No nosso exemplo colocaremos o valor 1 no pino:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso o pino seja definido como input basta ler este mesmo arquivo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lendo um parâmetro ===&lt;br /&gt;
O comando &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; pode ser usado nestes arquivos de parâmetros para ler o que já foi configurado dos pinos ficamos então com os seguinte exemplo completos para configuração do pino GPIOE3 como output em alta e GPIOE2 como input:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export #Exportando GPIOE3&lt;br /&gt;
$ echo out &amp;gt; /sys/class/gpio/gpio131/direction #Definindo como output&lt;br /&gt;
$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value #Escrevendo o valor 1&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/direction #Lendo a direção do pino&lt;br /&gt;
out&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/value #Lendo o valor do pino&lt;br /&gt;
1&lt;br /&gt;
$ echo 130 &amp;gt; /sys/class/gpio/export #Exportando GPIOE2&lt;br /&gt;
$ echo in &amp;gt; /sys/class/gpio/gpio130/direction #Definindo como input&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/value #Lendo o valor do pino&lt;br /&gt;
0&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/direction #Lendo a direção do pino&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interface chardev==&lt;br /&gt;
A interface chardev é a interface padrão do kernel Linux a partir do kernel 4.8 e compatível com a Labrador 64-bits, apesar de esta solução não permitir o uso de comandos padrão do terminal linux para controle da gpio como &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; usados anteriormente, esta API utiliza a biblioteca [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] que provê uma série de ferramentas para uso em terminal e também para uso em C, com bibliotecas de [https://github.com/brgl/libgpiod/tree/master/bindings vinculações] disponíveis em [https://github.com/brgl/libgpiod/tree/master/bindings/cxx C++] e [https://pypi.org/project/gpio-next/ Python]. A solução chardev é mais simples, elegante e robusta que a sysfs.&lt;br /&gt;
&lt;br /&gt;
=== Identificando o número da GPIO ===&lt;br /&gt;
Para o chardev os diferentes controladores de GPIO possuem pastas diferentes, chamados gpiochip. No caso temos A=0, B=1, C=2, D=3, E=4.&lt;br /&gt;
Portanto, os pinos agora serão definidos pelo controlador e pela linha dentro do mesmo. &lt;br /&gt;
&lt;br /&gt;
=== libgpiod no terminal ===&lt;br /&gt;
==== gpiodetect ====&lt;br /&gt;
Os controladores podem ser identificados com o comando &amp;lt;code&amp;gt;gpiodetect&amp;lt;/code&amp;gt; disponível pelo &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpiodetect&lt;br /&gt;
gpiochip0 [209c000.gpio] (32 lines)&lt;br /&gt;
gpiochip1 [20a0000.gpio] (32 lines)&lt;br /&gt;
gpiochip2 [20a4000.gpio] (32 lines)&lt;br /&gt;
gpiochip3 [20a8000.gpio] (32 lines)&lt;br /&gt;
gpiochip4 [20ac000.gpio] (32 lines)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioinfo ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt; fornece as informações dos pinos de cada controlador, por exemplo para exemplos dos pinos do controlador E:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioinfo 0&lt;br /&gt;
        line   0:      unnamed       unused   input  active-high&lt;br /&gt;
        line   1:      unnamed       unused   input  active-high&lt;br /&gt;
        line   2:      unnamed       unused   input  active-high&amp;lt;/pre&amp;gt;&lt;br /&gt;
No caso, nenhum destes pinos está em utilização.&lt;br /&gt;
&lt;br /&gt;
==== gpioget ====&lt;br /&gt;
Os pinos estão configurados como entrada por padrão, para acessar os valores de entrada dos pinos basta utilizar o comando &amp;lt;code&amp;gt;gpioget&amp;lt;/code&amp;gt;, no exemplo o pino GPIOE3 (controlador 4, pino 3)&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioget 4 3&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioset ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt; muda a direção para output e define o valor do mesmo, no exemplo definiremos o GPIOE3 para alto:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioset 4 3=1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpiomon ====&lt;br /&gt;
Este comando é utilizado para interrupções e eventos, ele monitorará o pino para mudanças e retornará as mudanças encontradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$gpiomon 4 3&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    322.073816438]&lt;br /&gt;
event: FALLING EDGE offset: 3 timestamp: [    323.467289198]&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    324.245127683]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilizando chardev em C ===&lt;br /&gt;
&lt;br /&gt;
A API chardev facilita o uso em programas em C, alguns exemplos podem ser encontrados com facilidade, como [https://github.com/starnight/libgpiod-example estes].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=386</id>
		<title>Programação GPIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=386"/>
		<updated>2020-07-09T17:34:32Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* GPIO Labrador 64 bits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página explica como programar as saídas GPIO (General Purpose Input/Output) da Labrador, que são basicamente pinos nos quais você pode enviar e receber dados. Para facilitar a programação, a placa Labrador segue a interface padrão para userspace para Linux embarcado. O tutorial desta página funciona tanto com a Labrador 32 quanto 64-bits.&lt;br /&gt;
&lt;br /&gt;
Além disso, a placa Labrador 32-bits é compatível com o formato da Raspberry Pi, e possui a biblioteca &amp;lt;code&amp;gt;wiringK9&amp;lt;/code&amp;gt;, baseada na wiringPi, também da Raspberry Pi. Mais detalhes desta biblioteca pode ser encontrado nessa página [[Wiring K9]].&lt;br /&gt;
&lt;br /&gt;
== Configuração dos pinos ==&lt;br /&gt;
&lt;br /&gt;
A configuração de pinos para o cabeçalho de GPIO é a seguinte:&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 32-bits ===&lt;br /&gt;
[[File:40pinh.png|image|1000px|caption Mapeamento do header de 40 pinos.]]&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 64 bits===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;background-color:#ffffff;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! Default Function&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Header Pin&lt;br /&gt;
! Default Function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE3&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE2&lt;br /&gt;
| 5&lt;br /&gt;
| 6&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB18&lt;br /&gt;
| 7&lt;br /&gt;
| 8&lt;br /&gt;
| UART0_TX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| UART0_RX&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC0&lt;br /&gt;
| 11&lt;br /&gt;
| 12&lt;br /&gt;
| GPIOB8&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC1&lt;br /&gt;
| 13&lt;br /&gt;
| 14&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC4&lt;br /&gt;
| 15&lt;br /&gt;
| 16&lt;br /&gt;
| GPIOD30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 17&lt;br /&gt;
| 18&lt;br /&gt;
| GPIOC6&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SDA&lt;br /&gt;
| 19&lt;br /&gt;
| 20&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC24&lt;br /&gt;
| 21&lt;br /&gt;
| 22&lt;br /&gt;
| GPIOC5&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SCK&lt;br /&gt;
| 23&lt;br /&gt;
| 24&lt;br /&gt;
| GPIOC23&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 25&lt;br /&gt;
| 26&lt;br /&gt;
| GPIOB19&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB16&lt;br /&gt;
| 27&lt;br /&gt;
| 28&lt;br /&gt;
| GPIOB14&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB15&lt;br /&gt;
| 29&lt;br /&gt;
| 30&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB10&lt;br /&gt;
| 31&lt;br /&gt;
| 32&lt;br /&gt;
| GPIOB13&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB0&lt;br /&gt;
| 33&lt;br /&gt;
| 34&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB1&lt;br /&gt;
| 35&lt;br /&gt;
| 36&lt;br /&gt;
| GPIOA28&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB2&lt;br /&gt;
| 37&lt;br /&gt;
| 38&lt;br /&gt;
| RESERVED&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 39&lt;br /&gt;
| 40&lt;br /&gt;
| RESERVED&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interface GPIO do Linux ==&lt;br /&gt;
O kernel Linux implementa em si uma solução de acesso à GPIO atraves de um modelo de criação e consumo de GPIO. Os drivers de criação são drivers como o controlador de GPIO que será detalhado nesta página, os consumidores são os drivers como sensores que utilizam estas linhas GPIO.&lt;br /&gt;
Dentro do kernel Linux existe uma estrutura de alocação e registradores dos pinos GPIO chamado gpiolib, esta estrutura cobre os drivers em nível de kernel e userspace. &lt;br /&gt;
As bibliotecas de espaço de usuário são, até a versão 4.7 do Kernel Linux a &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt; e a partir da versao 4.8 a &amp;lt;code&amp;gt;chardev&amp;lt;/code&amp;gt;. Embora a placa Labrador esteja atualmente no Kernel 4.19, ambas ainda são compatíveis e cobriremos o uso das duas interfaces de espaço de usuário.&lt;br /&gt;
&lt;br /&gt;
==Interface sysfs==&lt;br /&gt;
&lt;br /&gt;
Na interface sysfs o usuário tem acesso às GPIO através de arquivos exportados em &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt;. Para isso é necessário exportar um arquivo para cada GPIO, configurar a porta e escrever na mesma.&lt;br /&gt;
&lt;br /&gt;
===Identificando o número da GPIO===&lt;br /&gt;
No método sysfs utiliza-se o número absoluto das GPIO para exportá-las individualmente. A Labrador possui 5 grupos de GPIO (A, B, C, D e E). Cada um desses possui 32 pinos agrupados, portanto para indicar o valor absoluto do pino temos um offset dado pelo grupo mais o valor do pino, este offset seguem a lógica a seguir:&lt;br /&gt;
&lt;br /&gt;
*A: 0&lt;br /&gt;
*B: 32&lt;br /&gt;
*C: 64&lt;br /&gt;
*D: 96&lt;br /&gt;
*E: 128&lt;br /&gt;
&lt;br /&gt;
Portanto se quisermos acessar o pino 3 do header GPIO, no caso seria GPIOE3, portanto devemos exportar o pino GPIO 128+3=131. Isto seria feito com a seguinte linha de terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configurando a direção do pino ===&lt;br /&gt;
&lt;br /&gt;
Após exportado o pino devemos configurar a direção do mesmo entre input (&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;) ou output (&amp;lt;code&amp;gt;out&amp;lt;/code&amp;gt;). Para isto basta escrever no GPIO exportado o valor requerido. No nosso exemplo colocaremos como output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo out &amp;gt; /sys/class/gpio/gpio131/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Escrevendo ou lendo no pino ===&lt;br /&gt;
&lt;br /&gt;
Para escrever no pino configurado como output basta enviar o valor para o parâmetro &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; do pino. No nosso exemplo colocaremos o valor 1 no pino:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso o pino seja definido como input basta ler este mesmo arquivo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lendo um parâmetro ===&lt;br /&gt;
O comando &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; pode ser usado nestes arquivos de parâmetros para ler o que já foi configurado dos pinos ficamos então com os seguinte exemplo completos para configuração do pino GPIOE3 como output em alta e GPIOE2 como input:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export #Exportando GPIOE3&lt;br /&gt;
$ echo out &amp;gt; /sys/class/gpio/gpio131/direction #Definindo como output&lt;br /&gt;
$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value #Escrevendo o valor 1&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/direction #Lendo a direção do pino&lt;br /&gt;
out&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/value #Lendo o valor do pino&lt;br /&gt;
1&lt;br /&gt;
$ echo 130 &amp;gt; /sys/class/gpio/export #Exportando GPIOE2&lt;br /&gt;
$ echo in &amp;gt; /sys/class/gpio/gpio130/direction #Definindo como input&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/value #Lendo o valor do pino&lt;br /&gt;
0&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/direction #Lendo a direção do pino&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interface chardev==&lt;br /&gt;
A interface chardev é a interface padrão do kernel Linux a partir do kernel 4.8, apesar de esta solução não permitir o uso de comandos padrão do terminal linux para controle da gpio como &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; usados anteriormente, esta API utiliza a biblioteca [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] que provê uma série de ferramentas para uso em terminal e também para uso em C, com bibliotecas de [https://github.com/brgl/libgpiod/tree/master/bindings vinculações] disponíveis em [https://github.com/brgl/libgpiod/tree/master/bindings/cxx C++] e [https://pypi.org/project/gpio-next/ Python]. A solução chardev é mais simples, elegante e robusta que a sysfs.&lt;br /&gt;
&lt;br /&gt;
=== Identificando o número da GPIO ===&lt;br /&gt;
Para o chardev os diferentes controladores de GPIO possuem pastas diferentes, chamados gpiochip. No caso temos A=0, B=1, C=2, D=3, E=4.&lt;br /&gt;
Portanto, os pinos agora serão definidos pelo controlador e pela linha dentro do mesmo. &lt;br /&gt;
&lt;br /&gt;
=== libgpiod no terminal ===&lt;br /&gt;
==== gpiodetect ====&lt;br /&gt;
Os controladores podem ser identificados com o comando &amp;lt;code&amp;gt;gpiodetect&amp;lt;/code&amp;gt; disponível pelo &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpiodetect&lt;br /&gt;
gpiochip0 [209c000.gpio] (32 lines)&lt;br /&gt;
gpiochip1 [20a0000.gpio] (32 lines)&lt;br /&gt;
gpiochip2 [20a4000.gpio] (32 lines)&lt;br /&gt;
gpiochip3 [20a8000.gpio] (32 lines)&lt;br /&gt;
gpiochip4 [20ac000.gpio] (32 lines)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioinfo ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt; fornece as informações dos pinos de cada controlador, por exemplo para exemplos dos pinos do controlador E:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioinfo 0&lt;br /&gt;
        line   0:      unnamed       unused   input  active-high&lt;br /&gt;
        line   1:      unnamed       unused   input  active-high&lt;br /&gt;
        line   2:      unnamed       unused   input  active-high&amp;lt;/pre&amp;gt;&lt;br /&gt;
No caso, nenhum destes pinos está em utilização.&lt;br /&gt;
&lt;br /&gt;
==== gpioget ====&lt;br /&gt;
Os pinos estão configurados como entrada por padrão, para acessar os valores de entrada dos pinos basta utilizar o comando &amp;lt;code&amp;gt;gpioget&amp;lt;/code&amp;gt;, no exemplo o pino GPIOE3 (controlador 4, pino 3)&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioget 4 3&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioset ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt; muda a direção para output e define o valor do mesmo, no exemplo definiremos o GPIOE3 para alto:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioset 4 3=1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpiomon ====&lt;br /&gt;
Este comando é utilizado para interrupções e eventos, ele monitorará o pino para mudanças e retornará as mudanças encontradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$gpiomon 4 3&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    322.073816438]&lt;br /&gt;
event: FALLING EDGE offset: 3 timestamp: [    323.467289198]&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    324.245127683]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilizando chardev em C ===&lt;br /&gt;
&lt;br /&gt;
A API chardev facilita o uso em programas em C, alguns exemplos podem ser encontrados com facilidade, como [https://github.com/starnight/libgpiod-example estes].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=385</id>
		<title>Programação GPIO</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Programa%C3%A7%C3%A3o_GPIO&amp;diff=385"/>
		<updated>2020-07-09T17:33:21Z</updated>

		<summary type="html">&lt;p&gt;Augrm: /* Configuração dos pinos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta página explica como programar as saídas GPIO (General Purpose Input/Output) da Labrador, que são basicamente pinos nos quais você pode enviar e receber dados. Para facilitar a programação, a placa Labrador segue a interface padrão para userspace para Linux embarcado. O tutorial desta página funciona tanto com a Labrador 32 quanto 64-bits.&lt;br /&gt;
&lt;br /&gt;
Além disso, a placa Labrador 32-bits é compatível com o formato da Raspberry Pi, e possui a biblioteca &amp;lt;code&amp;gt;wiringK9&amp;lt;/code&amp;gt;, baseada na wiringPi, também da Raspberry Pi. Mais detalhes desta biblioteca pode ser encontrado nessa página [[Wiring K9]].&lt;br /&gt;
&lt;br /&gt;
== Configuração dos pinos ==&lt;br /&gt;
&lt;br /&gt;
A configuração de pinos para o cabeçalho de GPIO é a seguinte:&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 32-bits ===&lt;br /&gt;
[[File:40pinh.png|image|1000px|caption Mapeamento do header de 40 pinos.]]&lt;br /&gt;
&lt;br /&gt;
=== GPIO Labrador 64 bits===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! Default Function&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Header Pin&lt;br /&gt;
! Default Function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 1&lt;br /&gt;
| 2&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE3&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | 5V&lt;br /&gt;
|-&lt;br /&gt;
| GPIOE2&lt;br /&gt;
| 5&lt;br /&gt;
| 6&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB18&lt;br /&gt;
| 7&lt;br /&gt;
| 8&lt;br /&gt;
| UART0_TX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 9&lt;br /&gt;
| 10&lt;br /&gt;
| UART0_RX&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC0&lt;br /&gt;
| 11&lt;br /&gt;
| 12&lt;br /&gt;
| GPIOB8&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC1&lt;br /&gt;
| 13&lt;br /&gt;
| 14&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC4&lt;br /&gt;
| 15&lt;br /&gt;
| 16&lt;br /&gt;
| GPIOD30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | VCC&lt;br /&gt;
| 17&lt;br /&gt;
| 18&lt;br /&gt;
| GPIOC6&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SDA&lt;br /&gt;
| 19&lt;br /&gt;
| 20&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOC24&lt;br /&gt;
| 21&lt;br /&gt;
| 22&lt;br /&gt;
| GPIOC5&lt;br /&gt;
|-&lt;br /&gt;
| TWI3_SCK&lt;br /&gt;
| 23&lt;br /&gt;
| 24&lt;br /&gt;
| GPIOC23&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 25&lt;br /&gt;
| 26&lt;br /&gt;
| GPIOB19&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB16&lt;br /&gt;
| 27&lt;br /&gt;
| 28&lt;br /&gt;
| GPIOB14&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB15&lt;br /&gt;
| 29&lt;br /&gt;
| 30&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB10&lt;br /&gt;
| 31&lt;br /&gt;
| 32&lt;br /&gt;
| GPIOB13&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB0&lt;br /&gt;
| 33&lt;br /&gt;
| 34&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB1&lt;br /&gt;
| 35&lt;br /&gt;
| 36&lt;br /&gt;
| GPIOA28&lt;br /&gt;
|-&lt;br /&gt;
| GPIOB2&lt;br /&gt;
| 37&lt;br /&gt;
| 38&lt;br /&gt;
| RESERVED&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color:#efefef;&amp;quot; | GND&lt;br /&gt;
| 39&lt;br /&gt;
| 40&lt;br /&gt;
| RESERVED&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interface GPIO do Linux ==&lt;br /&gt;
O kernel Linux implementa em si uma solução de acesso à GPIO atraves de um modelo de criação e consumo de GPIO. Os drivers de criação são drivers como o controlador de GPIO que será detalhado nesta página, os consumidores são os drivers como sensores que utilizam estas linhas GPIO.&lt;br /&gt;
Dentro do kernel Linux existe uma estrutura de alocação e registradores dos pinos GPIO chamado gpiolib, esta estrutura cobre os drivers em nível de kernel e userspace. &lt;br /&gt;
As bibliotecas de espaço de usuário são, até a versão 4.7 do Kernel Linux a &amp;lt;code&amp;gt;sysfs&amp;lt;/code&amp;gt; e a partir da versao 4.8 a &amp;lt;code&amp;gt;chardev&amp;lt;/code&amp;gt;. Embora a placa Labrador esteja atualmente no Kernel 4.19, ambas ainda são compatíveis e cobriremos o uso das duas interfaces de espaço de usuário.&lt;br /&gt;
&lt;br /&gt;
==Interface sysfs==&lt;br /&gt;
&lt;br /&gt;
Na interface sysfs o usuário tem acesso às GPIO através de arquivos exportados em &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt;. Para isso é necessário exportar um arquivo para cada GPIO, configurar a porta e escrever na mesma.&lt;br /&gt;
&lt;br /&gt;
===Identificando o número da GPIO===&lt;br /&gt;
No método sysfs utiliza-se o número absoluto das GPIO para exportá-las individualmente. A Labrador possui 5 grupos de GPIO (A, B, C, D e E). Cada um desses possui 32 pinos agrupados, portanto para indicar o valor absoluto do pino temos um offset dado pelo grupo mais o valor do pino, este offset seguem a lógica a seguir:&lt;br /&gt;
&lt;br /&gt;
*A: 0&lt;br /&gt;
*B: 32&lt;br /&gt;
*C: 64&lt;br /&gt;
*D: 96&lt;br /&gt;
*E: 128&lt;br /&gt;
&lt;br /&gt;
Portanto se quisermos acessar o pino 3 do header GPIO, no caso seria GPIOE3, portanto devemos exportar o pino GPIO 128+3=131. Isto seria feito com a seguinte linha de terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configurando a direção do pino ===&lt;br /&gt;
&lt;br /&gt;
Após exportado o pino devemos configurar a direção do mesmo entre input (&amp;lt;code&amp;gt;in&amp;lt;/code&amp;gt;) ou output (&amp;lt;code&amp;gt;out&amp;lt;/code&amp;gt;). Para isto basta escrever no GPIO exportado o valor requerido. No nosso exemplo colocaremos como output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo out &amp;gt; /sys/class/gpio/gpio131/direction&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Escrevendo ou lendo no pino ===&lt;br /&gt;
&lt;br /&gt;
Para escrever no pino configurado como output basta enviar o valor para o parâmetro &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; do pino. No nosso exemplo colocaremos o valor 1 no pino:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Caso o pino seja definido como input basta ler este mesmo arquivo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/class/gpio/gpio131/value&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lendo um parâmetro ===&lt;br /&gt;
O comando &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; pode ser usado nestes arquivos de parâmetros para ler o que já foi configurado dos pinos ficamos então com os seguinte exemplo completos para configuração do pino GPIOE3 como output em alta e GPIOE2 como input:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 131 &amp;gt; /sys/class/gpio/export #Exportando GPIOE3&lt;br /&gt;
$ echo out &amp;gt; /sys/class/gpio/gpio131/direction #Definindo como output&lt;br /&gt;
$ echo 1 &amp;gt; /sys/class/gpio/gpio131/value #Escrevendo o valor 1&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/direction #Lendo a direção do pino&lt;br /&gt;
out&lt;br /&gt;
$ cat /sys/class/gpio/gpio131/value #Lendo o valor do pino&lt;br /&gt;
1&lt;br /&gt;
$ echo 130 &amp;gt; /sys/class/gpio/export #Exportando GPIOE2&lt;br /&gt;
$ echo in &amp;gt; /sys/class/gpio/gpio130/direction #Definindo como input&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/value #Lendo o valor do pino&lt;br /&gt;
0&lt;br /&gt;
$ cat /sys/class/gpio/gpio130/direction #Lendo a direção do pino&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Interface chardev==&lt;br /&gt;
A interface chardev é a interface padrão do kernel Linux a partir do kernel 4.8, apesar de esta solução não permitir o uso de comandos padrão do terminal linux para controle da gpio como &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; usados anteriormente, esta API utiliza a biblioteca [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] que provê uma série de ferramentas para uso em terminal e também para uso em C, com bibliotecas de [https://github.com/brgl/libgpiod/tree/master/bindings vinculações] disponíveis em [https://github.com/brgl/libgpiod/tree/master/bindings/cxx C++] e [https://pypi.org/project/gpio-next/ Python]. A solução chardev é mais simples, elegante e robusta que a sysfs.&lt;br /&gt;
&lt;br /&gt;
=== Identificando o número da GPIO ===&lt;br /&gt;
Para o chardev os diferentes controladores de GPIO possuem pastas diferentes, chamados gpiochip. No caso temos A=0, B=1, C=2, D=3, E=4.&lt;br /&gt;
Portanto, os pinos agora serão definidos pelo controlador e pela linha dentro do mesmo. &lt;br /&gt;
&lt;br /&gt;
=== libgpiod no terminal ===&lt;br /&gt;
==== gpiodetect ====&lt;br /&gt;
Os controladores podem ser identificados com o comando &amp;lt;code&amp;gt;gpiodetect&amp;lt;/code&amp;gt; disponível pelo &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpiodetect&lt;br /&gt;
gpiochip0 [209c000.gpio] (32 lines)&lt;br /&gt;
gpiochip1 [20a0000.gpio] (32 lines)&lt;br /&gt;
gpiochip2 [20a4000.gpio] (32 lines)&lt;br /&gt;
gpiochip3 [20a8000.gpio] (32 lines)&lt;br /&gt;
gpiochip4 [20ac000.gpio] (32 lines)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioinfo ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt; fornece as informações dos pinos de cada controlador, por exemplo para exemplos dos pinos do controlador E:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioinfo 0&lt;br /&gt;
        line   0:      unnamed       unused   input  active-high&lt;br /&gt;
        line   1:      unnamed       unused   input  active-high&lt;br /&gt;
        line   2:      unnamed       unused   input  active-high&amp;lt;/pre&amp;gt;&lt;br /&gt;
No caso, nenhum destes pinos está em utilização.&lt;br /&gt;
&lt;br /&gt;
==== gpioget ====&lt;br /&gt;
Os pinos estão configurados como entrada por padrão, para acessar os valores de entrada dos pinos basta utilizar o comando &amp;lt;code&amp;gt;gpioget&amp;lt;/code&amp;gt;, no exemplo o pino GPIOE3 (controlador 4, pino 3)&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioget 4 3&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpioset ====&lt;br /&gt;
O comando &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt; muda a direção para output e define o valor do mesmo, no exemplo definiremos o GPIOE3 para alto:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ gpioset 4 3=1&lt;br /&gt;
1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== gpiomon ====&lt;br /&gt;
Este comando é utilizado para interrupções e eventos, ele monitorará o pino para mudanças e retornará as mudanças encontradas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$gpiomon 4 3&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    322.073816438]&lt;br /&gt;
event: FALLING EDGE offset: 3 timestamp: [    323.467289198]&lt;br /&gt;
event:  RISING EDGE offset: 3 timestamp: [    324.245127683]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utilizando chardev em C ===&lt;br /&gt;
&lt;br /&gt;
A API chardev facilita o uso em programas em C, alguns exemplos podem ser encontrados com facilidade, como [https://github.com/starnight/libgpiod-example estes].&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
	<entry>
		<id>https://wiki.canisinc.com.br/index.php?title=Sensores_internos&amp;diff=384</id>
		<title>Sensores internos</title>
		<link rel="alternate" type="text/html" href="https://wiki.canisinc.com.br/index.php?title=Sensores_internos&amp;diff=384"/>
		<updated>2020-07-02T15:53:05Z</updated>

		<summary type="html">&lt;p&gt;Augrm: Criou página com &amp;#039;A Labrador conta com diferentes sensores internos nos chips de processador e de gerenciamento de energia. Todos estes sensores podem ser acessados no diretório &amp;lt;code&amp;gt;/sys/ker...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Labrador conta com diferentes sensores internos nos chips de processador e de gerenciamento de energia. Todos estes sensores podem ser acessados no diretório &amp;lt;code&amp;gt;/sys/kernel/auxadc&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Sensores disponíveis =&lt;br /&gt;
Os sensores disponíveis bem como suas unidades de medida são conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
*ictemp - Temperatura do controlador de energia - 10&amp;lt;sup&amp;gt;-3 o&amp;lt;/sup&amp;gt;C&lt;br /&gt;
*batv - Tensão no conector de bateria - mV&lt;br /&gt;
*bati - Corrente no conector de bateria - mA&lt;br /&gt;
*vbusv - Tensão no bus USB 3 - mV&lt;br /&gt;
*vbusi - Corrente no bus USB 3 - mA&lt;br /&gt;
*syspwrv - Tensão interna do processador - mV&lt;br /&gt;
*wallv - Tensão da fonte de entrada - mV&lt;br /&gt;
*walli - Corrente da fonte de entrada - mA&lt;br /&gt;
*chgi - Corrente de carregamento da bateria pela fonte - mA *&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; O carregamento da bateria ainda não está implementado na última versão do sistema, não recomendamos conectar bateria e fonte simultaneamente.&lt;br /&gt;
&lt;br /&gt;
= Leitura =&lt;br /&gt;
O valor dos arquivos de cada sensor serão atualizados quando for realizada uma leitura. A leitura terá o timestamp do momento da mediçãop e o valor obtido, inclusive com sinal para casos negativos. Por exemplo através do comando abaixo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/kernel/auxadc/ictemp&lt;br /&gt;
102345 53000 mCelsius&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, mostrando 53&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C no gerenciador de energia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ cat /sys/kernel/auxadc/ictemp&lt;br /&gt;
102348 -15000 mCelsius&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No caso, mostrando -15&amp;lt;sup&amp;gt;o&amp;lt;/sup&amp;gt;C no gerenciador de energia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Leitura em programas ==&lt;br /&gt;
Os arquivos podem ser acessados também dentro de outros programas, e atualizarão a cada leitura, é necessário que o arquivo seja aberto, lido e fechado para que os dados continuem atualizados. Um exemplo seria:&lt;br /&gt;
&amp;lt;pre&amp;gt;fd= fopen(&amp;quot;/sys/kernel/auxadc/ictemp&amp;quot;)&lt;br /&gt;
read(fd, buffer)&lt;br /&gt;
close(fd)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra opção é utilizar a função &amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; do C para Linux, que utiliza um buffer intermediário e também atualiza os valores de leitura, sendo mais rápido do que abrir e fechar o arquivo em cada atualização.&lt;/div&gt;</summary>
		<author><name>Augrm</name></author>
	</entry>
</feed>