Introduction: Comunicação Serial Com a Dragonboard 410c Usando Mezzanine 96boards Sensors

About: Frederico Martins Pedroso Junior - Embedded Software Engineer.

O objetivo desse tutorial é mostrar as etapas necessárias para configurar o ambiente de desenvolvimento, de modo que seja possível comunicar com a Dragonboard 410c através de um computador / notebook usando comunicação Serial.

Step 1: Pré Requisitos:

Os pré requisitos são:

Hardware

  • (1) Computador/Notebook
  • (1) Dragonboard 410c (Arrow)
  • (1) 96boards sensors mezzanine (Arrow)
  • (1) Cabo micro-USB (Amazon)

Software

Step 2: Plugando O 96boards Sensors Mezzanine Na Dragonboard 410c

A primeira etapa do processo é plugar o 96boards sensors mezzanine (Mezzanine) na Dragonboard 410c (DB410c).

O Mezzanine funciona como um shield para a Dragonboard 410c, permitindo expandir mais recursos de hardware. Além disso, utiliza conectores padrão para sensores, atuadores e inputs da família Grove.

Step 3: Preparando O Ambiente Na Máquina Host

A preparação do ambiente de desenvolvimento no Host consiste em configurar um cliente serial para acessar a Dragonboard 410c.

Existem diversos programas com função de cliente serial disponíveis na Internet, segue abaixo um guia para Windows e Linux:

Windows

O Putty é um programa para emulação de terminais que suporta protocolos Raw, Telnet, Rlogin, SSH e Serial.

Faça download da última versão e instale na sua máquina host.

Linux

Para acessar a porta serial no Linux, vamos usar o software GNU Screen.

Seguem os passos para instalação em sistemas com:

  • APT-GET:
apt-get install screen
  • YUM:
yum install screen

Após a instalação do cliente serial na máquina host, podemos considerar que o ambiente está preparado para comunicar com a Dragonboard 410c via serial.

No próximo passo vamos entender como fazer a conexão física entre o Host e o Alvo.

Step 4: Conexão Serial Entre a Dragonboard 410c E O Host

Um dos recursos oferecidos pelo Mezzanine é o conversor USB para Serial.

Os passos necessários para usar o conversor usb-serial é:

  1. Identificar o USB<->Serial no Mezzanine;
  2. Plugar o micro-USB no Mezzanine;
  3. Plugar o USB no Host.

Step 5: Identificando Qual Porta Serial Foi Aberta No Host

Após ter concluído as etapas anteriores com sucesso, o próximo passo é identificar a nível de sistema operacional qual porta serial foi aberta no Host. Segue abaixo o caminho para fazer essa identificação no Windows e Linux:

Windows

Para identificar o ID da porta serial que foi aberta no Windows, basta acessar o gerenciador de dispositivos e em seguir expandir a aba Portas (COM e LPT).

Linux

No Linux, o comando utilizado para identificar qual porta serial está sendo usada na comunicação entre o host e alvo é o dmesg. Para filtrar a pesquisa, iremos passar o parâmetro "| grep tty":

dmesg | grep tty

[    0.000000] console [tty0] enabled
[    0.654581] 0000:00:03.3: ttyS0 at I/O 0x1830 (irq = 17, base_baud = 115200) is a 16550A [ 4855.339254] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0

Step 6: Acessando a Dragonboard 410c Via Serial Usando Windows

Para acessar a Dragonboard 410c através de um Host com sistema operacional Windows, vamos usar o software Putty.

Passos necessários para configurar uma nova conexão serial no Putty:

  1. Abrir o Putty (imagem 1)
  2. Selecionar a opção Serial em Connection type. (imagem 2)
  3. Preencher o Serial line e Speed com as informações de comunicação (imagem 3)
  4. Clique em Open para iniciar a sessão (imagem 4)
  5. Tecle Enter para aparecer o terminal (imagem 5)

Observações:

  • A velocidade padrão para acessar a Dragonboard 410c via Serial é 115200 bps;
  • Para esse exemplo, vamos considerar a porta COM9 como ativa para comunicação.

Step 7: Acessando a Dragonboard 410c Via Serial Usando Linux

Vamos usar o mesmo conceito de passar a Porta e Velocidade como parâmetro para iniciar uma conexão serial.

Lembrando que a velocidade usada para comunicar com a Dragonboard 410c é 115200 bps.

Screen

screen PORTA VELOCIDADE

Para fazer a comunicação no Linux, precisa ser com permissão root.

Considerando a porta /dev/ttyUSB0, temos:

sudo screen /dev/ttyUSB0 115200

O resultado é o acesso ao terminal do sistema:

root@linaro-a:
  • Dica:

O mesmo serve para usuários de macOS.

screen /dev/tty.usbserial-08-15 115200