View
783
Download
2
Category
Preview:
Citation preview
INTERNET DAS COISAS
COM PYTHON E ARDUINO
Humberto Zanettiwww.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 CoisasO que é, onde estamos e para onde vamos?
Python e ArduinoCasamento perfeito!
Protocolo MQTTGrande 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 Programmingfor Everybody”
Massimo Banzi
“Prototyping Platformfor 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
Recommended