Trabajo realizado por Ana Grijalva, estudiante de sexto semestre de la Universidad Técnica del Norte, Facultad de ingeniería en Ciencias Aplicadas, Carrera de ingeniería en Telecomunicaciones (CITEL) para la asignatura de Internet de las cosas (IoT).
Configuración de Border-Router para Open-Motebcon RIOT-OSPrevio al desarrollo es necesario que de forma previa se haya creado una cuenta en la plataforma de FIT IoT Lab, la cual permita desarrollar diferentes experimentos haciendo uso de forma remota de los nodos de diferentes placas, para registrarse en una cuenta se debe seguir el presente enlace: https://www.iot-lab.info/testbed/signup
Una vez se ha creado la cuenta, se requiere tener de un acceso SSH para poder ir obteniendo las claves de acceso, en este caso se está haciendo uso de una máquina virtual de Ubuntu 20.04, aunque estos serán iguales para diferentes distribuciones de Linux. Para iniciar el proceso con la generación de la clave SSH la propia página proporciona una guía a seguir la cual está definida en el siguiente enlace: https://www.iot-lab.info/docs/getting-started/ssh-access/
El proyecto se basa en la siguiente topología mostrada también en el apartado de "Schematics" :
Para iniciar con el proceso es necesario acceder a la plataforma virtual de IoT LAB para poder manejar los archivos del repositorio virtual al que se tiene acceso en base al servidor.
sudo su
ssh <user>@strasbourg.iot-lab.infoUna vez dentro del servidor se accede al repositorio examples para localizarse en el fichero de border router y proceder a realizar la compilación de la placa indicada considerando sus características.
cd iot-lab/parts/RIOT/examples/gnrc_border_routerAl momento de tener el repositorio listo se selecciona la fuente del sistema operativo y se procede a usar el comando make para compilar el archivo especificando la placa que se va a usar y el canal de comunicación de la misma para que exista conexión.
source /opt/riot.source
make ETHOS_BAUDRATE=115200 DEFAULT_CHANNEL=21 BOARD=openmote-b clean allEstas características en la compilación no son obligatorias, pues son propias a la placa Open mote, y pueden variar según cual se use, los cambios se darán en BETHOS_BAUDRATE=115200, CHANEL y BOARD.
Una vez ejecutado el comando make se obtiene un archivo. elf que es el que permitirá flashear los nodos dentro del laboratorio virtual.
Una vez obtenido el archivo, para poder usarlo es necesario copiarlo en un repositorio en la memoria real de la máquina virtual por lo que se requiere que, se copie directamente el fichero desde el servidor donde se aloja realmente, para esto es necesario seleccionar en que carpeta se va a guardar la copia haciendo uso del comando scp.
- Nota: este paso debe realizarse en un nuevo terminal sin cerrar el anterior.
sudo su
scp <user>@strasbourg.iot-lab.info:/senslab/users/<user>/iot-lab/parts/RIOT/examples/gnrc_border_router/bin/openmote-b/gnrc_border_router.elf /home/<destination directory>/openmoteb-border-router.elfAl tener el archivo.elf para el router de borde es posible iniciar el experimento, para lo cual se debe acceder al testbed y crear un nuevo experimento, para lo que se debe seleccionar los nodos correspondientes a la arquitectura que se va a emplear, en este caso Open mote b, así como la localización que corresponda al servidor que se está empleando, que para este ejemplo es strasbourg.
Una vez iniciado el experimento, es necesario flashear el archivo en el nodo que servirá como router de borde e iniciar su simulación para proceder con el comando que inicia el router, el cual debería estar siempre activo para que siga administrando comunicación.
sudo ethos_uhcpd.py openmoteb-5 tap8 2a07:2e40:fffe:00ff::/64- Nota: una vez llegado a este paso no se debe cerrar el terminal en el que se está ejecutando el router pues caso contrario se abortará el proceso.
Una vez se tiene funcionando el router de borde, se genera el archivo para flashear a los nodos considerando el nuevo directorio en el que igual se debe definir los parámetros como la placa y el canal que debe ser el mismo que el de router para que exista comunicación.
cd iot-lab/parts/RIOT/examples/gnrc_networking
source /opt/riot.source
make DEFAULT_CHANNEL=21 BOARD=openmote-b clean allUna vez se compila el archivo es necesario repetir el mismo proceso que se hizo para el de router de borde para así obtenerlo dentro del almacenamiento de la máquina virtual.
scp <user>@strasbourg.iot-lab.info:/senslab/users/<user>/iot-lab/parts/RIOT/examples/gnrc_networking/bin/openmote-b/gnrc_networking.elf /home/<destination directory>/openmoteb-ipv6-networking.elfUna vez se tiene el archivo se accede a los nodos del laboratorio y se flashea a ambos con el mismo archivo y se procede a iniciarlos para verificar la asignación de direcciones IP.
Para poder verificar la IP con la que están comunicándose los nodos se hace uso del comando ifconfig dentro del terminal de los nodos.
ifconfig 7Finalmente para asegurar que la configuración se haya realizado correctamente y que exista comunicación entre los nodos y el router se realiza un ping hacia la IP global con el comando ping6.
ping6 <direccionIPv6>%7A continuación se presenta un vídeo demostrativo de los pasos a seguir para la configuración tal como se ha indicado en los pasos anteriores.






Comments