25
INTERNET DAS COISAS COM PYTHON E ARDUINO Humberto Zanetti www.humbertozanetti.com.br

Internet das Coisas com Python e Arduino

Embed Size (px)

Citation preview

Page 1: Internet das Coisas com Python e Arduino

INTERNET DAS COISAS

COM PYTHON E ARDUINO

Humberto Zanettiwww.humbertozanetti.com.br

Page 2: Internet das Coisas com Python e Arduino

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

Page 3: Internet das Coisas com Python e Arduino

O que vamos ver?

Internet das CoisasO que é, onde estamos e para onde vamos?

Python e ArduinoCasamento perfeito!

Protocolo MQTTGrande potencial!

Projetos interessantes

O que tem por aí!

Page 4: Internet das Coisas com Python e Arduino

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 é?

Page 5: Internet das Coisas com Python e Arduino

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

Page 6: Internet das Coisas com Python e Arduino

O mercado

Page 7: Internet das Coisas com Python e Arduino

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

Page 8: Internet das Coisas com Python e Arduino

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

Page 9: Internet das Coisas com Python e Arduino

Demais projetos (ou projetos demais!!! )

Page 10: Internet das Coisas com Python e Arduino

Por que Python e Arduino?

Guido von Rossum

“Computer Programmingfor Everybody”

Massimo Banzi

“Prototyping Platformfor Everyone”

Page 11: Internet das Coisas com Python e Arduino

Por que Python e Arduino?

Fácil e intuitiva

Código aberto

Produtividade alta

Page 12: Internet das Coisas com Python e Arduino

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

Page 13: Internet das Coisas com Python e Arduino

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)

Page 14: Internet das Coisas com Python e Arduino

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/

Page 15: Internet das Coisas com Python e Arduino

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/

Page 16: Internet das Coisas com Python e Arduino

Publish / Subscribe

publish: “20ºC”

temperatura broker

Page 17: Internet das Coisas com Python e Arduino

QoS (Quality of Service)

publish

QoS 0

broker

publish

QoS 1

puback

publish

QoS 3

pubrec

pubrel

pubcomp

Page 18: Internet das Coisas com Python e Arduino

Cliente MQTT (Arduino)

Page 19: Internet das Coisas com Python e Arduino

Cliente MQTT (Arduino)

Page 20: Internet das Coisas com Python e Arduino

MQTT Gateway (Python e Mosquitto)

Page 21: Internet das Coisas com Python e Arduino

Aplicação Web (com web.py)

Page 22: Internet das Coisas com Python e Arduino

Projetos interessantes

software.intel.com/pt-br/iot/hardware/edison

Page 23: Internet das Coisas com Python e Arduino

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

Page 24: Internet das Coisas com Python e Arduino

DÚVIDAS!?

Page 25: Internet das Coisas com Python e Arduino

Obrigado!

Contato:

www.humbertozanetti.com.br

Slides:

bit.ly/iot_pythonbr11