IoT e Computação em Nuvem

Formulário de acompanhamento:

Ementa:

  • Este curso abrange sistemas embarcados com plataformas como Raspberry Pi e Arduino para a construção de dispositivos que podem controlar o mundo físico. Serão também apresentados conceitos de Computação em Nuvem, onde os alunos vão aprender a desenvolver aplicações na nuvem, armazenamento de dados, back-end e front-end. Será visto também como cadastrar e gerenciar dispositivos IoT na nuvem. Ao final, os alunos deverão ser capazes de projetar, construir e testar um sistema embarcado baseado ligado a um sistema em nuvem, produzindo um projeto prático final.

Objetivos:

  • Apresentar conceitos de IoT utilizando Computação em Nuvem
  • Utilizar ferramentas e serviços da Amazon AWS para IoT e Computação em Nuvem
  • Desenvolver um projeto prático envolvendo IoT e Computação em Nuvem na plataforma Amazon AWS

Tutoriais:

  • Parte I - Sistema Embarcado
    • Captura de dados de sensores (com Arduino ou ESP)
    • Pré-processamento (rodar algum algoritmo mais pesado em Raspberry antes de transmitir. Talvez com imagem)
    • Comunicação com a nuvem (enviar dados para uma base de dados na web, e receber notificações/comandos da nuvem)
  • Parte II - Back-end
    • Micro-serviços com Python e Django (sugerem outro?)
    • Persistencia de dados com PostgresSQL
  • Parte III - Front-end
    • Front-end apresentando dados da Base na Web com Node JS (sugerem outro?)
    • Notificações e mensagens para o sistema embarcado com Node JS (sugerem outro?)

Avaliação (para os alunos de mestrado):

  • Ferramenta de Modelagem de IoT:
  • A avaliação será baseada no desenvolvimento de um projeto e da realização de exercícios e tutoriais
    • Projeto: 70%
      • Calendário de entregas:
        • 21/08 - Parte 1: modelagem do sistema geral no Ptolemy II (ainda sem executar)
        • 04/09 - Parte 2: modelagem do lado dos dispositivos de forma emulada (executando)
        • 18/09 - Parte 3: modelagem do lado servidor recebendo dados dos dispositivos (executando)
        • 02/10 - Parte 4: modelagem dos sensores e atuadores (executando)
        • 06/11 - Parte 5: servidor em nuvem (computador) recebendo dados vindos dos dispositivos
        • 20/11 - Parte 6: front-end do lado do servidor para visualização e acesso aos dados
        • 27/11 - Parte 7: sistema em larga escala (diversos dispositivos)
        • 04/12 - Parte 8: análise de dados (validação e visualização)
    • Relatório técnico (formato artigo IEEE): 30%
      • Breve introdução e a parte de descrição dos modelos gerados, experimentos e resultados
      • Data de envio (por e-mail): 11/12

Conteúdo da Amazon AWS (para alunos da graduação):

Materiais:

  • Documentação do IoT Core da Amazon
  • Dawid Borycki, "Programming for the Internet of Things: Using Windows 10 IoT Core and Azure IoT Suite (Developer Reference)"
  • Charles Bell, "MicroPython for the Internet of Things: A Beginner’s Guide to Programming with Python on Microcontrollers"
  • Giacomo Veneri, Hands-On Industrial Internet of Things: Create a powerful Industrial IoT infrastructure using Industry 4.0