RDK: Comunicação por porta serial
Introdução
Este repositório fornece um código de exemplo em Python para a comunicação entre a plataforma RDK X5 (Raspberry Pi) e o módulo de interação por voz com IA, com suporte a dois modos de comunicação: I2C e UART.
Módulo de reconhecimento de fala: oferece suporte a reconhecimento de fala offline e gera o ID do comando após o reconhecimento
Função de reprodução: oferece suporte a reprodução passiva, reprodução de palavras de função e reprodução de palavras de comando
Protocolo de comunicação: endereço I2C 0x2A, taxa de transmissão UART 115200
Linguagem de programação: Python 3
Conexão de hardware
Conexão geral
Aviso importante: certifique-se de que todos os dispositivos estejam aterrados em comum!
Conexão da versão UART
Atenção: por padrão, usa-se o dispositivo de porta serial /dev/ttyAMA0
Conexão pelo cabo de dados Type-C (alternativa ao UART)
Se você usar um módulo adaptador USB-TTL:
Atenção: nesse caso, o dispositivo de porta serial geralmente é /dev/ttyUSB0

Configuração do ambiente
Requisitos do sistema
RDK X5
Sistema Ubuntu / Debian
Python 3.7+
Instalar os pacotes de dependência
# Atualizar os pacotes
sudo apt update
sudo apt upgrade -y
# Instalar as bibliotecas Python
sudo apt install -y python3-pip
# Instalar o pyserial
pip3 install pyserialHabilitar a interface de porta serial
# Abrir a ferramenta de configuração
sudo raspi-config
# Selecionar Interface Options → Serial
Select: No (shell) → Yes (hardware serial port)
# Reiniciar para aplicar
sudo rebootUso da versão UART
Verificar os arquivos de código
cd UART_Voice
ls -la
# Você deve ver uart_voice.pyConfigurar o dispositivo de porta serial
Edite o arquivo uart_voice.py e modifique o dispositivo de porta serial:
# Conexão direta UART (padrão)
SERIAL_PORT = '/dev/ttyAMA0'
# Ou usar USB-TTL
SERIAL_PORT = '/dev/ttyUSB0'
# Taxa de transmissão
BAUD_RATE = 115200Executar o programa
Conceder permissão de execução
chmod +x uart_voice.py
# Executar (requer permissão sudo para acessar a porta serial)
sudo python3 uart_voice.pyTeste de execução
Após a inicialização normal, será exibido:
Speech Serial Opened! Baudrate=115200Diga uma palavra de comando ao módulo de voz e o ID correspondente será exibido:
Speech Serial Opened! Baudrate=115200
ID:1
ID:4
ID:10Parar o programa
Pressione Ctrl + C para parar o programa
Solução de problemas
Q1: O dispositivo de porta serial não é encontrado
R: Verifique:
Verifique se a porta serial está habilitada (raspi-config)
Verifique se o nome do dispositivo está correto
UART direto:
/dev/ttyAMA0USB-TTL:
/dev/ttyUSB0ou/dev/ttyUSB1
Verifique se a conexão de hardware está correta
Verifique se a porta serial está sendo usada por outro programa
# Ver as portas seriais disponíveis
ls /dev/tty* | grep ttyQ2: O ID do comando mostra apenas 0 ou não é exibido
R: Comportamento normal:
0 = nenhum comando válido reconhecido
O ID só é gerado quando se diz uma palavra de comando válida
Ative o módulo primeiro e depois diga o comando
Q3: Taxa de reconhecimento baixa
R: Sugestões de otimização:
Garanta um ambiente silencioso e evite ruído de fundo alto
Mantenha uma distância moderada do microfone (10-50cm)
Fale em velocidade moderada e com pronúncia clara
Q4: Comunicação pela porta serial anormal
R: Verifique:
Se TX/RX estão conectados em cruzamento (TX do módulo → RX do RPi)
Se a taxa de transmissão é 115200
Se há aterramento em comum
Se a porta serial está sendo usada por outro processo
# Verificar se a porta serial está em uso
sudo lsof /dev/ttyAMA0Suporte técnico
Em caso de problemas, verifique:
Se o cabeamento do hardware está correto (o aterramento em comum é muito importante!)
Se a taxa de transmissão da porta serial é 115200
Se há permissões suficientes para acessar a interface de hardware
Comandos de depuração comuns
ls -l /dev/ttyAMA0 # Ver os dispositivos de porta serial
groups # Ver as permissões do grupo de usuários
