Trabajo correspondiente a la asignatura Internet de las Cosas de la carrera de Ingeniería en Telecomunicaciones, Facultad de Ingeniería en Ciencias Aplicadas (FICA-CITEL) de la "Universidad Técnica del Norte" (UTN), realizado por DiegoAchina, Ana Grijalva y David Hinojosa, correspondiente al laboratorio 9 de la asignatura.
Objetivo:Reservar 2 nodos M3 en el sitio de Saclay, compilará y actualizará los firmwares necesarios en los nodos M3, creará una red IPv6 simple en IoT-LAB. Finalmente, desde el host Saclay (o cualquier computadora con una dirección IPv6 global), interactuará con el nodo que ejecuta el servidor CoAP utilizando el cliente coap disponible en la interfaz SSH (o cualquier otro cliente CoAP).
Prerrequisitos:Cuentaen FIT IoT LAB:
Previo al desarrollo de la práctica se debe poseer una cuenta en la plataforma de FIT IoT LAB, para lo que se puede proceder al registro en el siguiente enlace: https://www.iot-lab.info/testbed/signup
Desarrollo- Acceso remoto de la máquina virtual hacia los servidores de Fit IoT-LAB.
1. El primer paso para el desarrollo de la presente práctica de laboratorio es generar la clave ssh en el sistema operativo que accederá remotamente a Saclay de Fit IoT-LAB, al ejecutar el comando que se ve a continuación, se puede verificar el repositorio de la máquina virtual en donde la clave se ha almacenado, además de la imágen randómica correspondiente a dicha clave.
ssh-keygen -t rsa2. Posteriormente, se ejecutará el comando ls para verificar que la clave se ha generado correctamente, para después imprimir en pantalla su contenido a través del comando cat. Una vez realizados los pasos explicados anteriormente, se visualizará la clave como se muestra a continuación.
ls ~/.ssh/
cat ~/.ssh/id_rsa.pub3. A continuación, se debe copiar la clave impresa en pantalla del paso anterior y pegarla dentro de las claves SSH correspondientes a nuestra cuenta personal de Fit IoT-LAB. Una vez la clave se haya pegado en el cuadro de texto se debe actualizar las claves de nuestra cuenta.
4. Una vez realizados los pasos previamente documentados, se podrá acceder de forma remota desde nuestra máquina virtual hacia los servidores de Fit IoT-LAB como se puede observar a continuación, para el presente caso se especifica el usuario de Fit IoT-LAB y el sitio Saclay.
ssh <user>@saclay.iot-lab.info- Creación e inicio del experimento.
1. Para crear e iniciar el experimento en Fit IoT-LAB, primeramente es necesario acceder a nuestra cuenta persona e ingresar la correspondiente contraseña, para posteriormete indicar la placa M3 con la que se trabajará, la duración del experimento y el número de nodos. Una vez creado el experimento se imprimirá en pantalla el ID del experimento asignado.
iotlab-auth -u <user>
iotlab-experiment submit -n riot_coap_m3 -d 90 -l 2,archi=m3:at86rf231+site=saclay2. A continuación, se ingresará el comando que nos dará a conocer los datos del experimento creado previamente como nombre, número de nodos, ID de los nodos y el usuario propietario del experimento.
iotlab-experiment get -i <exp_id> -p3. Posteriormente, se ingresará el comando que nos dará a conocer todas las características correspondientes a los 2 nodos M3 generados en el experimento, en donde se puede visualizar que uno es el M3-10 y el otro M3-11.
iotlab-experiment get -i <exp_id> -n- Adquirir el sitema operativo RIOT para los nodos M3.
1. A continuación, es necesario crear el repositorio en donde se almacenará el sistema operativo RIOT y adquirirlo desde su repositorio de GitHub.
mkdir -p ~/riot
cd ~/riot
git clone https://github.com/RIOT-OS/RIOT.git -b 2020.10-branch
cd RIOT- Obtener el firmware del router de borde.
1. A continuación, se adquiere el firmware para el nodo M3 que será designado como router de borde, mismo que nos proporcionará un dirección IPv6 pública.
source /opt/riot.source
make ETHOS_BAUDRATE=500000 DEFAULT_CHANNEL=26 BOARD=iotlab-m3 -C examples/gnrc_border_router clean all- Cargar el firmware del router de borde y configurar la red.
1. Para el cargar el router de borde en el nodo M3-10, se debe especificar su correspondiente ID y se imprimirá en pantalla que el nodo designado como router de borde fue flasheado correctamente. Posteriormente, se pondrá en funcionamiento al router de borde y este entrará en funcionamiento.
iotlab-node --flash examples/gnrc_border_router/bin/iotlab-m3/gnrc_border_router.elf -l saclay,m3,<m3_id>
sudo ethos_uhcpd.py m3-<m3_id> tap0 2001:660:3207:04c1::1/64- Obtener y cargar el firmware CoAP Server.
1. Posteriormente, es necesario abrir una nueva terminal y no dejar de correr el router de borde, en la cual se obtendrá el firmware correspondiente al nodo M3-11, mismo que ocupará el rol de CoAP Server.
cd riot/RIOT
source /opt/riot.source
make DEFAULT_CHANNEL=26 BOARD=iotlab-m3 -C examples/nanocoap_server clean all2. Con el presente comando, se procede a cargar el firmware de CoAP Server al nodo M3-11 como se puede observar a continuación.
iotlab-node --flash examples/nanocoap_server/bin/iotlab-m3/nanocoap_server.elf -l saclay,m3,<m3_id>- Adquirir IPv6 generada por el router de borde.
1. En la terminal donde se encuentra operando el router de borde, al dar enter ingresamos el comando "nib neigh", el cual indicará la dirección IPv6 en la que se puede acceder al CoAP Server.
nib neigh- Interacción del nodo CoAP Client con CoAP Server.
1. Finalmente, desde otra terminal, se procede a acceder como CoAP Client al CoAP Server espcificando la IPv6 generada por el router de borde anteriormente indicada, en donde se puede ver que efectivamente el nodo M3 participa en dicho servidor como se puede ver a continuación.
aiocoap-client coap://[<public_ipv6>]/riot/board


Comments