SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
INTERNET DAS COISAS
COM PYTHON E ARDUINO
Humberto Zanetti
www.humbertozanetti.com.br
Quem é esse cara!?
Professor profissional
Pesquisador “beta” (arrumando uns bugs pro closed beta!)
bit.ly/etecino
bit.ly/fatecino
Grupo de programadores Python
ETEC – FATEC
O que vamos ver?
Internet das Coisas
O que é, onde estamos e para onde vamos?
Python e Arduino
Casamento perfeito!
Protocolo MQTT
Grande potencial!
Projetos interessantes
O que tem por aí!
A Internet das Coisas
Fonte: https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Internet_of_Things.jpg/779px-Internet_of_Things.jpg
O que é?
O que não é?
M2M (Machine-to-machine)
Comunicação entre dispositivos.
Sensores
Eventos
Não é necessariamente Internet das coisas!
Se considerarmos o termo “Internet”
O M2M pode ser facilmente integrado com
protocolos de Internet.
E possivelmente serão os pilares da IoT
O mercado
A Sociedade da informação
“The Internet of Things: Where the Web and the physical world will meet”
The Internet of Things: Dr. John Barrett at TEDxCIT
https://youtu.be/QaTIt1C5R-M
O Arduino Uno
Microcontrolador ATmega328P
32 Kb (2 Kb para booaloder)
14 pinos de entrada/saída digital
(dos quais 6 podem ser usados
como saídas PWM)
6 entradas analógicas
Um cristal oscilador de 16MHz
Uma conexão USB
Uma entrada de alimentação uma
conexão ICSP
Demais projetos (ou projetos demais!!! )
Por que Python e Arduino?
Guido von Rossum
“Computer Programming
for Everybody”
Massimo Banzi
“Prototyping Platform
for Everyone”
Por que Python e Arduino?
Fácil e intuitiva
Código aberto
Produtividade alta
Por que Python e Arduino?
“Um hacker é alguém que gosta do desafio intelectual de
criativamente superar e contornar as limitações de sistemas de
programação e que tenta estender suas capacidade”
Wikipedia
E na prática...
Mecanismo de notificação: Polling!
Intervalos longos: notificação tardia
Intervalos curtos: consumo da rede e processo
Fazer push dos dados? (server-push)
Não funciona com equipamentos de baixa
capacidade (memória e processamento)
Exemplo: smartphones
Precariedade da nossa rede de dados
App do Facebook - MqttPushService (Android)
O protocolo MQTT
MQ Telemetry Transport
Criado em 1999 (IBM e Arcom)
Padrão Publish/Subscribe
simples, leve, p/ dispositivos restritos e redes
lentas, com alta latência ou pouco confiáveis
Paho Python Client
Projeto da iot.eclipse.org
Biblioteca fornece as funções de publicação
www.eclipse.org/paho/clients/python/
Broker Mosquitto
É open source (licença BSD)
Atua como um “servidor”, implementando a
aplicação responsável por distribuir as
mensagens aos dispositivos clientes,
baseado nas informações das mensagens.
Projeto da iot.eclipse.org
www.eclipse.org/mosquitto/
Publish / Subscribe
publish: “20ºC”
temperatura broker
QoS (Quality of Service)
publish
QoS 0
broker
publish
QoS 1
puback
publish
QoS 3
pubrec
pubrel
pubcomp
Cliente MQTT (Arduino)
Cliente MQTT (Arduino)
MQTT Gateway (Python e Mosquitto)
Aplicação Web (com web.py)
Projetos interessantes
software.intel.com/pt-br/iot/hardware/edison
Projetos interessantes
www.viperize.it/
The Python IoT Design Suite
Suíte de Desenvolvimento
IDE, VMachine e App
Compatível com várias
placas
Projetos:
www.hackster.io/viper
DÚVIDAS!?
Obrigado!
Contato:
www.humbertozanetti.com.br
Slides:
bit.ly/iot_pythonbr11

Mais conteúdo relacionado

Destaque

Linhas de Código e a Ciência
Linhas de Código e a CiênciaLinhas de Código e a Ciência
Linhas de Código e a CiênciaHumberto Zanetti
 
Palestra - Visão Computacional - TDC 2015
Palestra - Visão Computacional - TDC 2015Palestra - Visão Computacional - TDC 2015
Palestra - Visão Computacional - TDC 2015Humberto Zanetti
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Luiz Aldabalde
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python PoliRodrigo Lira
 
Jogadores, Players, Gamers
Jogadores, Players, GamersJogadores, Players, Gamers
Jogadores, Players, GamersRoger Tavares
 
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Debora Sebriam
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Davi Kawasaki
 
WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!Victor Rubens Cardozo
 
Laboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaLaboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaNIT Rio
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalRoger Tavares
 
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Davi Kawasaki
 
Introdução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dIntrodução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dEduardo Bonfandini
 
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasA gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasGerson Bruno Forgiarini de Quadros
 
Computação científica com numpy e scipy
Computação científica com numpy e scipyComputação científica com numpy e scipy
Computação científica com numpy e scipySilas Santiago
 
Livros nacionais de gamedev
Livros nacionais de gamedevLivros nacionais de gamedev
Livros nacionais de gamedevIngrid Mendes
 
Desenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonDesenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonRoselma Mendes
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsOtávio Calaça Xavier
 

Destaque (20)

Linhas de Código e a Ciência
Linhas de Código e a CiênciaLinhas de Código e a Ciência
Linhas de Código e a Ciência
 
Palestra - Visão Computacional - TDC 2015
Palestra - Visão Computacional - TDC 2015Palestra - Visão Computacional - TDC 2015
Palestra - Visão Computacional - TDC 2015
 
Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011Python Mini Ccurso Consegi2011
Python Mini Ccurso Consegi2011
 
Introdução a Python - Python Poli
Introdução a Python  - Python PoliIntrodução a Python  - Python Poli
Introdução a Python - Python Poli
 
Game Art
Game ArtGame Art
Game Art
 
Jogadores, Players, Gamers
Jogadores, Players, GamersJogadores, Players, Gamers
Jogadores, Players, Gamers
 
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
Utilizando e Aprimorando Recursos Educacionais Abertos (REA): Oportunidades p...
 
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
Aplicação de mapas mentais durante o brainstorm de um jogo digital [PÔSTER]
 
WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!WorkShop - Game & Criatividade Da ideia à mão na Massa!
WorkShop - Game & Criatividade Da ideia à mão na Massa!
 
Laboratório Nacional de Computação Científica
Laboratório Nacional de Computação CientíficaLaboratório Nacional de Computação Científica
Laboratório Nacional de Computação Científica
 
Game Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digitalGame Design além do "Joguinho": cultura e diversão na era do digital
Game Design além do "Joguinho": cultura e diversão na era do digital
 
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
Aplicação de mapas mentais durante um brainstorm de um jogo digital [APRESENT...
 
Introdução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3dIntrodução ao desenvolvimento de jogos 2d com Unit 3d
Introdução ao desenvolvimento de jogos 2d com Unit 3d
 
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeirasA gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
A gamificação em ambientes virtuais de aprendizagem de línguas estrangeiras
 
CV Diego Reis
CV Diego ReisCV Diego Reis
CV Diego Reis
 
Computação científica com numpy e scipy
Computação científica com numpy e scipyComputação científica com numpy e scipy
Computação científica com numpy e scipy
 
Projeto de Douturado
Projeto de DouturadoProjeto de Douturado
Projeto de Douturado
 
Livros nacionais de gamedev
Livros nacionais de gamedevLivros nacionais de gamedev
Livros nacionais de gamedev
 
Desenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com PythonDesenvolvendo web crawler/scraper com Python
Desenvolvendo web crawler/scraper com Python
 
Internet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.jsInternet das coisas (IoT) com Raspberry, Python e Node.js
Internet das coisas (IoT) com Raspberry, Python e Node.js
 

Semelhante a Internet das Coisas com Python e Arduino

IoT - Além da Telemetria
IoT - Além da TelemetriaIoT - Além da Telemetria
IoT - Além da TelemetriaAndré Curvello
 
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...Jorge Maia
 
Computação Física e Internet das Coisas
Computação Física e Internet das CoisasComputação Física e Internet das Coisas
Computação Física e Internet das CoisasMichela Limaco
 
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...Felipe Mota
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesFabio Souza
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEnio Filho
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Eronides Da Silva Neto
 
IoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoIoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoAndré Curvello
 
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 MQTTJorge Maia
 
Protocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosProtocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosRomulo Fagundes
 
QCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosQCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosJorge Maia
 
Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Marcelo Paiva
 
Roda de Conversa - Inteligência Artificial & Internet das Coisas
Roda de Conversa - Inteligência Artificial & Internet das CoisasRoda de Conversa - Inteligência Artificial & Internet das Coisas
Roda de Conversa - Inteligência Artificial & Internet das CoisasFelipe Mota
 
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...Future Cities Project
 
Webinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTWebinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTEmbarcados
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 

Semelhante a Internet das Coisas com Python e Arduino (20)

IoT - Além da Telemetria
IoT - Além da TelemetriaIoT - Além da Telemetria
IoT - Além da Telemetria
 
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...
 
Computação Física e Internet das Coisas
Computação Física e Internet das CoisasComputação Física e Internet das Coisas
Computação Física e Internet das Coisas
 
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...
Palestra - Os Trens da Internet das Coisas - Do Conceito Básico até sua Aplic...
 
Desafios do IoT
Desafios do IoTDesafios do IoT
Desafios do IoT
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicações
 
Eica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOTEica 2015.2 - Introdução ao IOT
Eica 2015.2 - Introdução ao IOT
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)
 
IoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de ComputaçãoIoT Aplicada à Engenharia de Computação
IoT Aplicada à Engenharia de Computação
 
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
 
Protocolos de Sistemas Embarcados
Protocolos de Sistemas EmbarcadosProtocolos de Sistemas Embarcados
Protocolos de Sistemas Embarcados
 
QCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores ConectadosQCon Rio 2015 - Workshop IoT: Sensores Conectados
QCon Rio 2015 - Workshop IoT: Sensores Conectados
 
mcvs.pdf
mcvs.pdfmcvs.pdf
mcvs.pdf
 
Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'Surfando a onda da Internet dos 'Trem'
Surfando a onda da Internet dos 'Trem'
 
Redes de comunicação
Redes de comunicaçãoRedes de comunicação
Redes de comunicação
 
Roda de Conversa - Inteligência Artificial & Internet das Coisas
Roda de Conversa - Inteligência Artificial & Internet das CoisasRoda de Conversa - Inteligência Artificial & Internet das Coisas
Roda de Conversa - Inteligência Artificial & Internet das Coisas
 
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...
Workshop on Cyber-physical Systems Platforms – Pedro Costa “Internet of Thing...
 
Webinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoTWebinar: Desvendando as camadas de IoT
Webinar: Desvendando as camadas de IoT
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
IoT: construindo ideias com nodeMCU e MQTT
IoT: construindo ideias com nodeMCU e MQTTIoT: construindo ideias com nodeMCU e MQTT
IoT: construindo ideias com nodeMCU e MQTT
 

Internet das Coisas com Python e Arduino

  • 1. INTERNET DAS COISAS COM PYTHON E ARDUINO Humberto Zanetti www.humbertozanetti.com.br
  • 2. Quem é esse cara!? Professor profissional Pesquisador “beta” (arrumando uns bugs pro closed beta!) bit.ly/etecino bit.ly/fatecino Grupo de programadores Python ETEC – FATEC
  • 3. O que vamos ver? Internet das Coisas O que é, onde estamos e para onde vamos? Python e Arduino Casamento perfeito! Protocolo MQTT Grande potencial! Projetos interessantes O que tem por aí!
  • 4. A Internet das Coisas Fonte: https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Internet_of_Things.jpg/779px-Internet_of_Things.jpg O que é? O que não é?
  • 5. M2M (Machine-to-machine) Comunicação entre dispositivos. Sensores Eventos Não é necessariamente Internet das coisas! Se considerarmos o termo “Internet” O M2M pode ser facilmente integrado com protocolos de Internet. E possivelmente serão os pilares da IoT
  • 7. A Sociedade da informação “The Internet of Things: Where the Web and the physical world will meet” The Internet of Things: Dr. John Barrett at TEDxCIT https://youtu.be/QaTIt1C5R-M
  • 8. O Arduino Uno Microcontrolador ATmega328P 32 Kb (2 Kb para booaloder) 14 pinos de entrada/saída digital (dos quais 6 podem ser usados como saídas PWM) 6 entradas analógicas Um cristal oscilador de 16MHz Uma conexão USB Uma entrada de alimentação uma conexão ICSP
  • 9. Demais projetos (ou projetos demais!!! )
  • 10. Por que Python e Arduino? Guido von Rossum “Computer Programming for Everybody” Massimo Banzi “Prototyping Platform for Everyone”
  • 11. Por que Python e Arduino? Fácil e intuitiva Código aberto Produtividade alta
  • 12. Por que Python e Arduino? “Um hacker é alguém que gosta do desafio intelectual de criativamente superar e contornar as limitações de sistemas de programação e que tenta estender suas capacidade” Wikipedia
  • 13. E na prática... Mecanismo de notificação: Polling! Intervalos longos: notificação tardia Intervalos curtos: consumo da rede e processo Fazer push dos dados? (server-push) Não funciona com equipamentos de baixa capacidade (memória e processamento) Exemplo: smartphones Precariedade da nossa rede de dados App do Facebook - MqttPushService (Android)
  • 14. O protocolo MQTT MQ Telemetry Transport Criado em 1999 (IBM e Arcom) Padrão Publish/Subscribe simples, leve, p/ dispositivos restritos e redes lentas, com alta latência ou pouco confiáveis Paho Python Client Projeto da iot.eclipse.org Biblioteca fornece as funções de publicação www.eclipse.org/paho/clients/python/
  • 15. Broker Mosquitto É open source (licença BSD) Atua como um “servidor”, implementando a aplicação responsável por distribuir as mensagens aos dispositivos clientes, baseado nas informações das mensagens. Projeto da iot.eclipse.org www.eclipse.org/mosquitto/
  • 16. Publish / Subscribe publish: “20ºC” temperatura broker
  • 17. QoS (Quality of Service) publish QoS 0 broker publish QoS 1 puback publish QoS 3 pubrec pubrel pubcomp
  • 20. MQTT Gateway (Python e Mosquitto)
  • 23. Projetos interessantes www.viperize.it/ The Python IoT Design Suite Suíte de Desenvolvimento IDE, VMachine e App Compatível com várias placas Projetos: www.hackster.io/viper