Índice:

Raspberry PI 3 - Habilitar comunicações seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15: 9 etapas
Raspberry PI 3 - Habilitar comunicações seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15: 9 etapas

Vídeo: Raspberry PI 3 - Habilitar comunicações seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15: 9 etapas

Vídeo: Raspberry PI 3 - Habilitar comunicações seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15: 9 etapas
Vídeo: FSE - Aula 05 - Acessando a UART da Raspberry Pi 2024, Novembro
Anonim
Raspberry PI 3 - Habilita Comunicações Seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Habilita Comunicações Seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Habilita Comunicações Seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15
Raspberry PI 3 - Habilita Comunicações Seriais para TtyAMA0 para BCM GPIO 14 e GPIO 15

Recentemente, tive interesse em habilitar o UART0 no meu Raspberry Pi (3b) para que eu pudesse conectá-lo diretamente a um dispositivo de nível de sinal RS-232 usando um conector d-sub de 9 pinos padrão sem ter que passar por um USB para RS-232 adaptador.

Parte do meu interesse aqui era também poder conectar um conversor de nível RS-232 (MAX3232) ou um dispositivo RS-485 (MAX485).

Eu me esforcei um pouco tentando fazer a configuração do Pi funcionar. Não tenho muita experiência com o Raspberry Pi, ou seu sistema operacional, então estava em uma curva de aprendizado bastante íngreme.

Por fim, por meio de pesquisas no Google junto com "Teste e erro", consegui reunir todos os detalhes para que funcionasse de forma satisfatória, mas as informações não estavam em um documento conciso que contivesse todas as etapas para fazer isso acontecer.

Estou listando aqui as etapas que executei para fazer isso funcionar para mim.

Suprimentos

1 - Raspberry Pi. Eu usei um modelo 3b.. mas este procedimento deve funcionar com a maioria dos Pi's, especialmente aqueles com as últimas versões do Raspberry Pi IOS (anteriormente Raspian).

2 - Um "mini" Conversor de Nível RS-232 - TTL para RS-232 - Usei um pequeno PCB carregado com um MAX 3232 IC que comprei no eBay.. Também tentei com sucesso com um TTL para RS-485 conversor - também adquirido no eBay.

Uma vez que o Pi foi configurado, ambos os conversores funcionaram de forma satisfatória, sem nenhum problema para mim.

Etapa 1: Instale uma cópia FRESH no Raspbian em seu cartão de memória

Instale uma cópia FRESH no Raspbian no seu cartão de memória
Instale uma cópia FRESH no Raspbian no seu cartão de memória

Comecei instalando uma cópia Fresh / Most Up-To-Date do Raspberry Pi IOS (anteriormente Raspian) no meu cartão de memória. Eu escolhi não seguir o caminho do NOOBS.

Baixe e instale a ferramenta Imager

www.raspberrypi.org/downloads/

Baixe, descompacte e instale em seu cartão de memória a imagem Raspberry Pi IOS.

Após a inicialização, verifique e atualize conforme necessário …

Etapa 2: ative a porta serial Raspberry Pi - usando a GUI

Ative a porta serial Raspberry Pi - usando a GUI
Ative a porta serial Raspberry Pi - usando a GUI
Ative a porta serial Raspberry Pi - usando a GUI
Ative a porta serial Raspberry Pi - usando a GUI

Por padrão, em uma nova instalação do IOS do Raspberry Pi, o UART0 é reservado para o "Shell de logon". Isso se destina a fornecer a você algum acesso / controle do Pi por meio de uma combinação de porta serial / programa de terminal.

Para usar o UART0 para outros aplicativos, você precisa "desligar" essa conexão com o shell de logon. Isso ocorre em algumas etapas bastante fáceis.

A maneira mais rápida de habilitar a "Porta Serial" é por meio da GUI.

Em "Raspberry - Menu suspenso", selecione "Preferências" e, em seguida, "Configuração Raspberry Pi"

A partir daí, vá para a guia "Interfaces" e "Habilite" a porta serial (clicando no botão de opção apropriado.

Clique em OK para sair e reinicie.

OU.. você pode seguir este método …

Etapa 3: um método alternativo para habilitar a porta serial (e desabilitar o shell de login)

Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)
Um método alternativo para habilitar a porta serial (e desabilitar o shell de login)

Este método é para referência - não é necessário, mas é bom conhecer.

== == ==

Um método alternativo para desativar o console usando UART0 na inicialização.

usar:

sudo raspi-config

Escolha a Opção # 5 - Opções de Interface ==> Selecionar

Escolha P6 Serial ==> Select

Responda NÃO a: Deseja que um shell de login seja acessível pela serial?

Responda SIM para: Deseja que o hardware da porta serial seja habilitado?

A resposta será:

O shell de login serial está desabilitado

A interface serial está habilitada

Selecione OK

Selecione Concluir

Etapa 4: desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0

Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0
Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0
Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0
Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0
Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0
Desative o Bluetooth - libere o UART0 e libere-o para o TtyAMA0

A segunda parte do processo também é desconectar o Bluetooth do UART0.

De acordo com esta página "CONFIGURAÇÃO UART", você precisará desconectar o dispositivo Bluetooth do UART0 e liberar UART0 para ttyAMA0 - Se necessário, você pode mover o Bluetooth para o "mini-UART"

Prossiga editando o arquivo chamado "config.txt" (localizado no diretório "boot") e adicione UMA linha na parte inferior da página:

dtoverlay = disable-bt

Dependendo da sua situação e desejo de usar o Bluetooth, você pode adicionar a seguinte linha (mas não é necessário que este tutorial funcione corretamente). Esta página também contém detalhes valiosos sobre todo esse negócio. Por favor, reserve um tempo para ler o arquivo vinculado (veja acima) para entender melhor isso.

dtoverlay = miniuart-bt

Verifique a ortografia, SALVE o arquivo ao SAIR e reinicie.

Neste ponto, você deve estar pronto para ir.

Etapa 5: Pinagem RPI para a porta UART

Pin-out RPI para a porta UART
Pin-out RPI para a porta UART

De acordo com o site "pinout.xyz", os pinos Raspberry Pi UART0 podem ser acessados nos pinos a seguir.

Os pinos UART no modo BCM são: RPI Pin # 8 / GPIO14 ==> TXD

Pino RPI # 10 / GPIO15 ==> RXD

Lembre-se que para esses pinos, eles são "níveis TTL de 3,3 Volts".. eles podem ser usados para acionar e receber de um dispositivo de nível RS-232 ou RS-422 / RS-485. Tentar fazer isso IRÁ queimar o UART integrado e, provavelmente, levará o chip do processador com ele.

Você DEVE usar um conversor de nível.

Para conectar a um dispositivo de nível RS-232 ou RS-422 / RS-485, você precisa de um conversor de nível apropriado.

Etapa 6: Adicionar um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi

Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-232 ao dispositivo conversor de nível TTL ao seu Raspberry Pi

Para conversões de níveis TTL para RS-232, eu uso o seguinte conversor.

Um conversor de nível Mini RS232 para TTL baseado em MAX3232.

Este item pode ser alimentado por 3,3 VCC ou mesmo 5 VCC (ambos disponíveis em pinos específicos em seu RPI) e, na verdade, usa muito pouca corrente.

A folha de dados do MAX3232 fornece detalhes valiosos sobre sua operação, mas na realidade nenhuma codificação é necessária para fazer este trabalho

Consulte as fotos anexas e reserve um tempo para conectar cuidadosamente os pinos do Raspberry Pi aos pinos apropriados no módulo. Apenas saiba que este dispositivo funcionará com 3,3 VCC ou 5 VCC - ambos disponíveis no RPI (consulte o diagrama de pinagem).

AVISO:

Eu comprei um monte de 10 dessas unidades no eBay e NÃO consegui fazer nenhuma delas funcionar. Superficialmente, eles parecem que deveriam ser fáceis de usar, mas não. Depois de lutar um pouco com eles, encontrei muitos detalhes sobre o FAKE MAX3232 disponíveis on-line.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

Eu NÃO recomendo este item.

Etapa 7: Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi

Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi
Adicionando um nível RS-485 ao dispositivo conversor de nível TTL ao seu Raspberry Pi

Semelhante na maioria das formas à etapa anterior, adicionar um conversor de nível RS-485 é tão fácil - talvez até mais fácil.

Para conversões de níveis TTL para RS-232, eu uso o seguinte conversor.

Um MAX485 baseia o nível RS485 para o conversor de nível TTL. Novamente, este item pode ser alimentado por 3,3 VCC ou mesmo 5 VCC (ambos disponíveis em pinos específicos em seu RPI) e, na verdade, usa muito pouca corrente. A folha de dados do MAX485 fornece detalhes valiosos sobre sua operação, mas na realidade nenhuma codificação é necessária para fazer este trabalho

Consulte as fotos anexas e reserve um tempo para conectar cuidadosamente os pinos do Raspberry Pi aos pinos apropriados no módulo. Apenas saiba que este dispositivo funcionará com 3,3 VCC ou 5 VCC - ambos disponíveis no RPI (consulte o diagrama de pinagem).

Digno de nota - ao contrário do RS-232, o RS-485 não possui um tipo de conector "padrão" associado a ele. A nomenclatura é tipicamente "B-" e "A +", mas esteja ciente de que nem todos os fornecedores seguem esta mesma nomenclatura. RS-485 funciona com esquema de sinal de "Par diferencial" - Mais detalhes disponíveis aqui. O "oeste selvagem" vive no vale RS-485..

Etapa 8: agora é sua vez

Agora você deve ser capaz de conectar seu Raspberry Pi diretamente a um dispositivo externo de sua escolha. Existem MUITOS deles ainda em uso hoje.

Como você faz isso depende de você …

Para começar, verifique "Minicom" ou "CuteCom", ou verifique as possibilidades usando "NodeRED".

Etapa 9: Sinopse

Sinta-se à vontade para deixar comentários ou sugestões / correções. Eu apreciaria que.

Recomendado: