[en] English: Wireless Sensor Networks (WSNs) have become very popular in recent years. A WSN consists of distributed autonomous sensors to monitor physical or environmental conditions and to cooperatively send their data through the network to a main location. A WSN facilitates the creation of low-cost networks that can be used for multiple applications when the use of wires is impractical and expensive. Examples of these applications are home and building automation, asset management and logistics or health care automation. The main objective of this work is to investigate and propose a solution to enable Web services in WSNs. To accomplish this task, a research to choose the Web architectural style that fits best with WSNs has been done. Discussions show that the REST architectural style seems to be the one which is more suitable for WSNs. The next step is to choose an appropriate application layer protocol. In this sense, the CoAP protocol has been used to enable Web services in constrained networks. In this work, a CoAP implementation for the TinyOS operating system is proposed and developed. The most popular application protocol used in the Internet is HTTP. In order to integrate the proposed solution with the Internet, some translation between CoAP and HTTP is needed. In this work, a hardware and software proxy-based solution to connect CoAP resources with the actual Internet is proposed and developed. This solution also enables extra services that are interesting in WSNs. Finally, a performance evaluation is done in order evaluate the proposed implementation. Results show that using CoAP in constrained devices in WSNs improves the overall latency in comparison with using HTTP/1.0 in constrained nodes. A comparison between using a CoAP client to access CoAP resources and using a HTTP client using the proposed proxy solution has been done. Results show that using the proxy solution adds low extra latency, thus providing a good solution when using a CoAP client is not possible.

[es] Castellano: Las redes de sensores inalámbricas se han vuelto muy populares durante los últimos años. Están formadas por sensores autónomos que están distribuidos para monitorizar las condiciones físicas y ambientales y transferir de forma colaborativa sus datos a través de una red hasta un punto central. Estas redes facilitan la creación e implantación de redes de bajo coste en lugares donde emplear cableado es difícil y costoso. Algunos ámbitos en los que se podrían aplicar estas redes serían la domótica, la logística o la salud. El principal objetivo de este trabajo es investigar y proponer una solución para conseguir integrar servicios Web en redes de sensores inalámbricas. Para realizar esta tarea, se ha investigado cuál de los dos modelos de arquitecturas Web actuales más utilizadas (REST o SOAP) es el que mejor se ajusta a las características de estas redes. Las conclusiones obtenidas apuntan a que el modelo REST es el que mejor se ajusta. El siguiente paso ha sido seleccionar un protocolo de aplicación para las diferentes redes de sensores. El protocolo utilizado en este trabajo es el protocolo CoAP. Se ha desarrollado un software para integrar este protocolo en el sistema operativo TinyOS, que se ha utilizado y probado sobre el hardware TelosB. El protocolo de aplicación más utilizado en Internet es el propocolo HTTP. Para conseguir integrar la solución propuesta para las redes inalámbricas de sensores en el modelo actual de Internet, es necesaria una traducción entre los protocolos CoAP y HTTP. Este trabajo propone una solución hardware y software basada en la utilización de un proxy que permite a los clientes HTTP acceder a recursos CoAP. Finalmente, se ha realizado una evaluación para extraer algunas conclusiones sobre las implementaciones realizadas. Los resultados muestran que el uso de este protocolo proporciona mejores resultados en términos de latencia si se compara con utilizar HTTP/1.0 sobre dispositivos con recursos limitados. También se ha realizado una comparativa entre utilizar un cliente CoAP para acceder a los recursos de la red o utilizar un cliente HTTP mediante el proxy propuesto. Los resultados muestran que en los casos en los que utilizar un cliente CoAP no sea viable, la propuesta de proxy es una buena solución que ofrece una baja latencia.