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

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 4: Linha 4:
O '''[[Mosquitto]]''' é um ''broker'' '''MQTT''' que implementa o modelo '''publilsher/subscriber''', o qual pode ser instalado diretamente no '''Raspberry Pi'''.
O '''[[Mosquitto]]''' é um ''broker'' '''MQTT''' que implementa o modelo '''publilsher/subscriber''', o qual pode ser instalado diretamente no '''Raspberry Pi'''.


;Instalação e configuração do Mosquitto no Raspberry Pi:
===Instalação do Mosquitto no Raspberry Pi===
  sudo apt update
  sudo apt update
  sudo apt install mosquitto
  sudo apt install mosquitto
Linha 17: Linha 17:
  service mosquitto restart
  service mosquitto restart


;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:
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:

Edição das 12h59min de 21 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

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 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.

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)