[LAB] Configurando a Comunicação Serial
Configurando a Comunicação Serial com a RPi 3
Por padrão, a Raspberry Pi possui duas built-in UARTs, uma comum (PL011) e outra mini UART. Essa última, é limitada e carece de alguns recursos básicos como break detection, bit de paridade, dentre outros. Alem disso, a mini UART possui uma FIFO menor quando comparada à PL011 e sua baudrate é linkada ao clock da GPU, ou seja, a taxa de transmissão da mini UART varia de acordo com a oscilação do clock da GPU.
O módulo BT (bluetooth) da RPi 3 necessita de uma UART para funcionar e, por padrão, o BT da RPi 3 é conectado à UART PL011, tornando-a inutilizável para o usuário. No entanto, o firmware da GPU permite que o usuário escolha uma dentre as três opções:
Desabilitar o módulo BT;
Utilizar o módulo BT com a mini UART;
Utilizar o módulo BT com a UART PL011;
A princípio, a utilização da mini UART para redirecionamento de console é suficiente, pois além da interação entre usuário e target via shell possuir um fluxo de dados baixo, existe a possibilidade de realizar a comunicação via rede (SSH). Portanto, será necessário apenas ativar o redirecionamento do console para a mini UART. Para tal, acesse a RPi via SSH e adicione as seguintes linhas no final do arquivo config.txt
:
Para salvar as alterações feitas em um arquivo com o nano, utilize as teclas CTRL+X, Y
, Enter
.
Para maiores informações, consulte a documentação da UART no site da RPi. Após realizar a configuração acima, desligue a Raspberry Pi,
e faça a conexão entre o adaptador USB-Serial (TTL) e a placa. Certifique-se de escolher a opção/jumper 3.3v caso o adaptador permita. Por padrão, a RPi roteia os pinos GPIO14
e GPIO15
como TX e RX da serial principal (aquela que não está sendo utilizada pelo módulo BT), respectivamente.
Esses GPIOS estão mapeados nos pinos 08 e 10, respectivamente, do conector geral de 40 pinos. Os pinos 01 e 02 de tal conector são aqueles fisicamente próximos da borda oposta às entradas USB. O pino 01 é o pino mais interno e o pino 02 é o mais externo, próximo da borda lateral. As figuras a seguir exibem a descrição completa do conector de 40 pinos e indicação dos pinos fisicamente. Após analisar as figuras, faça as três conexões, TX, RX e GND, entre seu adaptador e a RPi3.
Configurando Acesso ao USB no Ubuntu
Para acessar a Serial no Ubuntu com o usuário padrão (você), dois procedimentos são necessários: Primeiramente deve-se criar o grupo dialout
, pois por padrão a serial pertencerá a este e grupo e, o grupo ainda não foi criado e nem você pertence a ele:
O comando acima cria o grupo dialout
no sistema. Então, é preciso adicionar você como um usuário deste grupo, ou seja, para que você tenha acesso à qualquer arquivo/dispositivo pertencente ao grupo:
O comando acima adiciona o usuário nome_de_usuario ao grupo dialout
. Para maiores informações sobre grupos e usuários: https://wiki.archlinux.org/index.php/users_and_groups
Normalmente, existe uma opção para chavear um dispositivo de hardware entre o host (seu computador) e guest (máquina virtual). Verifique na sua aplicação da VirtualBox as opções ficam no menu Devices>USB. Encontre o dispositivo que você deseja colocar na máquina virtual e selecione.
Testando a Comunicação Serial
Conecte o adaptador serial na máquina de desenvolvimento e rode o comando dmesg
no terminal. A saída será algo parecido com:
Procure pelo nome do arquivo criado pelo driver para manipular o dispositivo conectado. No caso acima, o nome do arquivo é ttyUSB0
. Normalmente dispositivos seriais são mapeados como ttyUSB0
, ttyS0
, ou algo similar, e são criados dentro do diretório de dispositivos do Linux /dev
. Não se preocupe com detalhes a respeito de drivers e arquivos de dispositivo neste momento, essas informações serão vistas mais adiantes no treinamento.
Após identificar seu dispositivo, abra o putty e o configure da seguinte maneira:
Connection type: Serial;
Serial line: Nome do seu dispositivo. No exemplo acima:
/dev/ttyUSB0
;Speed: Este é o baudrate da conexão serial. Configure-o para: 115200;
Clique em Default Settings e em seguida Save, de modo a salvar as configurações feitas e não precisar repeti-las sempre que iniciar o putty.
Clique em Open para iniciar uma nova conexão e, se tudo foi configurado corretamente, ao ligar a RPi 3, um console deverá ser exibido na janela do putty. Caso tenha ocorrido algum erro, peça ajuda ao instrutor.
Last updated