Development of firmware for intelligent Internet of things enabled devices

Durante los ultimos anos se ha incrementado exponencialmente el numero de dispositivos que facilitan la automatizacion y el control de diversos tipos de sensores que podemos encontrar en el mercado. Entre ellos se encuentran los que agrupamos como dispositivos internet of things (IoT). En este trabajo se ha desarrollado firmware para un Arduino WisAP, documentando el proceso y creando una guia que es exportable a otros dispositivos. Ademas, se ha desarrollado un software que permite realizar diferentes tareas, desde la comunicacion con dispositivos Enocean, hasta la ejecucion de scripts de Lua en un entorno grafico web. Este trabajo facilita la programacion y la ejecucion de scripts Lua, para el control y las condiciones sobre los sensores, asi como cualquier interaccion que se necesite realizar en el propio dispositivo. Se ha realizado, ademas, la integracion del protocolo Bacnet y Modbus, para compartir los valores de los dispositivos Enocean. El dispositivo, sobre el cual se han realizado las pruebas, ha sido MIPSEL con OpenWrt. Por lo cual, se han desarrollado y adaptado metodos para la integracion de las interfaces de usuario y los programas con en el sistema Open-source de OpenWrt. Este trabajo incluye los metodos utilizados para la creacion de los paquetes IPK, que permiten instalar modulos en dispositivos con el sistema OpenWrt. El trabajo adapta OpenWrt convirtiendolo en un sistema capaz de trabajar con sensores Enocean, mostrando y compartiendo los datos tanto para usuarios, a traves de una interfaz web, como con otros dispositivos, mediante el protocolo Modbus. Con este desarrollo se prueba que este sistema, puede adaptarse para otros usos que anteriormente no estaba contemplados, como en este caso, en el que se ha habilitado un entorno que permite la ejecucion de scripts Lua sobre una interfaz web amigable y que facilita el visionado de errores y de resultados.---ABSTRACT---In recent years, the number of devices that can be found on the market to facilitate the automation and control of different types of sensors has increased exponentially. Among them are those that we group as the internet of things devices (IoT). This work presents the development of an Arduino WisAP firmware, documenting the process, and creating a guide that is exportable to other devices. The developed software allows us to carry out different tasks, from communication with Enocean devices to executing Lua scripts in a web graphic environment. This work facilitates the programming and execution of Lua scripts, for the control and conditions on the sensors, as well as any interaction that needs to be carried out on the device itself. Also, the integration of the Bacnet and Modbus protocol has been carried out, to share the values of the Enocean devices. The tests have been carried out, in MIPSEL with OpenWrt. Therefore, methods have been developed and adapted for the integration of user interfaces and programs with the open-source system OpenWrt. This work includes the methods used to create the IPK packages, which allow modules to be installed on devices with the OpenWrt system. The work adapts OpenWrt, turning it into a system capable of working with Enocean sensors, displaying and sharing data both for users, through a web interface, and with other devices, using the Modbus protocol. This system can be adapted for other uses that were not previously contemplated, such as in this case, in which an environment has been enabled that allows the execution of Lua scripts on a friendly web interface facilitating the visualization of errors and results.