Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Edge computing na prática com IoT, Machine Learning e Google Cloud

216 views

Published on

Conceitos de edge computing sendo mostrado em um experimento envolvendo ESP32 com cameras, um Raspberry pi rodando inferências localmente com Tensorflow e agindo como um gateway no Cloud Iot Core e uma camada serverless na nuvem que armazena os dados processados das imagens.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Edge computing na prática com IoT, Machine Learning e Google Cloud

  1. 1. EDGE COMPUTING NA PRÁTICA COM IOT, MACHINE LEARNING E COM GOOGLE CLOUD Alvaro Viebrantz aviebrantz.com @alvaroviebrantz
  2. 2. Alvaro Viebrantz @alvaroviebrantz aviebrantz.com Google Developer Expert for IoT Product Engineer @ Leverege Organizador do GDG Cuiabá e DevMT
  3. 3. ON PREMISE
  4. 4. 5
  5. 5. Pilares Disponibilidade Manutenção Escalável Economia 6
  6. 6. O QUE É 
 EDGE COMPUTING ?
  7. 7. QUANDO FAZ SENTIDO ?
  8. 8. TEMPO DE RESPOSTA
  9. 9. USO DE BANDA
  10. 10. FUNCIONAR OFFLINE
  11. 11. PRIVACIDADE
  12. 12. CUSTO
  13. 13. MÃO NA MASSA
  14. 14. VAMOS VER ISSO NA PRÁTICA USANDO CAMERAS COMO SENSORES
  15. 15. 16 Cameras como sensores Projeto de Edge Computing • Cameras com Wifi o mais barato possível • Servidor local processando as imagens • Detecção de objetos usando Machine Learning • Enviar dados processados para a nuvem • Fornecer interface web para ver localmente e remotamente os dados
  16. 16. 17 Arquitetura do Projeto
  17. 17. HARDWARE
  18. 18. 19 ESP32 Cam Raspberry Pi 3 10$ FTDI
  19. 19. PROGRAMANDO AS CAMERAS
  20. 20. OBJETIVO FORNECER AS IMAGENS NA REDE LOCAL
  21. 21. 22
  22. 22. 24 ESP-IDF SDK Oficial para programar micro-controladores da Espressif • Várias coisas estão sendo lançadas usando essa SDK. • esp32-camera — Drivers para cameras • esp-who — Framework de visão computacional • esp-adf — Trabalhar com audio • esp-mdf — Redes mesh
  23. 23. 25
  24. 24. 26 Firmware das cameras github.com/alvarowolfx/gcloud-iot-edge-tensorflow/tree/master/esp32-camera-firmware • Conexão com a camera OV2640 • Endpoint HTTP para acesso a foto • Serviço mDNS • Para que as cameras possam ser encontradas na rede local — {INSTANCE_NAME}.local/jpg • Serviço _camera e protocolo _tcp
  25. 25. 27 mDNS Protocolo de descoberta na rede local • http://indoor-camera-ec5d.local/jpg • http://indoor-camera-60d8.local/jpg
  26. 26. DEMO TIME
 MAY THE DEMO GODS BE WITH US
  27. 27. SETUP EM NUVEM
  28. 28. RECEBIMENTO DOS DADOS
  29. 29. GERENCIAMENTO DOS DISPOSITIVOS
  30. 30. https:!//cloud.google.com/iot/docs/how-tos/gateways/
  31. 31. COMUNICAÇÃO AUTENTICAÇÃO E AUTORIZAÇÃOPROTOCOLOS
  32. 32. MENSAGERIA - FILA DE PROCESSAMENTO
  33. 33. GATEWAY LOCAL
  34. 34. OBJETIVO BUSCAR IMAGENS, CLASSIFICAR E ENVIAR PRA NUVEM
  35. 35. 42 PODEMOS PROGRAMAR EM QUALQUER LINGUAGEM
  36. 36. 43
  37. 37. 44 @tensorflow/models — npm package Modelo prontos para serem usados • Classificação e detecção de objetos • Estimativa de posição • Comandos de voz
  38. 38. 45 Server local github.com/alvarowolfx/gcloud-iot-edge-tensorflow/tree/master/edge-server
  39. 39. 46 • Busca cameras usando mDNS — DeviceListener • Detecta objeto nas imagens (Image Classifier) • Tensorflow e o modelo cocossd • Envia dados via mqtt para a nuvem (CloudIoTCoreGateway) • Utiliza o modo Gateway do Cloud IoT Core • Disponibiliza interface web que sincroniza usando socket.io Server local github.com/alvarowolfx/gcloud-iot-edge-tensorflow/tree/master/edge-server
  40. 40. 47
  41. 41. 48
  42. 42. 49
  43. 43. 50
  44. 44. 51
  45. 45. 52
  46. 46. 53
  47. 47. PROCESSAMENTO DOS DADOS
  48. 48. PROGRAMAÇÃO ORIENTADA A EVENTOS
  49. 49. NODEJS PYTHON (BETA) GOLANG (BETA)
  50. 50. ARMAZENAMENTO DOS DADOS
  51. 51. DADOS EM FORMA DE ÁRVORE - JSON SDK PARA VÁRIAS LINGUAGENS
  52. 52. 60
  53. 53. 61
  54. 54. 62 FIREBASE DEPLOY 🔥 🔥 🔥
  55. 55. VISUALIZAR OS DADOS
  56. 56. !64
  57. 57. !65
  58. 58. !66
  59. 59. !67
  60. 60. DEMO TIME
 MAY THE DEMO GODS BE WITH US
  61. 61. TRABALHOS FUTURO
  62. 62. Estimar posição Modelo Posenet
  63. 63. Treinar modelo customizado Detectar pessoas especificas ou diferenciar meus gatos
  64. 64. Treinar modelo customizado Detectar pessoas especificas ou diferenciar meus gatos
  65. 65. Enviar alertas Definir regras para mandar mensagens — se uma classe for vista em um cômodo
  66. 66. OBRIGADO Alvaro Viebrantz aviebrantz.com @alvaroviebrantz

×