El proyecto Otto-Coap es un proyecto de investigación y desarrollo el cual tiene como finalidad la utilización de un robot Otto, controlado a través de una interfaz web, la cual pueda ser accedida desde un ordenador como de un dispositivo móvil. El Robot Otto consta de 4 servo motores, un ultrasonido HCSRS04 y un microcontrolador NodeMCU v0.9 con integrado ESP8266. Para la realización de dichos objetivos se harán bajo los protocolos de comunicación CoAP y MQTT, dicho esto, la implementación de ambos protocolos se procede a la utilización del programa Mosquitto para MQTT y la creación de un servidor CoAP en lenguaje python. La programación del NodeMCU se codifica en lenguaje c++, el cual le permitirá generar un cliente para ambos protocolos y conectarse de forma directa con ellos. La interfaz web se encuentra desarrollada en Angular y para lograr la comunicación entre la interfaz y los servidores se crea un Websocket para lograr dicha comunicación. Se encuentra disponible el desarrollo por semanas en la Wiki
Para la ejecución con el programa Docker, se debe instalar desde la página oficial el programa. Para hacer la comunicación entre la interfaz y Docker, debemos dirigirnos al archivo ENV.ts, que se encuentra en la carpeta ..\2023-A5-OTTO-COAP\Otto-CoAP-Angular\src y cambiar el valor de ipname por la ip que utiliza Docker y luego, en el directorio raíz del proyecto, ejecutar el comando docker-compose up y para ejecutar la interfaz web, en la carpeta Otto-CoAP-Angular el comando>npm start previamente habiendo cambiado la ip en el archivo package.json la dirección ip del host con la de nuestra máquina. Ten en cuenta que, al utilizar Docker, no se podrá acceder desde un dispositivo móvil, si desde el ordenador. Se deja constancia para una futura investigación y posible solución.
Para la ejecución sin el entorno de Docker, se deberá colocar la dirección IP de la red a la cual nos encontramos conectados, en el archivo ENV.ts que se encuentra en la carpeta ..\2023-A5-OTTO-COAP\Otto-CoAP-Angular\src y en package.json, colocando en el script "start" la ip para host y ejecutar la interfaz web, en la carpeta Otto-CoAP-Angular el comando>npm start. En los archivos ws-proxy.js, de la carpeta WebSocket-proxy y en coap_server.py. Por último, se deberá de ejecutar tanto en la carpeta del websocket el comando node ws-proxy.js, como en la carpeta del coap-server el comando python coap_server.py por consola.