¿Qué aprenderá?

¿Qué construirá?

¿Cuáles son los prerrequisitos?

Este tutorial está dividido en los siguientes pasos:

  1. Instalación y configuración del hipervisor de máquinas virtuales.
  2. Instalación y configuración del sistema operativo Raspberry Pi OS.
  3. Exploración del sistema operativo.

Instalación y configuración del hipervisor

  1. Para emular se usará el hipervisor de VirtualBox. Se debe dirigir a la página de descargar de VirtualBox para conseguir el instalador para su sistema operativo (Windows, MacOS, Linux). El link es: https://www.virtualbox.org/wiki/Downloads

En la sección de "VirtualBox X.X.XX platform packages" (resaltada en la imagen) están los links específicos para el instalador de cada sistema operativo. Para descargar, haga clic en el instalador que aplique a su caso.

  1. Siga los pasos del instalador que descargó. Si tiene algún problema, por favor comuníquese con el profesor o monitor.

Instalación y configuración de Raspberry Pi OS

  1. Se debe descargar la imagen de Raspberry Pi OS para poder instalarlo. Se puede descargar ingresando a: https://www.raspberrypi.com/software/raspberry-pi-desktop/

En la sección de "Raspberry Pi Desktop" debe hacer clic en "Descargar". No tiene que escoger el sistema operativo pues es una imagen ISO que es compatible con el hipervisor.

  1. Abrir VirtualBox y crear una nueva máquina virtual con el botón "New".

  1. Escoja un nombre para la máquina virtual (Emulador IOT por ejemplo) y la ruta donde quiere que se instale el nuevo sistema operativo. El tipo de sistema operativo a usar es Linux y la versión es Debian 64-bit. Si las versiones de 64-bit no aparecen en el listado debe seguir la siguiente guía: http://www.fixedbyvonnie.com/2014/11/virtualbox-showing-32-bit-guest-versions-64-bit-host-os/

  1. Ahora se asigna la memoria RAM que la máquina virtual puede usar. Para este caso, basta con 1GB de RAM, pero si quiere incrementarla o disminuirla, puede utilizar el slider que aparece.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. El siguiente paso será crear el disco virtual de la máquina virtual, acá es donde se almacenará la instalación del sistema operativo y los archivos que descarguemos en la máquina virtual. Es muy importante que se asignen más de 4GB, pues esto es lo que ocupa el sistema operativo.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. Al momento de darle al botón "Create", aparecerá una opción para escoger el tipo de disco virtual. No se debe cambiar esta opción.

Interfaz de usuario gráfica, Texto, Aplicación\n\nDescripción generada automáticamente

  1. Haga clic en "Next", lo cual mostrará otra ventana emergente. En este caso podemos dejarlo en la opción default, lo que causará que la máquina virtual utilice espacio a medida que crece o pueden fijar un tamaño en la opción de "Fixed Size", pero es importante usar más de 4GB.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. Haga clic en "Next", lo cual mostrará otra ventana emergente. En este espacio se define el tamaño máximo que podrá ocupar esta máquina virtual en el disco duro.

  1. Haga clic en "Create" y luego podrá ver que se ha creado con éxito en la ventana principal de VirtualBox.

  1. Ahora se cambiará la configuración de red para que la máquina virtual tenga su propia IP en la red. Para esto haga clic en "Settings" y luego en "Network". En "Attached to:" seleccione la opción "Bridged Adapter". Es importante que dentro de "Advanced" la información sea la siguiente: Adapter Type: opción con Desktop en el nombre, Promiscuous Mode: Allow All, en MAC Address debe estar la dirección MAC del computador físico (la interfaz de red).

Para obtener la dirección MAC, se puede ir a las configuraciones de red y ahí debe estar. Es importante que se quiten los guiones que tengan. Ej: AA-BB-11-22-CC-DD queda AABB1122CCDD. Este último se ingresa en el campo de MAC Address en la configuración de la red de la MV en VirtualBox.

  1. Ahora se cargará la imagen del sistema operativo que se descargó (ISO). En la ventana de "Settings", haga clic en la sección "Storage" y seleccione "Empty" bajo "Controller: IDE". En los atributos del controlador haga clic sobre el disco azúl y seleccione "Choose a disk file...". Escoja la imagen ISO descargada de Raspbian Pi OS.

  1. Si la configuración es correcta, debajo de "Controller: IDE" debe aparecer algo como lo siguiente:

  1. Guarde la configuración oprimiendo "OK".
  2. En la ventana principal de VirtualBox seleccione la máquina que se creó y haga clic en "Start". Cuando inicie la máquina virtual seleccione "Graphical install" moviendo con las flechas del teclado y luego Enter. Espere un momento mientras aparece la siguiente pantalla.

Pantalla de computadora con letras\n\nDescripción generada automáticamente con confianza media

  1. Siga las instrucciones del instalador hasta la pantalla de "Partition disk". En esta parte seleccione la opción de "Guided – Use Entire Disk".

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. En la siguiente pantalla aparece el disco que se le asignó a la máquina virtual en la configuración. Selecciónelo y oprima "Continue".

Interfaz de usuario gráfica, Texto, Aplicación\n\nDescripción generada automáticamente

  1. Luego, seleccione la opción de "All Files in one partition" que es la forma como se guardarán los archivos creados dentro de la máquina.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. En la siguiente pantalla, confirme la configuración para terminar la instalación. Seleccione "Yes" y luego cliquee en "Continue".

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico\n\nDescripción generada automáticamente

  1. La próxima pantalla pregunta por si se quiere instalar GRUB que es un programa para iniciar el sistema operativo. Seleccione "Yes" y "Continue".

Interfaz de usuario gráfica, Texto\n\nDescripción generada automáticamente

  1. Después seleccione la opción que aparece debajo de "Enter device manually". Ese es el lugar donde quedará instalado GRUB.

Interfaz de usuario gráfica, Texto, Aplicación\n\nDescripción generada automáticamente

  1. Luego, se instalará el sistema operativo y al final la máquina se reiniciará automáticamente. Cuando encienda podrá ver que ya está usando el sistema operativo Raspberry Pi OS. Se considera emulación puesto que este sistema operativo es el mismo que usan las tarjetas Raspberry Pi que se usan para sistemas IOT.

Interfaz de usuario gráfica, Sitio web\n\nDescripción generada automáticamente

Exploración del sistema operativo

  1. Raspberry Pi OS viene con varias herramientas similares a las de un computador normal. Puede explorarlas y familiarizarse con ellas. En los siguientes pasos se verán algunas.
  2. Para comprobar la conexión de internet hay varias opciones. Se usará ping dentro del terminal del sistema.

Para comprobar la conexión, ingrese al terminal dando clic en el ícono de la barra superior. Luego puede correr el comando ip a para conocer los datos de conexión del emulador a la red. Por ejemplo puede ver la ip que es 172.70.4.226 en la imagen. Ahora haga ping a un servidor o página web con el comando ping servidor. Ej: ping www.google.com . Al correr el comando se espera una respuesta del servidor, si no ocurre nada o genera error hay que volver a configurar la red del emulador.

Otra forma de comprobar la conexión es abriendo el navegador que viene instalado y entrar a cualquier página web.

  1. Correr "Hello World" en python.

En la versión que se instaló de Raspberry Pi OS viene instalado python 2 y python 3. Se puede realizar una prueba escribiendo un programa de Hello World. Se puede tanto en la consola como guardando un archivo y ejecutándolo.

Para correr en consola se debe ejecutar el comando python3 . Esto abrirá la consola de Python y podrá ejecutar líneas de este lenguaje ahí. Para probar escriba print("Hello World") y oprima Enter. Verá que la consola imprime Hello Word. Para salir escriba exit() .

Para correr un archivo en el terminal, primero genere el archivo que quiere correr, en este caso lo creamos con echo "print(\"Hello World\")" > test.py . Y para correrlo escriba python3 test.py. Esto imprimirá Hello World en el terminal. Así probó correr un archivo de código dentro del emulador con Python 3.

  1. Puede jugar con el terminal o las otras herramientas.

TODO

Para emular un dispositivo de medición de temperatura y humedad puede seguir los siguientes pasos:

  1. Desde la máquina virtual de Rapsberry Pi OS descargue el siguiente archivo:

Puede hacerlo con ejcutando el siguiente comando en la terminal:

wget link_archivo -O sensor.zip

  1. Descomprima el archivo con ayuda de unzip:

unzip sensor.zip

  1. Ingrese a la carpeta

cd sensor/

  1. Instale las librerías requeridas de Python con:

pip install -r requirements.txt

  1. Ejecute el archivo para empezar a enviar datos al sistema IOT. El comando es el siguiente. El usuario y la contraseña se le entregaron por correo. La ciudad debería ser donde usted esté ubicado usando minúsculas, barra al piso en vez de espacios y sin tildes o acentos. Por ejemplo, Santa Marta sería santa_marta y Cañasgordas sería canasgordas y Santa Bárbara santa_barbara.

python pub.py --user USUARIO --passwd CONTRASEÑA --city CIUDAD

  1. En la consola podrá ver que cada 2 segundos se están enviando datos aleatorios.
  2. Puede revisar los datos enviados en tiempo real en iotlabweb.virtual.uniandes.edu.co

Al finalizar este tutorial, se espera que el estudiante sea capaz de instalar y hacer uso del emulador de dispositivos IOT basados en Raspberry Pi.

Créditos

Versión 1.0 - Enero, 2022

Santiago Fajardo

Autor

Juan Avelino

Revisor y editor

Carlos Andrés Lozano Garzón

Kelly Garces Pernett