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 e configuração do Mosquitto no Raspberry Pi:
  sudo apt update
  sudo apt update
  sudo apt install mosquitto
  sudo apt install mosquitto
Linha 20: Linha 20:
  mosquitto -v  
  mosquitto -v  


As versões novas do Mosquitto permitem acesso de clientes rodando somente a máquina local (localhost).
;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).


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

Edição das 12h51min 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 e configuraçã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

Iniciar o Mosquitto com verbose dos logs de operação:

mosquitto -v 
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).

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)