Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Depois de muito pesquisar, fiquei surpreso e desanimado com as informações conflitantes sobre como configurar o controle remoto IR para meu projeto RPi. Achei que seria fácil, mas configurar o Linux InfraRed Control (LIRC) tem sido problemático por um longo tempo, mas mudou muito em junho de 2019 com o lançamento da versão Buster do Raspbian, tornando muitos dos tutoriais por aí inúteis. Muitos tutoriais fazem com que você crie um arquivo hardware.conf, mas o LIRC não precisa nem quer isso e o módulo lirc-rpi foi substituído pelo módulo gpio-ir.
O tutorial assume que o RPi está executando o raspbian (versão Buster junho de 2019). Também é assumido um conhecimento prático do terminal, comandos básicos do prompt de comando e edição de arquivos de texto.
NOTA: A configuração do LIRC falhará se for executado como usuário Root e levar ao temido erro "não é possível importar o nome RawConnection" ao executar o código python. Este tutorial assume que você está conectado como um usuário (ou seja: PI)
Objetivo: Habilitar o controle remoto IR de projetos RPi
1) Configure o LIRC no RPi [Parte 1]
2) Demonstrar LIRC usando python [Parte 2]
Suprimentos
--- Raspberry Pi (3, 4, zero)
--- Fio Dupont (fêmea-fêmea)
--- Receptor IR VS 1838b
Etapa 1: montar o hardware
Usar o receptor IR VS1838b não poderia ser mais fácil. Basta conectar o sensor ao RPi diretamente com o fio Dupont (Fêmea-Fêmea). Você também pode usar uma placa de ensaio (não mostrada) ou solda em um protoboard (foto)
Olhando para o receptor IR VS1838b de frente (com o grande X voltado para você)
---- A perna esquerda está fora
---- Perna central é aterrada
---- A perna direita é 3,3v
1) Conecte a perna esquerda ao pino 17 do BCM no RPi (fio amarelo)
2) Prenda a perna central ao aterramento (fio preto)
3) Conecte a perna direita a 3,3v (fio vermelho)
Etapa 2: Instale o Lirc
1) Abra a janela do terminal e instale o LIRC. Esteja avisado de que isso provavelmente gerará um erro "Falha ao iniciar o suporte de aplicativo de entrada / saída remota IR flexível", pois os arquivos instalados agora têm.dist anexado e o sufixo deve ser removido conforme observado abaixo. Não é difícil, mas frustrante.
$ sudo apt-get update
$ sudo apt-get install lirc
----NÃO SE PREOCUPE! pois isso provavelmente gerará um erro "Falha ao iniciar o suporte de aplicativo de entrada / saída remota IR flexível", pois o sufixo.dist precisa ser excluído de lirc_options.conf. Apenas renomeie o arquivo conforme mostrado.
$ sudo mv /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
2) Reinstale o lirc agora que o arquivo lirc_options.conf foi renomeado
$ sudo apt-get install lirc
Etapa 3: Editar Lirc_options.conf
Edite /etc/lirc/lirc_options.conf da seguinte maneira, alterando essas duas linhas:
:
:
driver = padrão
dispositivo = / dev / lirc0
:
:
Etapa 4: execute mover para remover o sufixo.dist do Lircd.conf.dist
Remova o sufixo.dist de /etc/lirc/lircd.conf.dist
$ sudo mv /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
Etapa 5: Editar Config.txt
Edite /boot/config.txt adicionando uma linha na seção do módulo lirc-rpi como segue. Este exemplo assume que o RPi está 'escutando' no pino 17 do BCM para o receptor IR, mas qualquer pino IO RPi pode ser usado. Eu não tentei ainda, mas se você deseja enviar comandos do RPi, adicione e descomente a 4ª linha mostrada abaixo para enviar comandos IR no pino 18 do BCM
:
:
:
# Remova o comentário para habilitar o módulo lirc-rpi
# dtoverlay = lirc-rpi
dtoverlay = gpio-ir, gpio_pin = 17
# dtoverlay = gpio-ir-tx, gpio_pin = 18
:
:
:
Etapa 6: verificar o status e reinicializar
1) Pare, inicie e verifique o status do lircd para garantir que não haja erros!
$ sudo systemctl stop lircd.service
$ sudo systemctl start lircd.service
$ sudo systemctl status lircd.service
2) Reinicializar
$ sudo reboot
Etapa 7: teste remoto
Esta etapa assume que você tem um receptor IR conectado ao seu RPi no pino especificado em config.txt.
1) pare o serviço LIRCD e teste remoto usando o comando mode2
$ sudo systemctl stop lircd.service
$ sudo mode2 -d / dev / lirc0
3) Aponte o controle remoto para o receptor e pressione alguns botões. Você deve ver algo assim:
:
:
espaço
pulso
:
:
4) Pressione Ctrl-C para sair
5) Seu receptor IR está configurado e pronto para prosseguir para a Parte 2 e ser acessado em python.