SlideShare uma empresa Scribd logo
MQTT com café ou vice-versa
Quem?
● André Queiroz - andrequeiroz.com@gmail.com
○ Analista de suporte
○ 7 anos experiência com Arduino
○ 1 ano experiência com RaspberryPi
○ Santista
Quem?
● Houssan Ali Hijazi - hussanhijazi@gmail.com
○ Organizador GDG Foz do Iguaçu
○ Desenvolvedor Android na Ignus Digital - https://ignusdigital.com/
○ http://www.lojasparaguai.com.br/
○ http://www.desaparecidosbr.org/
○ http://www.dolarpy.com.br/
○ Santista
MQTT
Message Queue Telemetry Transport
História
● Projeto IBM, final dos anos 90
● Criadores: Andy Stanford-Clark (IBM) e Arlen Nipper
(Cirrus Link)
Definição
● MQTT (Message Queue Telemetry Transport)
● É um protocolo de rede M2M que trabalha no top da pilha
TCP/IP.
● Alternativa para Comunicação entre Máquinas
Características
● É um protocolo leve para redes com largura de banda
limitada e alta latência
● Paradigma PUB/SUB
● Broker (Middleware)
● Assíncrono
● Consome poucos recursos dos dispositivos (Bateria,
Processamento, Largura de Banda)
● Altamente escalável
● Fácil Implementação
Quem usa ?
● IBM
● Facebook
● Eclipse Foundation
● Intel
● Bosh
● Siemens
● Ubuntu
● Mosquitto
● Mais em: https://iot.eclipse.org/working-group/#members
Broker
Subscriber
Publisher
Subscriber
Subscriber
Subscribe a
topicPublish data
topic
Send msg to
clients
Arquitetura MQTT
Publisher
Publisher
Hardware / Projeto
● Arduino ESP8266
● Rele - Acionamento mecânico
● Cafeteira
Projeto Unifilar
5v (CC)
5v (CC)
110/220
(AC)
GPIO:D2
Código Arduino
● PubSubClient
● ESP8266WiFi
Código Arduino
Projeto
Broker
Publish message
ON/OFF to topic
gdgfoz/coffeeiot
Send message
ON/OFF to topic
gdgfoz/coffeeiot
Subscribe topic
gdgfoz/coffeeiot
Script: Python, Java,
Kotlin, Ruby, Javascript
etc…
MQTT Python
● Paho library
● pip install paho-mqtt
Script On/Off Python
Script On/Off Python
Rodar por crontab do linux
● Linguagem: Python, Java, Kotlin, Ruby, Javascript etc…
● Criar script
● Adicionar ao cron do linux
● Rodar num horário específico
● E se acordar mais cedo ou mais tarde ?
● E se for feriado?
Android
Projeto
Broker
Publish message
ON/OFF to topic
gdgfoz/coffeeiot
Send message
ON/OFF to topic
gdgfoz/coffeeiot
Subscribe topic
gdgfoz/coffeeiot
Código Android
● Kotlin
● Paho library
Tá, e o café?
Códigos
● https://github.com/hussanhijazi/mqtt-coffee-arduino
● https://github.com/hussanhijazi/mqtt-coffee-python
● https://github.com/hussanhijazi/mqtt-android
Contatos
● Houssan Ali Hijazi - hussanhijazi@gmail.com
● André Queiroz - andrequeiroz.com@gmail.com

Mais conteúdo relacionado

Semelhante a MQTT com café ou vice-versa

Ginga - OpenTDC 2009
Ginga - OpenTDC 2009Ginga - OpenTDC 2009
Ginga - OpenTDC 2009
Bruno Ghisi
 

Semelhante a MQTT com café ou vice-versa (20)

IPv6
IPv6IPv6
IPv6
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
IX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com PythonIX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com Python
 
Tecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectadoTecnologias LPWA: conectando o que nao foi conectado
Tecnologias LPWA: conectando o que nao foi conectado
 
Tecnologias LPWA: Conectando o que não foi conectado
Tecnologias LPWA: Conectando o que não foi conectado Tecnologias LPWA: Conectando o que não foi conectado
Tecnologias LPWA: Conectando o que não foi conectado
 
Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2Camada de Transporte - TADS/REC 2014/2
Camada de Transporte - TADS/REC 2014/2
 
Open source e Digital Libraries
Open source e Digital LibrariesOpen source e Digital Libraries
Open source e Digital Libraries
 
Introdução ao qt
Introdução ao qtIntrodução ao qt
Introdução ao qt
 
Implantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times DistribuídosImplantação de Cultura Ágil em Times Distribuídos
Implantação de Cultura Ágil em Times Distribuídos
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
A Internet do Futuro, por Alex Ferreira
A Internet do Futuro, por Alex FerreiraA Internet do Futuro, por Alex Ferreira
A Internet do Futuro, por Alex Ferreira
 
Comunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTComunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTT
 
Roteamento Intra-SA e Inter-SA
Roteamento Intra-SA e Inter-SARoteamento Intra-SA e Inter-SA
Roteamento Intra-SA e Inter-SA
 
Ginga - OpenTDC 2009
Ginga - OpenTDC 2009Ginga - OpenTDC 2009
Ginga - OpenTDC 2009
 
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
 
Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)Arquitetura peer to-peer (p2p)
Arquitetura peer to-peer (p2p)
 
Pythonificando a Universidade
Pythonificando a UniversidadePythonificando a Universidade
Pythonificando a Universidade
 
Novas Tendências Em TI
Novas Tendências Em TINovas Tendências Em TI
Novas Tendências Em TI
 
Infraestrutura Hiperconvergente Livre
Infraestrutura Hiperconvergente LivreInfraestrutura Hiperconvergente Livre
Infraestrutura Hiperconvergente Livre
 
Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores Protocolo MQTT - Redes de Computadores
Protocolo MQTT - Redes de Computadores
 

Mais de GDGFoz

Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client Side
GDGFoz
 

Mais de GDGFoz (20)

Apresentação GDG Foz 2023
Apresentação GDG Foz  2023Apresentação GDG Foz  2023
Apresentação GDG Foz 2023
 
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoDesenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
 
Introdução do DEVSECOPS
Introdução do DEVSECOPSIntrodução do DEVSECOPS
Introdução do DEVSECOPS
 
Aquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesAquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e Microservices
 
Robótica Sucational
Robótica SucationalRobótica Sucational
Robótica Sucational
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de Software
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client Side
 
UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOps
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & Desktop
 
Automação Residencial Extrema com Opensource
Automação Residencial Extrema com OpensourceAutomação Residencial Extrema com Opensource
Automação Residencial Extrema com Opensource
 
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
 
Desmistificando a programação funcional
Desmistificando a programação funcionalDesmistificando a programação funcional
Desmistificando a programação funcional
 
Microsserviços com Kotlin
Microsserviços com KotlinMicrosserviços com Kotlin
Microsserviços com Kotlin
 
Autenticação de dois fatores
Autenticação de dois fatores Autenticação de dois fatores
Autenticação de dois fatores
 
Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!
 
Hooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisHooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionais
 
Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativo
 

MQTT com café ou vice-versa