Raspberry Pi: Controle GPIO com MQTT: mudanças entre as edições
Linha 19: | Linha 19: | ||
===Configuração do Mosquitto para acesso por máquinas remotas=== | ===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 <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)