2018.1 - DCC091 - IoT
Horários
Dia Inicio Fim
Segunda 19:00 21:00 Lab DCC 04
Atendimento: Segundas de 17h às 18h e a combinar
Ementa:
IoT (Internet das Coisas) é uma tecnologia realmente em alta no mundo todo. Tanto a academia quanto o governo e a indústria estão envolvidos em diferentes aspectos da pesquisa, implementação e modelo de negócios em IoT. Atualmente já é possível realizar previsões de conectividade, armazenamento e análises de forma generalizadas, o que, por sua vez, cria possibilidades de construção de diferentes soluções IoT. Aplicações baseadas em IoT, como sistemas de compras inovadoras, gerenciamento de infra-estrutura de áreas urbanas e rurais, sistemas remotos de monitoramento de saúde e sistemas de transporte, dependem gradualmente de sistemas baseados em IoT e sua tecnologia envolvida. Neste curso serão vistos princípios fundamentais e possibilidades desta tecnologia emergente. Seu conteúdo passa desde seus conceitos elementares em Redes de Computadores, protocolos de comunicação, sensores, Cloud Computing, SDN (Redes Definidas por Software), Fog Computing, implementações e uma introdução à análise de dados.
Cronograma
Avaliações
T1 (Trabalho 1) = 100
T2 (Trabalho 2) = 100
PS (Práticas com Sensores) = 100
T1 T2 PS
.----^-----. .----^-----. .----^-----.
(100 * 0.4) + (100 * 0.4) + (100 * 0.2) = NF
If NF >= 60 Then
Aprovado
Else
Reprovado
Material Complementar
Aula 01:
Links externos:
Link para o site do BNDES com o relatório final do "Plano de Ação para IoT no Brasil", de Novembro/2017:
Link para todos os documentos do "Plano de Ação para Iot no Brasil":
Aula 02:
Links Externos:
Site com os slides do livro do Jim Kurose e Keith Ross: http://www-net.cs.umass.edu/kurose-ross-ppt-6e/
Aulas de Introdução à Redes do Prof. Célio Vinícius (UFF):
Aula 03:
Links Externos:
CoAP: http://coap.technology/
MQTT: https://www.oasis-open.org/committees/mqtt/
Mosquitto.org: http://mosquitto.org/
CoRE (REST): https://datatracker.ietf.org/wg/core/documents/
IEEE 802.11: http://www.ieee802.org/11/
IEEE 802.15.4: https://standards.ieee.org/findstds/standard/802.15.4-2015.html
ZigBee: http://www.zigbee.org/
6LowPAN: https://tools.ietf.org/html/rfc4944
Aula 04:
Aula 05:
Slides Aula 05 (atualizado em 06/04/18)
Aula 06:
Aula 07:
Slides Aula 07 (atualizado em 23/04/18)
Arquivos das Práticas:
WiFiClient.ino (atualizado em 23/04/18)
webServer.ino (atualizado em 23/04/18)
Interface HTML de administração MQTT: endereço do git para download // Atenção: indique o Broker que a interface deverá se conectar no arquivo tmo.js e atenção ao ID e ao tópico.
Aula 08:
Broker MQTT mosquitto interno - NRC: 200.131.219.102
Socket TCP: 1883 (default)
WebSocket: 1884
Arquivos Práticas:
Para sensor de temperatura analógico Ky-13 (atenção para a ligação dos 3 pinos para leitura): sketch.ino
Para sensor de temperatura digital DHT11: instale a biblioteca no Arduino IDE e utilize um dos exemplos que a biblioteca trás
Aula 09:
Aula 10:
Finalização das Práticas de Sensores das aulas anteriores
Aula 11:
Cloud Computing
Fog Computing
Grupos
Enunciados dos Trabalhos
T1: Simuladores
Enunciado: 06/04
Entrega: 20/04
Utilizar os simuladores Cooja do Contiki-OS ou o LoRaSim, vistos em aula.
Enunciado para Cooja:
Criar e executar uma simulação com MQTT-SN no Cooja.
Você deve ser guiar pelo tutorial do site: https://blog.aignacio.com/2017/06/25/6lowpan-mqtt-and-contiki-os/
O resultado do seu experimento deve ser entregue ao professor como um vídeo mais um documento com a tradução do roteiro apresentado no site, além de um parágrafo final com sua conclusão pessoal sobre as características da aplicação do MQTT-SN no ambiente IoT.
Enunciado para LoRaSim:
Criar e executar uma simulação no LoRaSim.
Você deve executar simulações no LoRaSim utilizando o loraDirMulBS.py para variar a quantidade de base stations do cenário. Nossa intenção é verificar a escalabilidade da relação entre o número de nós LoRaWAN (número fixo) e o incremento no número de base stations.
Os slides da Aula 05 auxiliam muito na execução deste script.
A execução do script se dá seguindo a linha de exemplo:
./loraDirMulBS.py <nodes> <avgsend> <experiment> <simtime> <basestation> [collision]
Os parâmetros da simulação devem ser:
número de nós <nodes>: 200
médio de envio <avgsend>: 60000
tipo de experimento <experiment>: 4
tempo de simulação <simtime>: 600000
base stations <basestation>: 1, 2, 4, 8 e 24 (com 24 não sendo obrigatório)
colisão habilitada ? [collision]: 1
O resultado do seu experimento deve ser entregue ao professor como um documento com os parâmetros utilizados nas simulações, além de 1 parágrafo sobre LoRa e LoRaWAN, e também 1 gráfico com os resultados. Você deve escrever 1 parágrafo sobre o que se conclui pelo gráfico.
Para gerar o gráfico você pode usar o gnuplot, como visto em aula. Plote um gráfico com 2 eixos conforme as colunas dos arquivos de saída do LoRaSim, sendo eles:
Eixo X: número de base stations
Eixo Y: DER
T2: Trabalho Final
Enunciado: 04/06
Entrega: 02/07
Vídeo com explicação:
Enunciado:
Template:
Atenção para as seções descritas no enunciado (elas devem estar neste documento)