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

Arquitetura de Internet das Coisas usando Google Cloud

  • 1.
    ARQUITETURA DE INTERNET DASCOISAS COM GOOGLE CLOUD Alvaro Viebrantz aviebrantz.com.br @alvaroviebrantz 1
  • 2.
    Alvaro Viebrantz Google DeveloperExpert em Internet das Coisas Cuiabá - MT 2 aviebrantz.com.br @alvaroviebrantz
  • 3.
    A Web égigante hoje 3 Computação Ubiqua
  • 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 objetosidentificados de forma única e suas representações virtuais em uma estrutura similar a internet. Kevin Ashton em 2009 9 Conceito de IoT
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    14 Integração é oponto chave Cadeira inteligente
  • 15.
    15 IoT é serviço Oimportante 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 Dacoleta de dados até a geração de informação Coisas Nuvem Dados Informações e serviços
  • 18.
    18 • Recebimento defluxo 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 nuvempara IoT Quais os componentes necessários ?
  • 20.
    20 Cloud IoT Core Serviçogerenciado 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 WebToken (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 dorsaldo 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çõespara 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çõespara 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çõespara 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 Exemplode 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 oarmazenamento 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 oarmazenamento 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 oarmazenamento 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 oarmazenamento 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çãoem 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 Obterinsight 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 Obterinsight 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 ativosvia 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 ativosvia 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.
  • 49.
    Leverege - Monitoramentointeligente de lixeiras na cidade !49 www.leverege.com/usecases/waste-management-solution
  • 50.
    Leverege - Monitoramentointeligente de lixeiras na cidade !50 www.leverege.com/usecases/waste-management-solution
  • 51.
    Leverege - Monitoramentointeligente de lixeiras na cidade !51 www.leverege.com/usecases/waste-management-solution
  • 52.
    Leverege - Monitoramentode 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 especificaspara 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 laptopAndroid iOS Portável e Escalável Rode em qualquer lugar !55
  • 56.
    56 Treinamento e prediçãona 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 Tensorflowrodando 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/
  • 59.
  • 60.
    É uma extensãoda plataforma Android para IoT e dispositivos embarcados. !60 Android Things
  • 61.
    A.I. Candy Dispenser Máquinade doces inteligente 61
  • 62.
    A.I. Candy Dispenser Máquinade doces inteligente Cloud 
 Vision Android Things Tira uma foto Classifica foto Libera doces ou !62
  • 63.
    A.I. Candy Dispenser Namí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 Namí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 ? Apesarde 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/
  • 68.
  • 69.