Raspberry Pi: Controle GPIO com MQTT: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 19: Linha 19:
===Configuração do Mosquitto para acesso por máquinas remotas===
===Configuração do Mosquitto para acesso por máquinas remotas===


As versões novas do Mosquitto somente permitem acesso de clientes rodando na máquina local (localhost). Isso pode ser verificado rodando o Mosquitto para mostrar os <code>log</code> da operação com o comando:
Nas versões do Mosquitto 2.0 e superiores deve-se '''configurar o modo autenticação''' para os clientes de conectarem ao broker <ref>https://mosquitto.org/documentation/authentication-methods/</ref>. Caso contrário, somente terão acesso os clientes rodando na máquina local (localhost). Isso pode ser verificado rodando o Mosquitto para mostrar os <code>log</code> da operação com o comando:
  mosquitto -v  
  mosquitto -v  


Linha 28: Linha 28:
  1645204154: Starting in local only mode. Connections will only  be possible from clients running on this machine.
  1645204154: Starting in local only mode. Connections will only  be possible from clients running on this machine.
  1645204154: Create a configuration file which defines a listener to allow remote access.
  1645204154: Create a configuration file which defines a listener to allow remote access.
Para habilitar '''acesso remoto''' e '''sem autenticação''', deve-se criar um arquivo de configuração contendo as opções:
listener 1883
allow_anonymous true


==Exemplo de programas==
==Exemplo de programas==

Edição das 11h52min de 22 de fevereiro de 2022

Raspberry Pi: Controle GPIO com MQTT

Mosquitto

O Mosquitto é um broker MQTT que implementa o modelo publilsher/subscriber, o qual pode ser instalado diretamente no Raspberry Pi.

Instalação do Mosquitto no Raspberry Pi

sudo apt update
sudo apt install mosquitto
sudo apt install mosquitto-clients

Depois de instalado o Mosquito é automaticamente iniciado, assim como é iniciado a cada reboot. Para verificar se está rodando, pode utilizar o comando:

ps -aux|grep mosquitto

Parar, iniciar ou reiniciar Mosquitto:

service mosquitto stop
service mosquitto start
service mosquitto restart

Configuração do Mosquitto para acesso por máquinas remotas

Nas versões do Mosquitto 2.0 e superiores deve-se configurar o modo autenticação para os clientes de conectarem ao broker [1]. Caso contrário, somente terão acesso os clientes rodando na máquina local (localhost). Isso pode ser verificado rodando o Mosquitto para mostrar os log da operação com o comando:

mosquitto -v 
Exemplo de saída:
pi@raspberrypi:~ $ mosquitto -v
1645204154: mosquitto version 2.0.11 starting
1645204154: Using default config.
1645204154: Starting in local only mode. Connections will only  be possible from clients running on this machine.
1645204154: Create a configuration file which defines a listener to allow remote access.

Para habilitar acesso remoto e sem autenticação, deve-se criar um arquivo de configuração contendo as opções:

listener 1883
allow_anonymous true

Exemplo de programas

import RPi.GPIO as GPIO
from time import *
 
GPIO.setmode(GPIO.BCM)    # Numeração nomes GPIO 
#GPIO.setmode(GPIO.BOARD) # Numeração pinagem da placa
GPIO.setup(21, GPIO.OUT)
 
while True:
    GPIO.output(21, GPIO.HIGH)
    print("Led ON")
    sleep(1)
    GPIO.output(21, GPIO.LOW)
    print("Led OFF")
    sleep(1)


Referências


Evandro.cantu (discussão) 17h51min de 17 de fevereiro de 2022 (-03)