Mudanças entre as edições de "Projeto de Estimador de Estado de Enlace"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 159: Linha 159:
  
 
*08/06 até 13/06 Gerar iso do instant contiki (https://www.turnkeylinux.org/blog/convert-vm-iso) e testar antes em uma virtualbox
 
*08/06 até 13/06 Gerar iso do instant contiki (https://www.turnkeylinux.org/blog/convert-vm-iso) e testar antes em uma virtualbox
 +
Peguei a referência desse site: https://www.sevenbits.io/blog/iso/puredarwin/osx/2015/03/11/convert-to-iso.html
  
 
<code>
 
<code>

Edição das 07h48min de 13 de junho de 2018

Página do Bolsista

Nome: Gabriel Espíndola Soares de Souza

Local de Trabalho

Labic

Horário de Trabalho

  • Bolsa de 20h
  • Segunda-feira - 07:30 às 11:30
  • Terça-feira - 07:30 às 11:30
  • Quarta-feira - 07:30 às 11:30
  • Quinta-feira - 07:30 às 11:30
  • Sexta-feira - 07:30 às 11:30

Cronograma de Trabalho

  1. Estudo Básico de Redes
    1. Referência: Livro de Redes de Computadores do Kurose e experimentos de rede (https://wiki.sj.ifsc.edu.br/index.php/Curso_T%C3%A9cnico_Integrado_de_Telecomunica%C3%A7%C3%B5es_-_Redes_de_Computadores_(RCO))
    2. Duração: 8 semanas (até dia 31 de Junho)
    3. Colocar o detalhamento das tarefas no Trello (compartlhar com o professor: eraldo.silveira@gmail.com)
    4. Indicador de Sucesso: Resumo dos cap.1,2.1, 2.2, 2.5, 2.7, 3.1, 3.3, 4.1, 4.2,4.3,4.4,5.1, 5.2, 5.3,6.1,6.2, 6.3 - (i) Fazer no Sharelatex em um modelo de relatório - compartilhar com o coordenador. (ii) Execução dos experimentos de laboratório do link passado (resumo de atividades).
  2. Estudo do Contiki/Cooja
    1. Instalar o Contiki/Cooja: http://www.contiki-os.org/start.html
    2. Estudar no Contiki/Cooja dois exemplos do diretório /home/user/contiki/examples: ipv6/simple-udp-rpl e escolher outro exemplo simples usando rime (falar com André)
    3. Propor e implementar um exempĺo sobre os nodos.
    4. Indicador de Sucesso: (i) discutir os dois exemplos no relatório (ii)propor um exemplo de comunicação usando 3 nodos para fazer algo específico no simulador
    5. Duração: 8 semanas (até dia 15 de Junho)
    6. Colocar o detalhamento das tarefas no Trello (compartlhar com o professor: eraldo.silveira@gmail.com)

Semana 1 DATA 02/05

  • 02/05 até 03/05: Leitura e produção do resumo sobre os subcapítulos 1.1,1.2 e 1.3;
  • 04/05 até 07/05: Instalação do Contiki/Cooja;
  • 08/05 até 09/05: Leitura e produção do resumo sobre os subcapítulos 1.4,1.5,1.6,1.7;

Semana 2 DATA 09/05

  • 10/05 até 15/05: Leitura e produção do resumos dos subcapítulos 2.1,2.2,2.5,2.7;
  • 12/05 até 18/05: Estudar no Contiki/Cooja dois exemplos do diretório /home/user/contiki/examples: ipv6/simple-udp-rpl e escolher outro exemplo simples usando rime;

Semana 3 DATA 16/05

  • 16/05 até 17/05: Leitura e produção do resumo dos subcapítulos 3.1,3.3
  • 18/05 até 24/05: Leitura e produção do resumo dos subcapítulos 4.1,4.2,4.3,4.4
  • 18/05 até 25/05: Estudo no Contiki/Cooja os exemplos unicast-receiver.c e unicast-sender.c do diretório /home/user/contiki/examples: ipv6/simple-udp-rpl

Semana 4 DATA 23/05

  • 25/05 até 30/05: Leitura e produção do resumo dos subcapítulos 5.1,5.2,5.3
  • 23/05 até 30/05: Realização dos laboratórios 1 e 2

Semana 5 DATA 30/05

  • 30/05 até 05/06: Leitura e produção do resumo dos subcapítulos 6.1,6.2,6.3
  • 30/05 até 06/06: Realização do laboratórios 3 e 4

Semana 6 DATA 06/06

  • 06/06 até 13/06: Propor exemplo de 3 nodos para fazer algo no simulador


#include "contiki.h"
#include "lib/random.h"
#include "sys/ctimer.h"
#include "sys/etimer.h"
#include "net/ip/uip.h"
#include "net/ipv6/uip-ds6.h"
#include "simple-udp.h"
#include <stdio.h>
#include <string.h>
#include "dev/leds.h"


#define UDP_PORT 1234
#define SEND_INTERVAL		(20 * CLOCK_SECOND)
#define SEND_TIME		(random_rand() % (SEND_INTERVAL))

//------------------------------ VÁRIAVEIS ---------------------------------//

static struct simple_udp_connection unicast_connection;
static struct etimer et_blink;
static uint8_t blinks;

//--------------------------------------------------------------------------//
PROCESS(broadcast_example_process, "UDP broadcast example process");
PROCESS(blink_process, "LED blink process");
AUTOSTART_PROCESSES(&broadcast_example_process,&blink_process);

//------------------------------ RECEPTOR ----------------------------------//
static void
receiver(struct simple_udp_connection *c,
         const uip_ipaddr_t *sender_addr,
         uint16_t sender_port,
         const uip_ipaddr_t *receiver_addr,
         uint16_t receiver_port,
         const uint8_t *data,
         uint16_t datalen)
{Instant_Contiki_Ubuntu_12.04_32-bit
  printf("A porta %d recebeu dados da porta %d com tamanho %d\n",
         receiver_port, sender_port, datalen);
  leds_toggle(LEDS_GREEN);
}

//------------------------------ PROCESSOS -----------------------------//

PROCESS_THREAD(broadcast_example_process, ev, data)
{
  static struct etimer periodic_timer;
  static struct etimer send_timer;
  uip_ipaddr_t addr;

  PROCESS_BEGIN();

  simple_udp_register(&broadcast_connection, UDP_PORT,
                      NULL, UDP_PORT,
                      receiver);

  etimer_set(&periodic_timer, SEND_INTERVAL);
  while(1)
  {
    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&periodic_timer));
    etimer_reset(&periodic_timer);
    etimer_set(&send_timer, SEND_TIME);

    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&send_timer));
    printf("Sending broadcast\n");
    uip_create_linklocal_allnodes_mcast(&addr);
    simple_udp_sendto(&broadcast_connection, "Test", 4, &addr);
  }

  PROCESS_END();
}

// -------------------------------------------------------------------------//
PROCESS_THREAD(blink_process, ev, data)
{
  PROCESS_BEGIN();

  while(1)
  {
    etimer_set(&et_blink, CLOCK_SECOND);

    PROCESS_WAIT_EVENT_UNTIL(ev == PROCESS_EVENT_TIMER);
    leds_toggle(LEDS_RED);
    printf("Piscar led... (state %0.2X)\n", leds_get());
  }

  PROCESS_END();
}

Peguei a referência desse site: https://www.sevenbits.io/blog/iso/puredarwin/osx/2015/03/11/convert-to-iso.html

sudo apt-get install qemu-img qemu-img convert -f vmdk nome_do_arquivo.vmdk novo_nome.raw dd if=novo_nome.raw of=novo_nome.iso

</syntaxhighlight>

Pontos a serem incluídos no cronograma

  • Estudar Cap.4 itens 4.1 e 4.2 do livro IoT
  • Estudar no cooja quais modelos de propagação de sinal são disponíveis
  • Fazer um experimento para capturar LQI e RSSI no mote