SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
ARQUITETURA DE
INTERNET DAS COISAS
COM GOOGLE CLOUD
Alvaro Viebrantz
aviebrantz.com.br
@alvaroviebrantz
1
Alvaro Viebrantz
Google Developer Expert em Internet das Coisas
Cuiabá - MT
2
aviebrantz.com.br
@alvaroviebrantz
A Web é gigante hoje
3
Computação Ubiqua
4
5
Por que está na moda hoje ?
Sensores, internet e processamento mais baratos
6
Por que está na moda hoje ?
Sensores, internet e processamento mais baratos
7
Por que está na moda hoje ?
Sensores, internet e processamento mais baratos
Conceito de IoT
Não é só acender lâmpadas
O que você pode fazer ?
O conceito de IoT não é só acender lâmpadas
8
Refere-se a objetos identificados de forma
única e suas representações virtuais em
uma estrutura similar a internet.
Kevin Ashton em 2009
9
Conceito de IoT
IDIdentificável
I/O
Sensores e
Atuadores
Comu
nicação
10
Conceito de IoT
Status na
web
11
Demo
Cadeira inteligente
IDIdentificável
I/O
Sensores e
Atuadores
Comunic
ação
URL
cadeira.aviebrantz.com.br
MQTT WiFi
Sensor Proximidade
12
Cadeira inteligente
cadeira.aviebrantz.com.br
https://github.com/alvarowolfx/iot-chair-sensor
13
Demo
Cadeira inteligente
14
Integração é o ponto chave
Cadeira inteligente
15
IoT é serviço
O importante não é o hardware, mas o que você entrega
16
Apenas o começo
IoT é muito mais que apenas o hardware
17
Pilares em IoT
Da coleta de dados até a geração de informação
Coisas
Nuvem
Dados Informações
e serviços
18
• Recebimento de fluxo de dados
• Processamento desses dados
• Armazenamento massivo de dados
• Análise de dados
• Machine Learning
• Treinamento e predição
Arquitetura em nuvem para IoT
Quais os componentes necessários ?
Escalável
Rede
Global
Seguro
19
Arquitetura em nuvem para IoT
Quais os componentes necessários ?
20
Cloud IoT Core
Serviço gerenciado global para conectar e gerenciar de forma
segura dispositivos
Protocol Bridge
• Endpoints em MQTT e HTTP
• Comunicação Bidirecional
• Escalabilidade automática
• Balanceamento de carga
automático
• Conectado ao Cloud Pub/Sub
• Filas de mensageria
Gerenciamento de dispositivos
• Configure dispositivos individualmente
• Controle de acesso
• Cadastro de certificados de acesso
• APIs para manipulação dos dispositivos
e provisionamento
• Possibilita automação
21
Cloud IoT Core - Gerenciamento
Provisionar dispositivos e controle individual
22
Cloud IoT Core - Gerenciamento
Provisionar dispositivos e controle individual
• Criar registro e configurar os dispositivos individualmente
23
Cloud IoT Core - Gerenciamento
Controle individual dos dispositivos
24
Cloud IoT Core - Gerenciamento
Controle individual dos dispositivos
25
Cloud IoT Core - Gerenciamento
Provisionar dispositivos e controle individual
• APIs para manipulação dos dispositivos e provisionamento
• CRUD dos dispositivos
• Possibilita automação
26
Cloud IoT Core - Comunicação
Via protocolos conhecidos - MQTT e HTTP
• Diferenças entre MQTT e HTTP
• MQTT permite fazer subscrição das mensagens recebidas
• HTTP tem que ficar buscando de forma explicita
• MQTT é mais leve e trafega menos dados na rede, porém fica conectado o tempo todo
• Comunicação Bidirecional
• Existem algumas restrições nisso
• Dados só podem ser enviados pelo dispositivo como telemetry ou state messages
• Dados são recebidos apenas como configuration messages
• JSON Web Token (JWT) gerado a partir dos certificados cadastrados
• Chaves privada no dispositivo e publica cadastrada no Google Cloud
• JWT é um formato bem conhecido de autorização
• Padrão de industria - RFC 7519
• Algoritmos suportados para criptografia
• ES256 - ECDSA e SHA-256
• RS256 - RSA e SHA-256
• Devem expirar em 1 hora e tem tolerância de 10 min com o Time Server do Google
27
Cloud IoT Core - Comunicação
Autenticação/Autorização usando JWT
28
Cloud IoT Core - Comunicação
Autenticação/Autorização via HTTP
• Para chamadas HTTP deve ser colocado no Header
• Para obter configurações:
https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/
registries/{registry-id}/devices/{deviceid}/config?local_version={VERSION}
29
Cloud IoT Core - Comunicação
Autenticação/Autorização via HTTP
• Para enviar dados:
https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/
registries/{registry-id}/devices/{deviceid}:publishEvent
30
Cloud IoT Core - Comunicação
Parâmetros de Autenticação/Autorização via MQTT
• Host: mqtt.googleapis.com:8883
• User: vazio (não é verificado)
• Pass: token JWT
• Client ID:
projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id}
devices/{deviceid}/config
devices/{deviceid}/events
devices/{deviceid}/state
Dispositivo
SUB PUB
PUB
31
Cloud PubSub
Espinha dorsal do Google Cloud - Mensageria gerenciada pelo Google
• Gerenciado pelo Google
• Escalabilidade automática
• Garantia de entrega
• Conectado com muitos produtos 

do Google Cloud
32
Processamento desses dados
Opções para o processamento e ingestão dos dados
• Cloud Dataflow
• Ambiente gerenciado para
processamento em Lote e
Stream de dados
• Modelagem de pipeline
• Baseado no projeto Apache
Beam
• SDK em Python e Java
33
Processamento desses dados
Opções para o processamento e ingestão dos dados
• Faça você mesmo
• Workers recebendo dados via PubSub
• Podem rodar em uma maquina virtual na nuvem
• Cloud Compute Engine
• Kubernetes Engine
• Não é tão simples de escalar automaticamente
• Pode ser feito em qualquer linguagem
34
Processamento desses dados
Opções para o processamento e ingestão dos dados
• Cloud Functions ou Firebase Cloud
Functions
• Serveless computing
• Funções auto escaláveis em Javascript
• As funções podem ser executadas
baseadas em eventos
• PubSub é apenas uma delas
• Cobrança por chamada de função
35
Firebase Cloud Functions
Exemplo de função que reage a dados sendo
recebidos via Cloud PubSub
• Suas regras de transformação e
validação podem ser feitas aqui
• Salvar em banco de dados os dados
históricos para analise posterior
• Salvar no Firebase para mantendo o
ultimo estado em a ser visualizado em
tempo real
36
Armazenamento
Opções para o armazenamento massivo de dados
• BigTable
• NoSQL altamente escalável para
tabelas gigante - Bilhões de linhas X
Milhões de Colunas
• Usado em muitos produtos do Google
• Modelo de dados colunar
• Compatível com API do HBase
• Bom para quem está habituado com
o ecossistema Hadoop
• Não é muito barato !!!
37
Armazenamento
Opções para o armazenamento massivo de dados
• Cloud Spanner
• Banco de dados ACID tradicional mas
com features de NoSQL
• Alta disponibilidade e distribuido
globalmente
• Consultas SQL
• Estado da arte em banco de dados
feito pelo Google
• Gerenciado pelo Google e
escalabilidade automática
• Não é muito barato !!!
38
Armazenamento
Opções para o armazenamento massivo de dados
• BigTable
• NoSQL altamente escalável para
tabelas gigante - Bilhões de linhas X
Milhões de Colunas
• Usado em muitos produtos do Google
• Modelo de dados colunar
• Compatível com API do HBase
• Bom para quem está habituado com
o ecossistema Hadoop
• Não é muito barato !!!
39
Armazenamento
Opções para o armazenamento massivo de dados
• BigQuery
• Data warehouse de baixo custo
• Gerenciado pelo Google e
escalabilidade automática
• Interface SQL ANSI de consulta e
suporte a vários softwares de BI no
mercado
• Append Only - Dados imutáveis
• Gratuito até 1TB por mês analisado e
10GB de dados
40
Armazenamento
Armazenamento e sincronização em tempo real
• NoSQL orientado a documento
• Dados em forma de árvore
• Sincronização em tempo real entre os
clientes
• SDK para várias linguagens
• O Firebase possui todo um
ecossistema de produtos voltado a
desenvolvimento de apps
41
Análise de dados
Obter insight dos dados armazenados
• Cloud DataLab
• Baseado no projeto open source
Jupyter Notebook
• Totalmente gerenciado
• Muito usado para DataScience e
Machine Learning em Python
• Analise e visualize os dados
• Gratuito
• Apenas os serviços extras são
cobrados
42
Análise de dados
Obter insight dos dados armazenados
• Google Data Studio
• Ferramenta para visualização de
dados
• Diversas fontes de dados
• SQL, Google Analytics, BigQuery,
Arquivos CSV, etc
• User friendly
• Gratuito
Estação meteorológica - Arquitetura de ponta a ponta com Google Cloud
!43
Post pessoal foi para o blog do Google Cloud
Acesse: bit.ly/gcloud-weather-station
Estação meteorológica - Arquitetura de ponta a ponta
!44
ESP8266/ESP32 rodando MongooseOS
• Programação em Javascript
• Hardware
• Backend com Cloud Functions
• MongooseOS tem suporte ao Cloud IoT
Core
Acesse: bit.ly/gcloud-weather-station
Estação meteorológica - Arquitetura de ponta a ponta
!45
Relatório com Data Studio e WebApp
Acesse: bit.ly/gcloud-weather-station
Monitoramento de ativos via GPS e Rede Celular
!46
Outro post pessoal foi para o blog do Google Cloud sobre Arquitetura IoT
Acesse: bit.ly/gcloud-asset
Monitoramento de ativos via GPS e Rede Celular
!47
Outro post pessoal foi para o blog do Google Cloud sobre Arquitetura IoT
• ESP32 + GPS + GSM
• Aqui é mostrado como configurar
remotamente o dispositivo.
• Trocar tempo entre mensagens
• MongooseOS tem suporte à modem GSM de
forma transparente
Acesse: bit.ly/gcloud-asset
!48
Leverege - Monitoramento inteligente de lixeiras na cidade
!49
www.leverege.com/usecases/waste-management-solution
Leverege - Monitoramento inteligente de lixeiras na cidade
!50
www.leverege.com/usecases/waste-management-solution
Leverege - Monitoramento inteligente de lixeiras na cidade
!51
www.leverege.com/usecases/waste-management-solution
Leverege - Monitoramento de inteligente de lixeiras na cidade
!52
Arquitetura do projeto
https://www.leverege.com/usecases/waste-management-solution
Cloud 

Natural Language
Cloud 

Speech
Cloud 

Vision
Cloud Machine Learning APIs
Veja, Ouça e Entenda o mundo
Cloud 

Video Intelligence
Cloud 

Translation
!53
• Funções especificas para Deep
Learning
• +67k ⭐ no Github
• Para pesquisa e produção
• O Google fez até hardware
dedicado para ele
• Licença Apache 2.0
TensorFlow
Biblioteca de machine learning Open source
!54
Raspberry PiDatacentersSeu laptop Android iOS
Portável e Escalável
Rode em qualquer lugar
!55
56
Treinamento e predição na Nuvem
Escalando Tensorflow de forma fácil
• Cloud ML Engine
• Treinamento de modelo na nuvem
• Também é possível hospedar e rodar
modelos já treinados
• Gerenciado pelo Google
• Integrado ao Dataflow, BigQuery e
outros para ser fonte de dados de
treinamento
Classificação de Pepinos
Tensorflow rodando local no dispositivo embarcado
https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-
cucumber-farmer-is-using-deep-learning-and-tensorflow
!57
58
AIY Projects - Voice Kit
IA para humanos - Faça seu próprio Google Home
developers.google.com/assistant/sdk/
59
https://www.facebook.com/alvarowolfx/videos/
1372040179529841/
Demo
AIY com Google Assistant SDK
É uma extensão da plataforma Android para
IoT e dispositivos embarcados.
!60
Android Things
A.I. Candy Dispenser
Máquina de doces inteligente
61
A.I. Candy Dispenser
Máquina de doces inteligente
Cloud 

Vision
Android Things
Tira uma foto
Classifica foto
Libera doces
ou
!62
A.I. Candy Dispenser
Na mídia 🎉
https://blog.hackster.io/hacksters-
handpicked-projects-of-the-week-
e2403bdf387a
http://www.htxt.co.za/2017/06/07/
this-ai-candy-dispenser-swaps-
pictures-for-sweets/
https://www.raspberrypi.org/blog/android-
things-candy-dispenser/
63
A.I. Candy Dispenser
Na mídia 🎉
Android Things: The IoT Platform for
Everyone (GDD Europe '17)
64
Open Source - Máquina de Doces Inteligente
https://github.com/alvarowolfx/ai-candy-dispenser
https://www.hackster.io/alvarowolfx/
android-things-a-i-candy-dispenser-a47e74 !65
66
Como começar ?
Apesar de ser independente de hardware, já tem alguns parceiros
• MongooseOS e Zerynth
• Suporte a ESP32/ESP8266 e outros
• Microchip
• Via hardware dedicado a autenticação
e autorização (ATECC608A)
67
Raspberry Pi 👑
+ Ecossistema gigante
+ Wifi e Bluetooth embutido

+ Muito material na internet
BeagleBone
Como começar ?
Alguns samples do Google que podem ser testados no seu computador ou em Single Board
Computers
cloud.google.com/iot/docs/samples/
68
Google e Parceiros em IoT
OBRIGADO
69
Alvaro Viebrantz
aviebrantz.com.br
@alvaroviebrantz

Mais conteúdo relacionado

Mais procurados

Deep Learning with PyTorch
Deep Learning with PyTorchDeep Learning with PyTorch
Deep Learning with PyTorchMayur Bhangale
 
Projeto final - tecnico em informática
Projeto final - tecnico em informáticaProjeto final - tecnico em informática
Projeto final - tecnico em informáticaJonathan Cabral
 
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab) Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab) Minnie Seungmin Cho
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Androidambin_fr
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageAnimesh Singh
 
Intel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsIntel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsFadyMorris
 
Introduction au développement Web
Introduction au développement Web Introduction au développement Web
Introduction au développement Web Romain Willmann
 
CV - Chef de projet technique
CV - Chef de projet techniqueCV - Chef de projet technique
CV - Chef de projet techniqueAlexis Delaporte
 
Kubeflow Distributed Training and HPO
Kubeflow Distributed Training and HPOKubeflow Distributed Training and HPO
Kubeflow Distributed Training and HPOAnimesh Singh
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 
How an Industrial DataOps Solution Improves OEE With a Time Series Database
How an Industrial DataOps Solution Improves OEE With a Time Series DatabaseHow an Industrial DataOps Solution Improves OEE With a Time Series Database
How an Industrial DataOps Solution Improves OEE With a Time Series DatabaseInfluxData
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Java 8 - interfaces
Java 8 - interfacesJava 8 - interfaces
Java 8 - interfacesFranck SIMON
 
Reproducible AI using MLflow and PyTorch
Reproducible AI using MLflow and PyTorchReproducible AI using MLflow and PyTorch
Reproducible AI using MLflow and PyTorchDatabricks
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducaoedgluc2001
 

Mais procurados (20)

Deep Learning with PyTorch
Deep Learning with PyTorchDeep Learning with PyTorch
Deep Learning with PyTorch
 
Projeto final - tecnico em informática
Projeto final - tecnico em informáticaProjeto final - tecnico em informática
Projeto final - tecnico em informática
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab) Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
Azure OpenAI 및 ChatGPT 실습가이드 (Hands-on-lab)
 
Árvores balanceadas - AVL
Árvores balanceadas - AVLÁrvores balanceadas - AVL
Árvores balanceadas - AVL
 
Présentation développement application Android
Présentation développement application AndroidPrésentation développement application Android
Présentation développement application Android
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
 
Intel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processorsIntel core i3, i5, i7 , core2 duo and atom processors
Intel core i3, i5, i7 , core2 duo and atom processors
 
Introduction au développement Web
Introduction au développement Web Introduction au développement Web
Introduction au développement Web
 
CV - Chef de projet technique
CV - Chef de projet techniqueCV - Chef de projet technique
CV - Chef de projet technique
 
Kubeflow Distributed Training and HPO
Kubeflow Distributed Training and HPOKubeflow Distributed Training and HPO
Kubeflow Distributed Training and HPO
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
How an Industrial DataOps Solution Improves OEE With a Time Series Database
How an Industrial DataOps Solution Improves OEE With a Time Series DatabaseHow an Industrial DataOps Solution Improves OEE With a Time Series Database
How an Industrial DataOps Solution Improves OEE With a Time Series Database
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Segurança em IoT - conceitos e iniciativas de padronização
Segurança em IoT - conceitos e iniciativas de padronizaçãoSegurança em IoT - conceitos e iniciativas de padronização
Segurança em IoT - conceitos e iniciativas de padronização
 
Java 8 - interfaces
Java 8 - interfacesJava 8 - interfaces
Java 8 - interfaces
 
Reproducible AI using MLflow and PyTorch
Reproducible AI using MLflow and PyTorchReproducible AI using MLflow and PyTorch
Reproducible AI using MLflow and PyTorch
 
8085 Introducao
8085 Introducao8085 Introducao
8085 Introducao
 
Java collection
Java collection Java collection
Java collection
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 

Semelhante a Google Cloud IoT Arquitetura

Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Walter Coan
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeWalter Coan
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google CloudAlvaro Viebrantz
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoTWalter Coan
 
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningAplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningWalter Coan
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasWalter Coan
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...Walter Coan
 
Evento IoT Weekend - Azure IoT Edge
Evento IoT Weekend - Azure IoT EdgeEvento IoT Weekend - Azure IoT Edge
Evento IoT Weekend - Azure IoT EdgeWalter Coan
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseAlvaro Viebrantz
 
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Renato Groff
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro Viebrantz
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers DockerJosé Barbosa
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...Walter Coan
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como BackendJorge Maia
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAlvaro Viebrantz
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Azure IoT Edge executando ML no NVIDIA Jetson Nano
Azure IoT Edge executando ML no NVIDIA Jetson NanoAzure IoT Edge executando ML no NVIDIA Jetson Nano
Azure IoT Edge executando ML no NVIDIA Jetson NanoWalter Coan
 
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
Sql saturday  joinville 2019   sql server 2019 Big Data ClustesSql saturday  joinville 2019   sql server 2019 Big Data Clustes
Sql saturday joinville 2019 sql server 2019 Big Data ClustesLuiz Henrique Garetti Rosário
 

Semelhante a Google Cloud IoT Arquitetura (20)

Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
Integração: IoT Central + CosmosDB + Power BI - Dicas, desafios e boas práticas.
 
Azure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT EdgeAzure na Prática - Azure IoT Edge
Azure na Prática - Azure IoT Edge
 
Rodando uma API Com Django Rest Framework no Google Cloud
Rodando uma API Com Django Rest Framework  no Google CloudRodando uma API Com Django Rest Framework  no Google Cloud
Rodando uma API Com Django Rest Framework no Google Cloud
 
Novidades da plataforma Azure IoT
Novidades da plataforma Azure IoTNovidades da plataforma Azure IoT
Novidades da plataforma Azure IoT
 
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine LearningAplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
Aplicações do Azure IoT Edge: ambiente industrial e em Machine Learning
 
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das CoisasTalk Floripa - Desenvolvimento de projetos de Internet das Coisas
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
 
Evento IoT Weekend - Azure IoT Edge
Evento IoT Weekend - Azure IoT EdgeEvento IoT Weekend - Azure IoT Edge
Evento IoT Weekend - Azure IoT Edge
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e Firebase
 
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
Aplicações Distribuídas com Azure Service Bus + Azure Functions - Azure Tech ...
 
BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
Monitoramento de containers Docker
Monitoramento de containers DockerMonitoramento de containers Docker
Monitoramento de containers Docker
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
SQLSaturday 2019 - Desafios e tendências na utilização de bancos de dados par...
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como Backend
 
Ambiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google CloudAmbiente de CI/CD com Google Cloud
Ambiente de CI/CD com Google Cloud
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
Azure IoT Edge executando ML no NVIDIA Jetson Nano
Azure IoT Edge executando ML no NVIDIA Jetson NanoAzure IoT Edge executando ML no NVIDIA Jetson Nano
Azure IoT Edge executando ML no NVIDIA Jetson Nano
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
Sql saturday  joinville 2019   sql server 2019 Big Data ClustesSql saturday  joinville 2019   sql server 2019 Big Data Clustes
Sql saturday joinville 2019 sql server 2019 Big Data Clustes
 

Mais de Alvaro Viebrantz

End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfAlvaro Viebrantz
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Prototipação em hackathons
Prototipação em hackathonsPrototipação em hackathons
Prototipação em hackathonsAlvaro Viebrantz
 
Building REST APIs using gRPC and Go
Building REST APIs using gRPC and GoBuilding REST APIs using gRPC and Go
Building REST APIs using gRPC and GoAlvaro Viebrantz
 
TinyML - IoT e Machine Learning
TinyML -  IoT e Machine LearningTinyML -  IoT e Machine Learning
TinyML - IoT e Machine LearningAlvaro Viebrantz
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?Alvaro Viebrantz
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus DadosAlvaro Viebrantz
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
 
Edge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudEdge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudAlvaro Viebrantz
 
Iniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudIniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudAlvaro Viebrantz
 
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloConstruindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloAlvaro Viebrantz
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudAlvaro Viebrantz
 
Construindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTConstruindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTAlvaro Viebrantz
 
Explorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoExplorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoAlvaro Viebrantz
 
Soluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudSoluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudAlvaro Viebrantz
 
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Alvaro Viebrantz
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Alvaro Viebrantz
 
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligente
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligenteInternet das coisas - Conectando seus dispositivos à nuvem de forma inteligente
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligenteAlvaro Viebrantz
 
WebUSB e WebBluetooth - Conectando seu Hardware a Web
WebUSB e WebBluetooth - Conectando seu Hardware a WebWebUSB e WebBluetooth - Conectando seu Hardware a Web
WebUSB e WebBluetooth - Conectando seu Hardware a WebAlvaro Viebrantz
 

Mais de Alvaro Viebrantz (20)

End to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdfEnd to End IoT projects with Zephyr.pdf
End to End IoT projects with Zephyr.pdf
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Prototipação em hackathons
Prototipação em hackathonsPrototipação em hackathons
Prototipação em hackathons
 
Building REST APIs using gRPC and Go
Building REST APIs using gRPC and GoBuilding REST APIs using gRPC and Go
Building REST APIs using gRPC and Go
 
TinyML - IoT e Machine Learning
TinyML -  IoT e Machine LearningTinyML -  IoT e Machine Learning
TinyML - IoT e Machine Learning
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
Big Query - Escalabilidade Infinita para os seus Dados
Big Query  - Escalabilidade Infinita para os seus DadosBig Query  - Escalabilidade Infinita para os seus Dados
Big Query - Escalabilidade Infinita para os seus Dados
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Edge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google CloudEdge computing in practice using IoT, Tensorflow and Google Cloud
Edge computing in practice using IoT, Tensorflow and Google Cloud
 
Iniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google CloudIniciando com LoRa, The Things Network e Google Cloud
Iniciando com LoRa, The Things Network e Google Cloud
 
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São PauloConstruindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
Construindo projetos para o Google Assistant - I/O 2019 Recap São Paulo
 
Edge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google CloudEdge computing na prática com IoT, Machine Learning e Google Cloud
Edge computing na prática com IoT, Machine Learning e Google Cloud
 
Construindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoTConstruindo projetos com Google Assistant e IoT
Construindo projetos com Google Assistant e IoT
 
Explorando Go em Ambiente Embarcado
Explorando Go em Ambiente EmbarcadoExplorando Go em Ambiente Embarcado
Explorando Go em Ambiente Embarcado
 
Soluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google CloudSoluções de IoT usando Arduino e Google Cloud
Soluções de IoT usando Arduino e Google Cloud
 
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
Criando soluções de IoT usando Javascript de Ponta a Ponta: do Hardware até a...
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
 
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligente
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligenteInternet das coisas - Conectando seus dispositivos à nuvem de forma inteligente
Internet das coisas - Conectando seus dispositivos à nuvem de forma inteligente
 
WebUSB e WebBluetooth - Conectando seu Hardware a Web
WebUSB e WebBluetooth - Conectando seu Hardware a WebWebUSB e WebBluetooth - Conectando seu Hardware a Web
WebUSB e WebBluetooth - Conectando seu Hardware a Web
 

Google Cloud IoT Arquitetura

  • 1. ARQUITETURA DE INTERNET DAS COISAS COM GOOGLE CLOUD Alvaro Viebrantz aviebrantz.com.br @alvaroviebrantz 1
  • 2. Alvaro Viebrantz Google Developer Expert em Internet das Coisas Cuiabá - MT 2 aviebrantz.com.br @alvaroviebrantz
  • 3. A Web é gigante hoje 3 Computação Ubiqua
  • 4. 4
  • 5. 5 Por que está na moda hoje ? Sensores, internet e processamento mais baratos
  • 6. 6 Por que está na moda hoje ? Sensores, internet e processamento mais baratos
  • 7. 7 Por que está na moda hoje ? Sensores, internet e processamento mais baratos
  • 8. Conceito de IoT Não é só acender lâmpadas O que você pode fazer ? O conceito de IoT não é só acender lâmpadas 8
  • 9. Refere-se a objetos identificados de forma única e suas representações virtuais em uma estrutura similar a internet. Kevin Ashton em 2009 9 Conceito de IoT
  • 14. 14 Integração é o ponto chave Cadeira inteligente
  • 15. 15 IoT é serviço O importante não é o hardware, mas o que você entrega
  • 16. 16 Apenas o começo IoT é muito mais que apenas o hardware
  • 17. 17 Pilares em IoT Da coleta de dados até a geração de informação Coisas Nuvem Dados Informações e serviços
  • 18. 18 • Recebimento de fluxo de dados • Processamento desses dados • Armazenamento massivo de dados • Análise de dados • Machine Learning • Treinamento e predição Arquitetura em nuvem para IoT Quais os componentes necessários ? Escalável Rede Global Seguro
  • 19. 19 Arquitetura em nuvem para IoT Quais os componentes necessários ?
  • 20. 20 Cloud IoT Core Serviço gerenciado global para conectar e gerenciar de forma segura dispositivos Protocol Bridge • Endpoints em MQTT e HTTP • Comunicação Bidirecional • Escalabilidade automática • Balanceamento de carga automático • Conectado ao Cloud Pub/Sub • Filas de mensageria Gerenciamento de dispositivos • Configure dispositivos individualmente • Controle de acesso • Cadastro de certificados de acesso • APIs para manipulação dos dispositivos e provisionamento • Possibilita automação
  • 21. 21 Cloud IoT Core - Gerenciamento Provisionar dispositivos e controle individual
  • 22. 22 Cloud IoT Core - Gerenciamento Provisionar dispositivos e controle individual • Criar registro e configurar os dispositivos individualmente
  • 23. 23 Cloud IoT Core - Gerenciamento Controle individual dos dispositivos
  • 24. 24 Cloud IoT Core - Gerenciamento Controle individual dos dispositivos
  • 25. 25 Cloud IoT Core - Gerenciamento Provisionar dispositivos e controle individual • APIs para manipulação dos dispositivos e provisionamento • CRUD dos dispositivos • Possibilita automação
  • 26. 26 Cloud IoT Core - Comunicação Via protocolos conhecidos - MQTT e HTTP • Diferenças entre MQTT e HTTP • MQTT permite fazer subscrição das mensagens recebidas • HTTP tem que ficar buscando de forma explicita • MQTT é mais leve e trafega menos dados na rede, porém fica conectado o tempo todo • Comunicação Bidirecional • Existem algumas restrições nisso • Dados só podem ser enviados pelo dispositivo como telemetry ou state messages • Dados são recebidos apenas como configuration messages
  • 27. • JSON Web Token (JWT) gerado a partir dos certificados cadastrados • Chaves privada no dispositivo e publica cadastrada no Google Cloud • JWT é um formato bem conhecido de autorização • Padrão de industria - RFC 7519 • Algoritmos suportados para criptografia • ES256 - ECDSA e SHA-256 • RS256 - RSA e SHA-256 • Devem expirar em 1 hora e tem tolerância de 10 min com o Time Server do Google 27 Cloud IoT Core - Comunicação Autenticação/Autorização usando JWT
  • 28. 28 Cloud IoT Core - Comunicação Autenticação/Autorização via HTTP • Para chamadas HTTP deve ser colocado no Header • Para obter configurações: https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/ registries/{registry-id}/devices/{deviceid}/config?local_version={VERSION}
  • 29. 29 Cloud IoT Core - Comunicação Autenticação/Autorização via HTTP • Para enviar dados: https://cloudiotdevice.googleapis.com/v1/projects/{project-id}/locations/{cloud-region}/ registries/{registry-id}/devices/{deviceid}:publishEvent
  • 30. 30 Cloud IoT Core - Comunicação Parâmetros de Autenticação/Autorização via MQTT • Host: mqtt.googleapis.com:8883 • User: vazio (não é verificado) • Pass: token JWT • Client ID: projects/{project-id}/locations/{cloud-region}/registries/{registry-id}/devices/{device-id} devices/{deviceid}/config devices/{deviceid}/events devices/{deviceid}/state Dispositivo SUB PUB PUB
  • 31. 31 Cloud PubSub Espinha dorsal do Google Cloud - Mensageria gerenciada pelo Google • Gerenciado pelo Google • Escalabilidade automática • Garantia de entrega • Conectado com muitos produtos 
 do Google Cloud
  • 32. 32 Processamento desses dados Opções para o processamento e ingestão dos dados • Cloud Dataflow • Ambiente gerenciado para processamento em Lote e Stream de dados • Modelagem de pipeline • Baseado no projeto Apache Beam • SDK em Python e Java
  • 33. 33 Processamento desses dados Opções para o processamento e ingestão dos dados • Faça você mesmo • Workers recebendo dados via PubSub • Podem rodar em uma maquina virtual na nuvem • Cloud Compute Engine • Kubernetes Engine • Não é tão simples de escalar automaticamente • Pode ser feito em qualquer linguagem
  • 34. 34 Processamento desses dados Opções para o processamento e ingestão dos dados • Cloud Functions ou Firebase Cloud Functions • Serveless computing • Funções auto escaláveis em Javascript • As funções podem ser executadas baseadas em eventos • PubSub é apenas uma delas • Cobrança por chamada de função
  • 35. 35 Firebase Cloud Functions Exemplo de função que reage a dados sendo recebidos via Cloud PubSub • Suas regras de transformação e validação podem ser feitas aqui • Salvar em banco de dados os dados históricos para analise posterior • Salvar no Firebase para mantendo o ultimo estado em a ser visualizado em tempo real
  • 36. 36 Armazenamento Opções para o armazenamento massivo de dados • BigTable • NoSQL altamente escalável para tabelas gigante - Bilhões de linhas X Milhões de Colunas • Usado em muitos produtos do Google • Modelo de dados colunar • Compatível com API do HBase • Bom para quem está habituado com o ecossistema Hadoop • Não é muito barato !!!
  • 37. 37 Armazenamento Opções para o armazenamento massivo de dados • Cloud Spanner • Banco de dados ACID tradicional mas com features de NoSQL • Alta disponibilidade e distribuido globalmente • Consultas SQL • Estado da arte em banco de dados feito pelo Google • Gerenciado pelo Google e escalabilidade automática • Não é muito barato !!!
  • 38. 38 Armazenamento Opções para o armazenamento massivo de dados • BigTable • NoSQL altamente escalável para tabelas gigante - Bilhões de linhas X Milhões de Colunas • Usado em muitos produtos do Google • Modelo de dados colunar • Compatível com API do HBase • Bom para quem está habituado com o ecossistema Hadoop • Não é muito barato !!!
  • 39. 39 Armazenamento Opções para o armazenamento massivo de dados • BigQuery • Data warehouse de baixo custo • Gerenciado pelo Google e escalabilidade automática • Interface SQL ANSI de consulta e suporte a vários softwares de BI no mercado • Append Only - Dados imutáveis • Gratuito até 1TB por mês analisado e 10GB de dados
  • 40. 40 Armazenamento Armazenamento e sincronização em tempo real • NoSQL orientado a documento • Dados em forma de árvore • Sincronização em tempo real entre os clientes • SDK para várias linguagens • O Firebase possui todo um ecossistema de produtos voltado a desenvolvimento de apps
  • 41. 41 Análise de dados Obter insight dos dados armazenados • Cloud DataLab • Baseado no projeto open source Jupyter Notebook • Totalmente gerenciado • Muito usado para DataScience e Machine Learning em Python • Analise e visualize os dados • Gratuito • Apenas os serviços extras são cobrados
  • 42. 42 Análise de dados Obter insight dos dados armazenados • Google Data Studio • Ferramenta para visualização de dados • Diversas fontes de dados • SQL, Google Analytics, BigQuery, Arquivos CSV, etc • User friendly • Gratuito
  • 43. Estação meteorológica - Arquitetura de ponta a ponta com Google Cloud !43 Post pessoal foi para o blog do Google Cloud Acesse: bit.ly/gcloud-weather-station
  • 44. Estação meteorológica - Arquitetura de ponta a ponta !44 ESP8266/ESP32 rodando MongooseOS • Programação em Javascript • Hardware • Backend com Cloud Functions • MongooseOS tem suporte ao Cloud IoT Core Acesse: bit.ly/gcloud-weather-station
  • 45. Estação meteorológica - Arquitetura de ponta a ponta !45 Relatório com Data Studio e WebApp Acesse: bit.ly/gcloud-weather-station
  • 46. Monitoramento de ativos via GPS e Rede Celular !46 Outro post pessoal foi para o blog do Google Cloud sobre Arquitetura IoT Acesse: bit.ly/gcloud-asset
  • 47. Monitoramento de ativos via GPS e Rede Celular !47 Outro post pessoal foi para o blog do Google Cloud sobre Arquitetura IoT • ESP32 + GPS + GSM • Aqui é mostrado como configurar remotamente o dispositivo. • Trocar tempo entre mensagens • MongooseOS tem suporte à modem GSM de forma transparente Acesse: bit.ly/gcloud-asset
  • 48. !48
  • 49. Leverege - Monitoramento inteligente de lixeiras na cidade !49 www.leverege.com/usecases/waste-management-solution
  • 50. Leverege - Monitoramento inteligente de lixeiras na cidade !50 www.leverege.com/usecases/waste-management-solution
  • 51. Leverege - Monitoramento inteligente de lixeiras na cidade !51 www.leverege.com/usecases/waste-management-solution
  • 52. Leverege - Monitoramento de inteligente de lixeiras na cidade !52 Arquitetura do projeto https://www.leverege.com/usecases/waste-management-solution
  • 53. Cloud 
 Natural Language Cloud 
 Speech Cloud 
 Vision Cloud Machine Learning APIs Veja, Ouça e Entenda o mundo Cloud 
 Video Intelligence Cloud 
 Translation !53
  • 54. • Funções especificas para Deep Learning • +67k ⭐ no Github • Para pesquisa e produção • O Google fez até hardware dedicado para ele • Licença Apache 2.0 TensorFlow Biblioteca de machine learning Open source !54
  • 55. Raspberry PiDatacentersSeu laptop Android iOS Portável e Escalável Rode em qualquer lugar !55
  • 56. 56 Treinamento e predição na Nuvem Escalando Tensorflow de forma fácil • Cloud ML Engine • Treinamento de modelo na nuvem • Também é possível hospedar e rodar modelos já treinados • Gerenciado pelo Google • Integrado ao Dataflow, BigQuery e outros para ser fonte de dados de treinamento
  • 57. Classificação de Pepinos Tensorflow rodando local no dispositivo embarcado https://cloud.google.com/blog/big-data/2016/08/how-a-japanese- cucumber-farmer-is-using-deep-learning-and-tensorflow !57
  • 58. 58 AIY Projects - Voice Kit IA para humanos - Faça seu próprio Google Home developers.google.com/assistant/sdk/
  • 60. É uma extensão da plataforma Android para IoT e dispositivos embarcados. !60 Android Things
  • 61. A.I. Candy Dispenser Máquina de doces inteligente 61
  • 62. A.I. Candy Dispenser Máquina de doces inteligente Cloud 
 Vision Android Things Tira uma foto Classifica foto Libera doces ou !62
  • 63. A.I. Candy Dispenser Na mídia 🎉 https://blog.hackster.io/hacksters- handpicked-projects-of-the-week- e2403bdf387a http://www.htxt.co.za/2017/06/07/ this-ai-candy-dispenser-swaps- pictures-for-sweets/ https://www.raspberrypi.org/blog/android- things-candy-dispenser/ 63
  • 64. A.I. Candy Dispenser Na mídia 🎉 Android Things: The IoT Platform for Everyone (GDD Europe '17) 64
  • 65. Open Source - Máquina de Doces Inteligente https://github.com/alvarowolfx/ai-candy-dispenser https://www.hackster.io/alvarowolfx/ android-things-a-i-candy-dispenser-a47e74 !65
  • 66. 66 Como começar ? Apesar de ser independente de hardware, já tem alguns parceiros • MongooseOS e Zerynth • Suporte a ESP32/ESP8266 e outros • Microchip • Via hardware dedicado a autenticação e autorização (ATECC608A)
  • 67. 67 Raspberry Pi 👑 + Ecossistema gigante + Wifi e Bluetooth embutido
 + Muito material na internet BeagleBone Como começar ? Alguns samples do Google que podem ser testados no seu computador ou em Single Board Computers cloud.google.com/iot/docs/samples/