O documento discute a Internet das Coisas (IoT) e como Python e Arduino podem ser usados juntos nesse contexto. Apresenta o que é IoT, como M2M se relaciona, o protocolo MQTT e projetos interessantes usando esses conceitos, como sensores enviando dados para nuvem via broker MQTT.
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
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/