929 resultados para wifi fingerprinting, rss, gps, android, node.js, bluetooth, localizzazione gps
Resumo:
La tesi analizza lo stack di comunicazione Bluetooth e le possibili estensioni di TuCSoN per permettere il suo utilizzo. Come risultato di questo lavoro, sono state realizzate delle librerie software che permettono lo scambio di messaggi tra TuCSoN su Android e dispositivi Bluetooth.
Resumo:
In recent years, there has been a great increase in the development of wireless technologies and location services. For this reason, numerous projects in the location field, have arisen. In addition, with the appearance of the open Android operating system, wireless technologies are being developed faster than ever. This Project approaches the design and development of a system that combines the technologies of wireless, location and Android with the implementation of an indoor positioning system. As a result, an Android application has been obtained, which detects the position of a phone in a simple and useful way. The application is based on the WIFI manager API of Android. It combines the data stored in a SQL database with the wifi data received at any given time. Afterwards the position of the user is determined with the algorithm that has been implemented. This application is able to obtain the position of any person who is inside a building with Wi-Fi coverage, and display it on the screen of any device with the Android operating system. Besides the estimation of the position, this system displays a map that helps you see in which quadrant of the room are positioned in real time. This system has been designed with a simple interface to allow people without technology knowledge. Finally, several tests and simulations of the system have been carried out to see its operation and accuracy. The performance of the system has been verified in two different places and changes have been made in the Java code to improve its precision and effectiveness. As a result of the several tests, it has been noticed that the placement of the access point (AP) and the configuration of the Wireless network is an important point that should be taken into account to avoid interferences and errors as much as possible, in the estimation of the position. RESUMEN. En los últimos años, se ha producido un incremento en el desarrollo de tecnologías inalámbricas y en servicios de localización y posicionamiento. Por esta razón, han surgido numerosos proyectos relacionados con estas tecnologías. Por otra parte, un punto importante en el desarrollo de estas tecnologías ha sido la aparición del lenguaje Android que ha hecho que estas nuevas tecnologías se implementaran con una mayor rapidez. Este proyecto, se acerca al diseño y desarrollo de un sistema que combina tecnologías inalámbricas, de ubicación y uso de lenguaje Android para el desarrollo de una aplicación de un sistema de posicionamiento en interiores. Como consecuencia de esto se ha obtenido una aplicación Android que detecta la posición de un dispositivo móvil de una manera sencilla e intuititva. La aplicación se basa en la API WIFI de Android, que combina los datos almacenados en una base de datos SQL con los datos recibidos vía Wi-Fi en cualquier momento. A continuación, la posición del usuario se determina con el algoritmo que se ha implementado a lo largo de todo el proyecto utilizando código Android. Esta aplicación es capaz de obtener la posición de cualquier persona que se encuentra dentro de un edificio con cobertura Wi-Fi, mostrando por pantalla la ubicación del usuario en cualquier dispositivo que disponga de sistema operativo Android. Además de la estimación de la posición, este sistema muestra un mapa que le ayuda a ver en qué cuadrante de la sala está situado el usuario. Este sistema ha sido diseñado con una interfaz sencilla para permitir que usuarios sin conocimiento tecnológico o no acostumbrados al uso de los nuevos dispositivos de hoy en día puedan usarlo de una manera sencilla y de forma intuitiva. Por último, se han llevado a cabo varias pruebas y simulaciones del sistema para verificar su funcionamiento y precisión. El rendimiento del sistema se ha comprobado en dos puntos diferentes de la sala (lugar donde se han hecho todas las pruebas y desarrollado la aplicación) realizando cambios en el código Java para mejorar aún más la precisión y eficacia del posicionamiento. Como resultado de todo esto, se ha comprobado que la ubicación del punto de acceso (AP) y la configuración de la red inalámbrica es importante, y por ello se debe de tener en cuenta para evitar interferencias y tantos errores como sea posible en la estimación de la posición.
Resumo:
Työ tutkii, miten yksinkertaisen opetuskäyttöön suunnatun videoneuvotteluportaalin prototyypin rakentaminen onnistuu avoimilla tekniikoilla. WebRTC mahdollistaa selaimen päällä toimivan videoneuvottelusovelluksen rakentamisen avoimia ohjelmistorajapintoja käyttäen. Prototyypin toteuttamiseen käytetään WebRTC:n lisäksi WebSocket-standardia keskustelun tahojen yhdistämiseen. WebSocket toteutetaan Node.js:ää käyttävällä socket.io-kirjastolla. Sovelluksen avulla on tarkoitus pystyä muodostamaan ääni- ja videoyhteys kahden asiakasohjelman välille. Opetuskäyttöä tukevina ominaisuuksina mukana on myös tekstipohjainen keskustelu ja mahdollisuus opetuskalvojen selaamiseen. Lopputuloksena on laajennettavissa oleva avoin videoneuvottelusovelluksen prototyyppi.
Resumo:
These are the resources for an introductory lecture in JavaScript programming, intended to support use of node.js and divorced from browser programming.
Resumo:
[ES] Webcam App es una aplicación que tiene como principal objetivo social que las personas puedan realizar videoconferencias a través de la web de forma gratuita y sencilla. Para el desarrollo de la misma, fueron de gran utilidad los elementos que brinda HTML5.0 para dar soporte multimedia: y . También, se usan dos de las APIs que implementa WebRTC para la trasmisión de audio y video en tiempo real, obtenidos desde la webcam: MediaStream (getUserMedia) y RTCPeerConnection. Para soportar esta aplicación se elige Node.js como servidor web, pues entre sus puntos fuertes está la capacidad de mantener varias conexiones abiertas, característica fundamental en una aplicación de videollamadas, donde miles de usuarios crean y envían solicitudes de conexión simultáneamente. Con el fin de aportarle una apariencia agradable a la aplicación, un entorno usable y conocido para los usuarios, se utiliza CMS Elgg como marco de red social. CMS Elgg provee de funcionalidades comunes, como por ejemplo: conectar con amigos, enviar mensajes, compartir contenido. Como metodología base se usa el Proceso Unificado de Desarrollo de Software, posibilitando que la realización de este trabajo se haya hecho de una manera organizada y se obtuvieran artefactos para el desarrollo. Como resultado del trabajo, se obtiene una solución Open Source que sirve como un modelo de comunicación en tiempo real sin necesidad de descargar, instalar o actualizar ningún complemento de terceros y que demuestra la fiabilidad de los sistemas basados en HTML5 y WebRTC.
Resumo:
Il Web ha subito numerose trasformazioni rispetto al passato. Si è passati da un Web statico, in cui l'unica possibilità era quella di leggere i contenuti della pagina, ad un Web dinamico e interattivo come quello dei social network. Il Web moderno è, ancora oggi, un universo in espansione. La possibilità di arricchire le pagine con contenuti interattivi, video, foto e molto altro, rende l'esperienza web sempre più coinvolgente. Inoltre la diffusione sempre più ampia di mobile device ha reso necessaria l'introduzione di nuovi strumenti per sfruttare al meglio le funzionalità di tali dispositivi. Esistono al momento tantissimi linguaggi di scripting e di programmazione, ma anche CMS che offrono a chiunque la possibilità di scrivere e amministrare siti web. Nonostante le grandi potenzialità che offrono, spesso queste tecnologie si occupano di ambiti specifici e non permettono di creare sistemi omogenei che comprendano sia client che server. Dart si inserisce proprio in questo contesto. Tale linguaggio dà a i programmatori la possibilità di poter sviluppare sia lato client sia lato server. L'obiettivo principale di questo linguaggio è infatti la risoluzione di alcune problematiche comuni a molti programmatori web. Importante in questo senso è il fatto di rendere strutturata la costruzione di programmi web attraverso l'uso di interfacce e classi. Fornisce inoltre un supporto per l'integrazione di svariate funzionalità che allo stato attuale sono gestite da differenti tecnologie. L'obiettivo della presente tesi è quello di mettere a confronto Dart con alcune delle tecnologie più utilizzate al giorno d'oggi per la programmazione web-based. In particolare si prenderanno in considerazione JavaScript, jQuery, node.js e CoffeeScript.
Resumo:
L’obiettivo della tesi è esplorare gli aspetti fondamentali che riguardano la programmazione asincrona, in particolare in JavaScript, analizzando le librerie e i metodi piu` diffusi per risolvere problemi tipici di asincronicità. Il motivo dello studio di JavaScript è il grande utilizzo di tale linguaggio per la costruzione delle moderne web-app. Per la realizzazione di questo elaborato si è partiti dallo studio dell’evoluzione del web, dal Web 1.0 al web 2.0 e dall’evoluzione delle web app in questo contesto, successivamente si è raffinata la ricerca allo studio più specifico di JavaScript e, di conseguenza, ai suoi costrutti ed ai suoi stili di programmazione, come la programmazione asincrona e la programmazione ad eventi.
Resumo:
Panoramica del contesto storico focalizzato sullo sviluppo del Web e del contesto sociale. Panorama del modello a Threads con analisi delle tecniche di concorrenza applicabili. Panoramica del modello ad Attori focalizzandosi sull'implementazione di Akka e di alcuni patterns di comunicazione. Analisi dell'architettura event-driven e di Node.js. Esposizione di un caso di studio per la programmazione Web comparando modello a Thread e modello ad Attori.
Resumo:
Nella tesi, inizialmente, viene introdotto il concetto di Big Data, descrivendo le caratteristiche principali, il loro utilizzo, la provenienza e le opportunità che possono apportare. Successivamente, si sono spiegati i motivi che hanno portato alla nascita del movimento NoSQL, come la necessità di dover gestire i Big Data pur mantenendo una struttura flessibile nel tempo. Inoltre, dopo un confronto con i sistemi tradizionali, si è passati al classificare questi DBMS in diverse famiglie, accennando ai concetti strutturali sulle quali si basano, per poi spiegare il funzionamento. In seguito è stato descritto il database MongoDB orientato ai documenti. Sono stati approfonditi i dettagli strutturali, i concetti sui quali si basa e gli obbiettivi che si pone, per poi andare ad analizzare nello specifico importanti funzioni, come le operazioni di inserimento e cancellazione, ma anche il modo di interrogare il database. Grazie alla sue caratteristiche che lo rendono molto performante, MonogDB, è stato utilizzato come supporto di base di dati per la realizzazione di un applicazione web che permette di mostrare la mappa della connettività urbana.
Resumo:
Estamos viviendo la era de la Internetificación. A día de hoy, las conexiones a Internet se asumen presentes en nuestro entorno como una necesidad más. La Web, se ha convertido en un lugar de generación de contenido por los usuarios. Una información generada, que sobrepasa la idea con la que surgió esta, ya que en la mayoría de casos, su contenido no se ha diseñado más que para ser consumido por humanos, y no por máquinas. Esto supone un cambio de mentalidad en la forma en que diseñamos sistemas capaces de soportar una carga computacional y de almacenamiento que crece sin un fin aparente. Al mismo tiempo, vivimos un momento de crisis de la educación superior: los altos costes de una educación de calidad suponen una amenaza para el mundo académico. Mediante el uso de la tecnología, se puede lograr un incremento de la productividad, y una reducción en dichos costes en un campo, en el que apenas se ha avanzado desde el Renacimiento. En CloudRoom se ha diseñado una plataforma MOOC con una arquitectura ajustada a las últimas convenciones en Cloud Computing, que implica el uso de Servicios REST, bases de datos NoSQL, y que hace uso de las últimas recomendaciones del W3C en materia de desarrollo web y Linked Data. Para su construcción, se ha hecho uso de métodos ágiles de Ingeniería del Software, técnicas de Interacción Persona-Ordenador, y tecnologías de última generación como Neo4j, Redis, Node.js, AngularJS, Bootstrap, HTML5, CSS3 o Amazon Web Services. Se ha realizado un trabajo integral de Ingeniería Informática, combinando prácticamente la totalidad de aquellas áreas de conocimiento fundamentales en Informática. En definitiva se han ideado las bases de un sistema distribuido robusto, mantenible, con características sociales y semánticas, que puede ser ejecutado en múltiples dispositivos, y que es capaz de responder ante millones de usuarios. We are living through an age of Internetification. Nowadays, Internet connections are a utility whose presence one can simply assume. The web has become a place of generation of content by users. The information generated surpasses the notion with which the World Wide Web emerged because, in most cases, this content has been designed to be consumed by humans and not by machines. This fact implies a change of mindset in the way that we design systems; these systems should be able to support a computational and storage capacity that apparently grows endlessly. At the same time, our education system is in a state of crisis: the high costs of high-quality education threaten the academic world. With the use of technology, we could achieve an increase of productivity and quality, and a reduction of these costs in this field, which has remained largely unchanged since the Renaissance. In CloudRoom, a MOOC platform has been designed with an architecture that satisfies the last conventions on Cloud Computing; which involves the use of REST services, NoSQL databases, and uses the last recommendations from W3C in terms of web development and Linked Data. For its building process, agile methods of Software Engineering, Human-Computer Interaction techniques, and state of the art technologies such as Neo4j, Redis, Node.js, AngularJS, Bootstrap, HTML5, CSS3 or Amazon Web Services have been used. Furthermore, a comprehensive Informatics Engineering work has been performed, by combining virtually all of the areas of knowledge in Computer Science. Summarizing, the pillars of a robust, maintainable, and distributed system have been devised; a system with social and semantic capabilities, which runs in multiple devices, and scales to millions of users.
Resumo:
La razón de este proyecto, es la de desarrollar el módulo de cursos de la plataforma de Massive Online Open Courses (MOOCs), CloudRoom. Dicho módulo está englobado en una arquitectura orientada a servicios (SOA) y en una infraestructura de Cloud Computing utilizando Amazon Web Services (AWS). Nuestro objetivo es el de diseñar un Software as a Service (SaaS) robusto con las cualidades que a un producto de este tipo se le estiman: alta disponibilidad, alto rendimiento, gran experiencia de usuario y gran extensibilidad del sistema. Para lograrlo, se llevará a cabo la integración de las últimas tendencias tecnológicas dentro del desarrollo de sistemas distribuidos como Neo4j, Node.JS, Servicios RESTful, CoffeeScript. Todo esto siguiendo un estrategia de desarrollo PLAN-DO-CHECK utilizando Scrum y prácticas de metodologías ágiles. ---ABSTRACT---The reason of this Project is to develop the courses‟ module of CloudRoom, a Massive Online Open Courses platform. This module is encapsulated in a service-oriented architecture (SOA) based on a Cloud Computing infrastructure built on Amazon Web Services (AWS). Our goal is to design a robust Software as a Service (SaaS) with the qualities that are estimated in a product of this type: high availability, high performance, great user experience and great extensibility of the system. In order to address this, we carry out the integration of the latest technology trends in the development of distributed systems: Neo4j, Node.JS, RESTful Services and CoffeeScript. All of this, following a development strategy PLAN-DO-CHECK, using Scrum and practices of agile methodologies.
Resumo:
La iniciativa FIWARE ofrece un conjunto de APIs potentes que proporcionan la base para una innovación rápida y eficiente en el Internet del Futuro. Estas APIs son clave en el desarrollo de aplicaciones que usan tecnologías muy recientes e innovadoras, como el Internet de las cosas o la Gestión de Identidad en módulos de seguridad. Este documento presenta el desarrollo de una aplicación web de FIWARE usando componentes virtualizados en máquinas virtuales. La aplicación web está basada en “la fábrica de chocolate de Willy Wonka” como una implementación metafórica de una aplicación de seguridad e IoT en un entorno industrial. El componente principal es un servidor web en node.js que conecta con varios componentes de FIWARE, conocidos como “Generic Enablers”. La implementación está compuesta por dos módulos principales: el módulo de IoT y el módulo de seguridad. El módulo de IoT gestiona los sensores instalados por Willy Wonka en las salas de fábrica para monitorizar varios parámetros como, por ejemplo, la temperatura, la presión o la ocupación. El módulo de IoT crea y recibe información de contexto de los sensores virtuales. Esta información de contexto es gestionada y almacenada en un componente de FIWARE conocido como Context Broker. El Context Broker está basado en mecanismos de subscripciones que postean los datos de los sensores en la aplicación, en tiempo real y cuando estos cambian. La conexión con el cliente se produce mediante Web Sockets (socket.io). El módulo de seguridad gestiona las cuentas y la información de los usuarios, les autentica en la aplicación usando una cuenta de FIWARE y comprueba la autorización para acceder a distintos recursos. Distintos roles son creados con distintos permisos asignados. Por ejemplo, Willy Wonka puede tener acceso a todos los recursos, mientras que un Oompa Loopa encargado de la sala del chocolate solo deberías de tener acceso a los recursos de su sala. Este módulo está compuesto por tres componentes: el Gestor de Identidades, el PEP Proxy y el PDP AuthZForce. El gestor de identidades almacena las cuentas de FIWARE de los usuarios y permite la autenticación Single Sing On usando el protocolo OAuth2. Tras logearse, los usuarios autenticados reciben un token de autenticación que es usado después por el AuthZForce para comprobar el rol y permiso asociado del usuario. El PEP Proxy actúa como un servidor proxy que redirige las peticiones permitidas y bloquea las no autorizadas.
Resumo:
El presente trabajo de fin de grado consiste en la realización de una aplicación web para la ONG Manos Unidas. Esta aplicación tiene el objetivo de acercar Manos Unidas a los donantes. Para ello, presenta un sistema de seguimiento de proyectos en los que se puede participar. Los usuarios se registran en el sistema y en cuanto donan al proyecto que ellos deseen podrán ver la evolución de este hasta su conclusión, la cual se les notificará. Gracias a esta aplicación se puede solucionar el problema de desconfianza de los donantes hacia las ONGs que es el planteamiento con el cual Manos Unidas propuso llevar a cabo este proyecto. El trabajo consta de una parte servidor realizada a través de Node.js y una parte cliente que presenta la información a los usuarios a través de una interfaz gráfica. La base de datos se ha realizado con MongoDB y el despliegue en la plataforma Heroku.
Resumo:
El objetivo de este proyecto es la continuación del desarrollo de una plataforma web bajo el sistema WebRTC que, integrada en el ámbito académico, proporcionase un servicio en tiempo real de compartición de información tanto a alumnos como a profesores. Entre esta información posible a compartir, además de mensajes y la propia videollamada que resulta la base de la plataforma, se pueden compartir explicaciones en una pizarra, videos o presentaciones que ayuden en la interacción entre los integrantes de la plataforma. Mientras que la base de la plataforma se encontraba implementada, el sistema no resultaba útil y funcional en dicho estado debido a la multitud de errores y fallos que ocurrían durante su funcionamiento en el sistema de intercambio de información entre los módulos que componen el sistema. Por ello, el objetivo de este trabajo es introducirse en esas capas, rediseñar dicho sistema de intercambio de información entre los diferentes actores que forman parte de la plataforma e implementarlo, logrando así un producto usable para un potencial cliente a partir de este punto y abierto a futuras mejores partiendo de este estado. Para ello además de la tecnología WebRTC, se han incluido funcionalidades con Javascript, Node.JS, jQuery o Socket.IO entre otras APIs. A partir de este sistema y de estas tecnologías, un profesor puede crear un aula virtual, seleccionar los derechos que les proporciona a sus alumnos en la misma y realizar una clase por dicha plataforma sin apenas diferencia a una presencial. Pero no se limita sólo a eso, sino que pueden realizarse tutorías, debates o reuniones entre compañeros de departamento para preparar asignaturas o exámenes. Lo cual genera multitud de posibilidades, no sólo en el ámbito académico, sino fuera de él, para reuniones en empresas, cursos online… En definitiva, con la base de funcionalidades ya implementada previamente y la adición del objetivo de este trabajo de fin de grado que finaliza esas funcionalidades y rediseña e implementa el sistema de intercambio de información para que la plataforma sea 100% usable sin los problemas que el usuario se podía encontrar anteriormente, se obtiene una plataforma con un gran potencial académico con la que los usuarios, bajo la base de la videollamada, podrán encontrar un ambiente de compartición de información como si estuviesen en el mismo lugar físico.
Resumo:
En el departamento de Ocio Digital de bq se desarrollan multitud de proyectos con diferentes modelos de negocio y diferentes stack tecnológicos. Para llevar a cabo todos estos proyectos, es necesario tener un ecosistema de desarrollo lo más unificado y centralizado posible. Por eso, en el departamento existe una plataforma genérica de servicios REST sobre la que se apoyan todos los aplicativos desarrollados. Para agilizar y facilitar la integración de los aplicativos con la plataforma de servicios,se desarrolla este SDK (Software Development Kit) basado en JavaScript llamado corbel-js. Este SDK ha de funcionar tanto en aplicaciones web, como en un middleware basado en node.js desarrollado también en la organización, por lo que el SDK se ha desarrollado de forma híbrida, siendo capaz de ejecutarse tanto en en el lado del cliente, como en el lado del servidor. Además, como parte de la filosofía del departamento, el desarrollo del SDK está basado en tecnologías Open Source, usando metodologías ágiles de desarrollo y un sistema de integración continua y revisión de código, garantizando la calidad del mismo. ABSTRACT A lot of different kinds of software projects are developed in the digital department of bq. To easily develop all of these projects, each one with its own business model and technology stack, it is necessary to have an unique software ecosystem. Because of that, in the software department a generic service REST platform has been developed. To support an easy integration of the applications with the service platform of the organization, this SDK(Software Development Kit) has been developed in JavaScript. As the SDK has to run under a web application and under a software middleware based in node.js, also developed in the organization, the SDK is hybrid, being capable of run inside a web client application or inside a node.js application server. As a part of the software philosophy of the department, the development of the SDK is made with a whole open source software stack, using agile software methodologies.