SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
EDGE COMPUTING NA PRÁTICA
COM IOT, TENSORFLOW E GOOGLE CLOUD
Alvaro Viebrantz 

Google Developer Expert for IoT and Product Engineer at Leverege
aviebrantz.com
@alvaroviebrantz
O que vamos ver hoje ?
O que é Edge
Computing ?
Cenário
Prático
Como
construir esse
cenário!
3
Disponibilidade Escalabilidade Manutenção
Gastar Menos
4
MAS O QUE É
EDGE COMPUTING ?
QUANDO FAZ SENTIDO ?
Privacidade
Banda de Rede
Latencia
Confiabilidade
Custos
FALAR É FÁCIL
VAMOS VER NA PRÁTICA
USAR CAMERAS
COMO SENSORES
15
Cameras como sensores
Nosso projeto de Edge Computing
• Usar cameras Wifi baratas
• Servidor local recebendo e processando as imagens
• Detecção de objetos usando Machine Learning
• Enviar dados processados para nuvem
• Prover uma interface web local e uma remota para mostrar
os dados
16
Arquitetura do Projeto
HARDWARE
18
ESP32 Cam Raspberry Pi 3
10$
35$
PROVER IMAGENS NA
REDE LOCAL
20
Camera Firmware
github.com/alvarowolfx/gcloud-iot-edge-tensorflow/tree/master/esp32-camera-firmware
• Conectar na rede Wifi
• Prover uma interface HTTP para adquirir as images
• Ler as imagens da camera local (OV2640)
21
Descoberta de Cameras com mDNS
Protocolo de Descoberta Local
• Encontra as cameras locais automaticamente
{INSTANCE_NAME}.local/jpg
• Serviço _camera e protocolo _tcp
22
Encontrando cameras locais
Podemos testar localmente using a ferramenta dns-sd
• http://indoor-camera-ec5d.local/jpg
• http://indoor-camera-60d8.local/jpg
23
GATEWAY NA REDE LOCAL
BAIXAR IMAGENS, CLASSIFICAR
E ENVIAR PARA A NUVEM
26
QUALQUER LINGUAGEM
PODE SER USADA AQUI
27
ATENÇÃO
EU NÃO SOU NENHUM EXPERT
EM MACHINE LEARNING
MAS TALVEZ ESSA SEJA A MELHOR
PARTE DESSE PROJETO
tensorflow.org/js/models
Modelos Pré Treinados em TensorFlow.js que podem ser usados sem muitas alterações
Classification
Mobilenet model
Object Detection
CocoSSD model
Cat, Dog, DuckCat
Classification vs Object Detection
32
33
Arquitetura da Rede Local
34
Edge/Gateway server
github.com/alvarowolfx/gcloud-iot-edge-tensorflow/tree/master/edge-server
DEMO - EDGE SERVER
36
37
38
Meu Computador Raspberry Pi 3
TensorFlow.js
Core
8 seconds
per frame
45 seconds
per frame
TensorFlow.js
Node
200 milliseconds
per frame
1 second
per frame
Performance
Dica - Use tfjs-node ou tfjs-node-gpu se possível
CONFIGURAÇÃO EM NUVEM
40
Arquitetura em Nuvem
cloud.google.com/iot/docs/how-tos/gateways/
INGESTÃO DOS DADOS
PLATFORMA
SERVERLESS
Cloud
Functions
NODEJS
PYTHON
GOLANG
Cloud
Functions
48
ARMAZENANDO OS DADOS
51
52
firebase deploy 🔥 🔥 🔥
53
54
55
Artigo descrevendo tudo que mostrei até agora
bit.ly/gcloud-iot-edge
EVOLUINDO O PROJETO
Eu amo gatos
E se eu pudesse rastrear meus gatos em casa ?
Treinando um modelo customizado
Primeira tentativa
Transfer Learning
Usando modelos pré treinados para treinar novos modelos com datasets menores
Construindo o dataset
Geralmente a parte mais dificil de qualquer projeto de ML
BAIXA ACURÁCIA NO MEU MODELO
😭😿
Treinar um modelo de classificação
Usando o mesmo dataset
Train a classification model
Using the same dataset
Melhor dos dois mundos
Usar um modelo pré treinado para detecção de objetos primeiro e depois o modelo
customizado
Detect
Objects using
CocoSSD
Filtrar
gatos e
cortar as
imagens
Classificar
com modelo
customizado
DEMO - CUSTOM MODEL
68
Found a cat Found Jam
69
Found a cat Found Berry
70
Found two catsFound Jam
Found Muffin
Found Berry
TRABALHO FUTURO
Edge Devices
Performance melhor na borda
Outros Edge Devices
Performance melhor na borda
Sipeed Maix Bit Sparkfun Edge
Identificação de Faces
Identificar apenas pessoas autorizadas em um determinado local
github.com/ageitgey/face_recognition
Estimação de Pose
Modelo Pré Treinado - Posenet
RESUMINDO TUDO
Resumindo tudo
77
Usar o poder do
dispositivo na borda
Extrair mais
informação
usando Machine
Learning
Escalabilidade,
Flexibilidade
e Facilidade de Uso
Usando o poder tanto local quanto em nuvem
OBRIGADO!
AVIEBRANTZ.COM
Alvaro Viebrantz 

Google Developer Expert for IoT and Product Engineer at Leverege
aviebrantz.com
@alvaroviebrantz

Mais conteúdo relacionado

Semelhante a Edge Computing na prática com IoT, TensorFlow e Google Cloud

QCon 2011
QCon 2011QCon 2011
QCon 2011Ismael
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeWalter Coan
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTGDGFoz
 
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
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasMarco Antonio Maciel
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoCarlos Smaniotto
 
ASP.NET vNext no MAC OS
ASP.NET vNext no MAC OSASP.NET vNext no MAC OS
ASP.NET vNext no MAC OSJorge Maia
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglas Esteves
 
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SPZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SPZabbix BR
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekLuiz Carlos Faria
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHPFlávio Lisboa
 
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...tdc-globalcode
 
Infraestrutura de cloud computing
Infraestrutura de cloud computingInfraestrutura de cloud computing
Infraestrutura de cloud computingFabio Leandro
 
Redes Sem Fio Zigbee e Técnicas de RF
Redes Sem Fio Zigbee e Técnicas de RFRedes Sem Fio Zigbee e Técnicas de RF
Redes Sem Fio Zigbee e Técnicas de RFandrerasminio
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!Vinicius Mussak
 

Semelhante a Edge Computing na prática com IoT, TensorFlow e Google Cloud (20)

QCon 2011
QCon 2011QCon 2011
QCon 2011
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 
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
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das Coisas
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
ASP.NET vNext no MAC OS
ASP.NET vNext no MAC OSASP.NET vNext no MAC OS
ASP.NET vNext no MAC OS
 
Douglasesteves meetupzabbix
Douglasesteves meetupzabbixDouglasesteves meetupzabbix
Douglasesteves meetupzabbix
 
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SPZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
ZABBIX Proxy com Raspberry PI - 2º ZABBIX MEETUP DO INTERIOR-SP
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC Week
 
Criando microsserviços em PHP
Criando microsserviços em PHPCriando microsserviços em PHP
Criando microsserviços em PHP
 
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...
TDC2018SP | Trilha JavaScript - Criando solucoes de IoT usando Javascript de ...
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Dynamips, Dynagen e GNS3
Dynamips, Dynagen e GNS3Dynamips, Dynagen e GNS3
Dynamips, Dynagen e GNS3
 
Infraestrutura de cloud computing
Infraestrutura de cloud computingInfraestrutura de cloud computing
Infraestrutura de cloud computing
 
Redes Sem Fio Zigbee e Técnicas de RF
Redes Sem Fio Zigbee e Técnicas de RFRedes Sem Fio Zigbee e Técnicas de RF
Redes Sem Fio Zigbee e Técnicas de RF
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
O que são Redes de Computadores
O que são Redes de ComputadoresO que são Redes de Computadores
O que são Redes de Computadores
 
ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!ITerior - .NET Core, usando .NET no Linux!
ITerior - .NET Core, usando .NET no Linux!
 

Mais de Alvaro Viebrantz

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIAlvaro 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
 
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
 
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
 
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
 
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
 
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
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Alvaro 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
 
Arquitetura de Internet das Coisas usando Google Cloud
Arquitetura de Internet das Coisas usando Google CloudArquitetura de Internet das Coisas usando Google Cloud
Arquitetura de Internet das Coisas usando Google CloudAlvaro 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
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on GoogleAlvaro Viebrantz
 
From Zero to App - Usando React e Firebase
From Zero to App  - Usando React e Firebase From Zero to App  - Usando React e Firebase
From Zero to App - Usando React e Firebase Alvaro Viebrantz
 
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Alvaro Viebrantz
 

Mais de Alvaro Viebrantz (20)

BigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage APIBigQuery Performance Improvements Storage API
BigQuery Performance Improvements Storage API
 
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
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
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
 
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
 
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
 
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
 
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018Arquitetura de IoT na prática com Google Cloud - Join Community 2018
Arquitetura de IoT na prática com Google Cloud - Join Community 2018
 
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
 
Arquitetura de Internet das Coisas usando Google Cloud
Arquitetura de Internet das Coisas usando Google CloudArquitetura de Internet das Coisas usando Google Cloud
Arquitetura de Internet das Coisas usando Google Cloud
 
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
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on Google
 
From Zero to App - Usando React e Firebase
From Zero to App  - Usando React e Firebase From Zero to App  - Usando React e Firebase
From Zero to App - Usando React e Firebase
 
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
 

Edge Computing na prática com IoT, TensorFlow e Google Cloud