UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL NGUYỄN QUỐC KHẢI DÉVELOPPEMENT D’APPLICATIONS MOBILES UTILISANT LA GÉOLOCALISATION EN INTÉRIEUR PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG SỬ DỤNG VỊ TRÍ ĐỊA LÝ TRONG NHÀ MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE HANOI – 2016 UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL NGUYỄN QUỐC KHẢI DÉVELOPPEMENT D’APPLICATIONS MOBILES UTILISANT LA GÉOLOCALISATION EN INTÉRIEUR PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG SỬ DỤNG VỊ TRÍ ĐỊA LÝ TRONG NHÀ Spécialité : Réseaux & Systèmes Communicants Code : Programme pilote MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE Sous la direction de : Mtre de conférences, Dr Besma ZEDDINI Mtre de conférences, Dr Julien MERCADAL HANOI – 2016 ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs La source des informations citées dans ce mémoire a été bien précisée LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu Luận văn trung thực chưa cơng bố cơng trình khác Các thơng tin trích dẫn Luận văn rõ nguồn gốc Nguyễn Quốc Khải REMERCIENTS Durant mon stage, j’ai bénéficié du soutien moral et technique de plusieurs personnes ce qui a rendu mon environnement de travail très agréable J’adresse mes remerciements mes encadrants : Mme Besma ZEDDINI chargée de la direction de l’équipe, co-responsable de l’option Smart Systems et M Julien MERCADAL encadrant du projet qui, par ses accueils, ses expériences, ses don d’écoute et ses tolérances, ont guidé mon activité tout en préservant mon esprit d’initiative, durant toute la période de la réalisation mon stage Je tiens remercier vivement mon professeur : M Nguyen Hong Quang, responsable de l’option Réseaux & Système Communicant l’Institut Francophone International au Vietnam qui m’a offert de meilleures conditions afin d’apprendre et de trouver ce stage Je remercie également toute l’équipe du laboratoire L@RIS et les personnes l’École Internationale des Sciences du Traitement de l’Information pour leur accueil et leur esprit d’équipe Enfin, je tiens remercier toutes les personnes qui m’ont conseillé et relu lors de la rédaction de ce rapport de stage Toutes ces personnes ont contribué, par leur disponibilité et leur bonne humeur, rendre mon stage enrichissant et motivant Table des matières RÉSUMÉ INTRODUCTION ENVIRONNEMENT DE TRAVAIL 10 ÉTAT DE L’ART 12 1.1 Systèmedelagéolocalisationenintérieur 13 1.1.1 Technologies 13 1.1.2 Mobile Crowd Sensing 19 1.1.3 Algorithmes 21 1.2 Plate-formepédagogiquel’AREL 24 1.3 Introductiondel’applicationiOS 25 MÉTHODOLOGIE ET OUTILS 27 2.1 Leplusprochecapteur–UneaméliorationdelaméthodeTrilateration 28 2.2 GoogleMapsSDKetMapboxSDK 29 2.3 Xcode 34 2.4 Langagesdeprogrammation 34 2.4.1 Swift 34 2.4.2 Objective-C 35 2.5 Bibliothèquessupplémentaires 36 2.5.1 Alamofire 36 2.5.2 SwiftyJSON 37 2.5.3 Reachability 37 2.5.4 RNCryptor 38 2.5.5 Google Maps SDK 38 2.5.6 Bibliothèques de l’interface 38 IMPLÉMENTATION ET RÉSULTATS 41 3.1 Architecturedel’application 42 3.1.1 Fonctionnement 42 3.1.2 Spécification de l’application 44 3.1.3 Exigences fonctionnelles et non fonctionnelles de l’application 45 3.2 Localisationdelapositiondel’utilisateur 48 3.2.1 Détecter l’étage de l’utilisateur 50 3.2.2 Récupérer les signaux iBeacons autour de l’utilisateur 50 3.2.3 Calculer la position de l’utilisateur 51 3.2.4 Mettre jour la position de l’utilisateur 51 3.3 Échangededonnéesavecleserveur 52 3.3.1 Mettre jour la position de l’utilisateur 52 3.3.2 Rechercher le chemin entre deux points 52 3.3.3 Évaluer une salle préférée 52 3.3.4 Compter le nombre de personnes dans une salle 52 3.3.5 Trouver la position actuelle d’une personne 52 3.4 APIAREL 53 3.4.1 Authentification 53 3.4.2 API AREL 55 3.4.3 Implémentation (application iOS) 59 3.5 RSSdusitehttp://eisti.fr 60 CONCLUSION&PERSPECTIVES 64 BIBLIOGRAPHIE 66 Table des figures Figure – Exemple : Détection de la proximité d’un magasin 17 Figure – Méthode de Trilateration 01 21 Figure – Méthode de Trilateration 02 22 Figure – Méthode de Trilateration 03 23 Figure – Page d’accueil de la plate-forme d’AREL 24 Figure – L’architecture du projet 25 Figure – Le proche capteur 01 28 Figure – Le proche capteur 02 29 Figure – L’idée d’utiliser une carte avec plusieurs couches 30 Figure 10 – La couche Maps SDK 30 Figure 11 – Ajouter l’environnement 31 Figure 12 – Carte complète avec des objets 33 Figure 13 – Swift – Langage de programmation 34 Figure 14 – Objective-C – Langage de programmation 35 Figure 15 – Alamofire: un bibliothèque du réseau 37 Figure 16 – SwiftyJSON: un bibliothèque de traiter des données JSON 37 Figure 17 – Google Maps SDK 38 Figure 18 – FoldingTabBar bibliothèque 39 Figure 19 – PopupController bibliothèque 39 Figure 20 – PasswordTextField bibliothèque 40 Figure 21 – PageMenu bibliothèque 40 Figure 22 – L’architecture d’application iOS 42 Figure 23 – Le flux de données 43 Figure 24 – Le diagramme de cas d’utilisation 45 Figure 25 – L’interface d’application 45 Figure 26 – Localisation d’utilisateur 48 Figure 27 – Diagramme de la localisation d’une personne 49 Figure 28 – L’intégration l’API AREL 53 Figure 29 – Modèle de base de l’OAuth2 54 Figure 30 – Créer un clé privée afin d’authentification 59 Figure 31 – Les nouvelles d’école 61 Figure 32 – Diagramme de flux RSS 62 RÉSUMÉ L’Internet des objets (IoT) est une des tendances très développé dans ces dernières années Connecter, gérer et contrôler tous les appareils (smartphone, lampe, TV, …), puis analyser des données récupérées dans les centres de données sur nuage sont le future des réseaux informatiques Des nouveaux termes comme : « Smart Home », « Smart Building », « Smart City » [2], … sont mentionnés souvent dans des séminaires, des conférences Dans le cas de « Smart Building », « Smart Home », pour réaliser une plate-forme de l’IoT, une des parties importantes est de construire un système qui nous permet de localiser la position de l’utilisateur [2][4] Des recherches dans le domaine de la géolocalisation en intérieur dans le but de trouver des algorithmes (Trilateration [5][6][7][8], Fingerprinting, …), des techniques (Beacon, NFC, …), des entreprises ont commencé de supporter d’afficher, de naviguer dans une carte en intérieur (Google Maps, Mapbox, …) [9] Le stage s’inscrit dans le cadre du projet « Smart Engineering School » dont l’objectif est de développer une application mobile qui implémente des algorithmes de géolocalisation en intérieur et aussi des fonctionnes ajoutées afin d’échanger des informations avec AREL – Plate-forme d’e-learning de l’EISTI (École International des Sciences de Traitement de l’Information) Mots clés : IoT, Internet des objets, géolocalisation en intérieur, indoor location, smart building, beacon, trilateration INTRODUCTION Durant ces dernières années, l’Internet des Objets a été développé dans de nombreux secteurs d’activité comme : l’aide de la personne, la e-santé, la surveillance, l’automatisation des chnes de production, … Les technologies de l’Internet des Objets telles que celles des capteurs, des RFID, des réseaux mobiles sont le centre de la recherche actuelle Les objets connectés ont des capacités de capture, de traitement et de communication, leur permettant de collecter et d’échanger des données, ainsi que d’être contrôlés distance L’environnement de déploiement peut être une maison, un bâtiment, un transport, ou encore des villes [2][9] L’interconnexion d’objets communicants forme un smart système, capable de collecter, stocker et analyser les données partagées par les objets connectés, afin d’en extraire des informations utiles de l’environnement physique qui seront ensuite utilisées par diverses applications pour décider des actions entreprendre sur l’environnement La géolocalisation en intérieur (Indoor Location en anglais) est une des parties importantes de l’IoT, elle nous permet de détecter la position de l’utilisateur et de suivre son déplacement dans un environnement Des différentes recherches dans ce domaine sont abordées des techniques de géolocalisation (GPS, NFC, WPS, Beacon, …) [11] et ainsi que des algorithmes (Trilateration [5][6][7][8], Fingerprinting [22], …) Dans ce stage, la géolocalisation en intérieur va être simuler en utilisant des capteurs Beacons et quelques algorithmes de géolocalisation en intérieur Le Crowd sensing [1] est un autre terme qui est lié la géolocalisation en intérieur Les smartphones actuels ont des capteurs qui ont été installés comme : GPS, accéléromètre, gyroscope, magnétomètre, … Ils nous donnent des informations complémentaires pour aider la géolocalisation en intérieur L’objectif du stage est de combiner des capteurs Beacon et des capteurs dans un smartphone (ou une tablette) afin de construire un système de géolocalisation en intérieur dans une application mobile En outre, partir de la plate-forme pédagogique AREL de l’EISTI, l’application devra récupérer certaines informations sur l’utilisateur, puis lui donner des notifications, partager des informations, … Le rapport est divisé en trois chapitres : • Chapitre – État de l’art : une vue générale sur le système de géolocalisation, ses technologies et ses algorithmes sont abordés L’introduction de la plate-forme pédagogique l’AREL et de l’application iOS sont mentionnés • Chapitre – Méthodologie et outils : la méthode Le plus proche capteur est présenté en détail dans ce chapitre, c’est la méthode qui a utilisé dans ce projet Ensuite, les outils utilisés et les bibliothèques supplémentaires sont introduits • Chapitre – Implémentation et Résultats : ce chapitre parle de l’architecture d’application iOS, de la faỗon afin de localiser lutilisateur, de la communication entre l’application et le serveur, de l’API AREL ENVIRONNEMENT DE TRAVAIL L’établissement d’accueil L’École Internationale des Sciences du Traitement de l’Information (EISTI) est l’une des 210 écoles d’ingénieurs franỗaises habilitộes dộlivrer un diplụme dingộnieur Validộe depuis 1989, la charte que s’est donnée l’EISTI repose sur quatre valeurs concrètes : professionnalisme, ouverture, solidarité, éthique L’École délivre un diplôme par un parcours d’études personnalisé et progressif sur ans dans deux spécialités : Génie Mathématique et Génie Informatique Situés Cergy-Pontoise et Pau, les campus de l’EISTI sont intégrés dans les campus universitaires de leur ville Cergy est le campus historique avec près de 900 élèves et trois bâtiments propres l’école Le campus de Pau, créé en 2003, auparavant situé dans l’immeuble Le Piano, accueille depuis la rentrée 2011 quelque 300 étudiants dans un nouveau bâtiment de 4100 m2 situé au cœur du campus universitaire palois Le laboratoire L@RIS est crée au sein de l’EISTI, il privilégie la recherche appliquée et la recherche finalisée sur contrat, avec le soutien des entreprises et des principaux organismes nationaux de valorisation de la recherche (ANR, OSEO, etc.) Les axes de recherche du L@RIS sont : • Modélisation, conception et vérification formelle des systèmes complexes base de composants (distribués, mobiles, temps réels et hybrides) : applications aux systèmes mécatroniques, automobiles, aéronautiques et télécommunications • Ingénierie de connaissances et applications : Ontologies et applications aux web sémantique, e-Learning, intégration sémantique des données, composition sémantique de services, réseaux sociaux, … • Architectures et performances de systèmes distribués • Simulation et optimisation par contraintes Le stage se déroule dans le laboratoire L@RIS sur le campus de Cergy de l’EISTI pendant mois de 01/04/2016 31/08/2016 Le projet « Smart Engineering School » a Objectifs Le stage vise développer et déployer une application mobile qui communique avec un réseau d’objets communicants équipant l’EISTI, afin d’automatiser ou de simplifier diverses tâches pour ses occupants L’application se compose des fonctionnalités suivantes : • Localiser la position de l’utilisateur, • Compter le nombre de personnes dans une salle, • Trouver le chemin entre deux salles, deux personnes, • Récupérer et notifier les informations aux utilisateurs partir des capteurs ou de la plate-forme pédagogique AREL, 10 la position actuelle des personnes va être mise jour chaque minute et cela nous permet de savoir qui est où facilement 3.4 API AREL Figure 28 – L’intégration l’API AREL La plate-forme pédagogique AREL de l’EISTI fournit un web service REST Pour travailler avec l’API AREL, nous devons passer par deux étapes : • Authentifier l’application (en utilisant l’application token ou l’utilisateur token) • Envoyer des requêtes et manipuler les réponses 3.4.1 Authentification 3.4.1.1 OAuth2 OAuth est un protocole libre de l’authentification qui permet d’autoriser un site web ou une application peut représenter l’utilisateur pour accéder aux utilisateurs ressources dans un service (« délégation d’autorisation ») Dans ce cas, l’iOS application va utiliser OAuth2 pour accéder aux ressources 53 utilisateurs (l’utilisateur ici est un étudiant, un professeur de l’EISTI) dans les web services d’AREL Modèle de base de l’OAuth2 : Figure 29 – Modèle de base de l’OAuth2 L’interaction entre les quatre rôles (Client, Resource Owner, Authorization Server, Resource Server) suit les étapes suivantes : (A) Le client demande l’autorisation du propriétaire de la ressource (B) Le client reỗoit une d’autorisation (C) Le client demande un jeton d’accès par authentification avec le serveur d’autorisation et de présenter l’autorisation (D) Le serveur d’autorisation authentifie le client, puis valide l’autorisation, et si elle est valide, envoie un jeton d’accès (E) Le client demande la ressource protégée du serveur de ressources et authentifie en présentant le jeton d’accès (F) Le serveur de ressources valide le jeton d’accès, et s’il est valide, réponse la demande 3.4.1.2 Authentification sur AREL 54 AREL utilise OAuth2 pour l’authentification Il y a diffộrentes faỗons de sauthentifier : ã En tant que l’application elle-même, avec ses droits associés • En tant qu’un utilisateur spécifique, avec ses droits associés • Avec un jeton de renouvellement d’authentification No Méthode API POST Paramètres Type /oauth/token format Description Valeur xml | json grant_type client_credentials POST scope /oauth/token format scope read xml | json read S’authentifier en tant qu’application S’authentifier en tant qu’utilisateur grant_type password username POST password /oauth/token format xml | json scope Utiliser le jeton d’accès read auth-type jwt auth token d’accès 3.4.2 API AREL L’API permet d’accéder certaines fonctionnalités d’AREL via un format XML ou JSON 3.4.2.1 Absences No Méthode API Paramètres Type GET GET Valeur Donne la liste complète xml | /api/absences format des absences des json étudiants xml | Donne la liste des format /api/absences/planningjson absences des étudiants slot/{slotId} pour un créneau slotId d’emploi du temps Description 55 donné 3.4.2.2 Campus No Méthode API Paramètres Description Type GET /api/campus/rooms GET /api/campus/sites Valeur xml | format json Donne la liste des salles Défault: siteId null xml | format Donne la liste des sites json 3.4.2.3 Étudiants No Méthode API Paramètres Type GET GET Paramètres Type /api/events Description Valeur xml format json 3.4.2.5 Plannings N Méthod API | Donne la liste des événements affichés en page d’accueil Paramètres Valeur Donne les options des /api/students/options format xml | json utilisateurs provenant du LDAP format xml | json Donne les programmes des /api/students/programs étudiants pour Ex: schoolYear année 2015/2016 une scolaire 3.4.2.4 Événements No Méthode API GET Description Descriptio 56 o e GET Type Valeu n r acteurId Donne une liste de end créneaux d’emploi includeAssignemen du temps ts /api/planning/slots salleId siteId start visios format POST /api/planning/slots format Requis DELET /api/planning/slots/{id} E id GET id format /api/planning/slots/{id} format PUT /api/planning/slots/{id} format id GET Requis /api/planning/vacantRoo format ms end Crée un créneau d’emploi du temps Supprime un créneau d’emploi du temps Donne le détail d’un créneau d’emploi du temps Modifie un créneau d’emploi du temps Donne une liste de salles libres start campusId roomId 3.4.2.6 Rels 57 No Méthode API Paramètres GET Type Valeur format xml | json /api/programs p numéro de page GET /api/programs/{id} format GET id format /api/rels Description Donne la programmes liste des Donne le détail programme d’un Donne la liste des rels filter GET p format /api/rels/{id} Donne le détail d’une rel id 3.4.2.7 Statistiques No Méthode GET API /api/stats Paramètres Type Valeur format p 3.4.1.2.8 Utilisateurs No Méthode API Paramètres GET GET Type format format /api/me /api/users Donne la liste des logs utilisateurs Description Valeur ldapOnly GET Description role /api/users/{id} format Donne l’utilisateur courant Donne une liste complète des utilisateurs Donne le détail d’un utilisateur id GET /api/users:short format ldapOnly Donne une liste minimale des utilisateurs role 58 3.4.3 Implémentation (application iOS) Pour réaliser une application qui peut utiliser l’API AREL, on doit suivre les étapes suivantes : • Créer une application ID sur AREL et obtenir la clé, • Développer une application et authentifier en utilisant l’application ID et la clé privée ci-dessus, • Envoyer des requêtes et récupérer (recevoir) les résultats (les résultats peuvent être sous forme XML ou JSON), ã Analyser, reprộsenter, stoker, les donnộes reỗus 3.4.3.1 Crộer l’application ID Aller sur le page : http://arel.eisti.fr/user/account#apps-tab, et créer une nouvelle application Figure 30 – Créer un clé privée afin d’authentification Chaque fois nous avons besoin de créer une application, nous devons obtenir son identifiant et sa clé privée Ils nous permettent de s’authentifier pour échanger les données entre l’application et les web services d’AREL 3.4.3.2 Authentification En utilisant deux bibliothèques : Alamofire et SwiftyJSON, nous pouvons envoyer des requêtes et recevoir des réponses entre l’application et les web services 3.4.3.2.1 Authentification par l’application ID et la clé privée // Créer en-tête de la requête let credentialData = “\(APP_ID):\(APP_KEY)”.dataUsingEncoding(NSUTF8StringEncoding)! let base64Credentials = credentialData.base64EncodedStringWithOptions([]) let headers = [“Authorization”: “Basic \(base64Credentials)”] // Ajouter des paramètres 59 let parameters = [“grant_type”:”client_credentials”, “scope”:”read”, “format”:”json”] // Authentifier Alamofire.request(.POST, AUTH_LINK, parameters: parameters, headers:headers).authenticate(user: APP_ID, password: APP_KEY).responseData { response in // Traiter la réponse du serveur } 3.4.3.2.2 Authentification par nom d’utilisateur et le mot de passe // Créer en-tête de la requête let credentialData = “\(APP_ID):\(APP_KEY)”.dataUsingEncoding(NSUTF8StringEncoding)! let base64Credentials = credentialData.base64EncodedStringWithOptions([]) let headers = [“Authorization”: “Basic \(base64Credentials)”] // Ajouter des paramètres let parameters = [“grant_type”:”password”, “username”:””, “password”:””, “scope”:”read”, “format”:”json”] // Authentifier Alamofire.request(.POST, AUTH_LINK, parameters: parameters, headers:headers).authenticate(user: APP_ID, password: APP_KEY).responseData { response in // Traiter la réponse du serveur } 3.4.3.2.3 Envoyer une requête et manipuler sa réponse class func getUserNotes(userToken: String!, completionHandler: (error: NSError?, response: JSON?) -> Void) { Alamofire.request(.GET, AREL_USER_NOTES, parameters: [“format”:”json”, “access_token”:”\(userToken)”]).responseData { response in switch response.result { case Success: let responseJSON = JSON(data: response.result.value!) completionHandler(error: nil, response: responseJSON) break case Failure(let error): completionHandler(error: error, response: nil) break } } } 3.5 RSS du site http://eisti.fr 60 Figure 31 – Les nouvelles d’école Le site web de l’EISTI – http://eisti.fr est de mettre jour des nouvelles, des informations utiles de l’école L’application va récupérer ses nouvelles en utilisant le RSS 61 Figure 32 – Diagramme de flux RSS Ce schộma montre la faỗon dont les nouvelles sont rộcupộrộes en trois étapes : • Vérifier si la connexion est disponible • Si le nombre des nouvelles est supérieur 0, les nouvelles vont être récupérées en arrière-plan, au contraire, les nouvelles vont être récupérées dans le thread principal • Dès que toutes les nouvelles sont obtenues, elles sont triées par temps et l’onglet des nouvelles va être mettre jour 62 Conclusion Pendant le temps de mise en œuvre ce projet, nous avons rencontré quelques difficultés comme : • Le problème de traitement une carte en intérieur : actuellement, il n’y pas beaucoup d’entreprises, de Frameworks qui supportent de traiter une carte en intérieur Par conséquent, notre équipe a perdu le temps traiter, afficher et manipuler une carte en intérieur • Le problème des murs afin de calculer la position exacte de l’utilisateur : ce problème a fortement affecté le résultat du calcul Car il n’y a pas une solution efficace, notre équipe a dû trouver une solution elle-même Cependant, tous les problèmes ont été résolus Parfois, la solution n’est pas parfaite, mais elle permet de traiter le problème, de diminuer les limites des solutions existantes Dans l’avenir, les meilleures solutions seront recherchées afin de construire un système de géolocalisation en intérieur plus efficace En conclusion, l’application iOS est adaptée aux besoins du projet Elle a réalisé un système de la géolocalisation en intérieur et intégré la plate-forme e-learning AREL, ces fonctions permettent d’utiliser les ressources de lộcole de faỗon plus efficace 63 CONCLUSION & PERSPECTIVES La géolocalisation en intérieur est en train de se développer afin d’aider l’utilisateur dans divers environnements (un bâtiment, un supermarché, un musée, etc.) et de fournir des informations utiles Ce stage contribue une méthode qui nous permet de réaliser un système de géolocalisation en intérieur et des fonctions avancées pour profiter de ses avantages Ce projet a atteint les résultats prévus : une application iOS a été développé, elle nous permet de réaliser une des parties importantes du grand projet « Smart Engineering School », le système fonctionne bien et les fonctions fournies sont satisfont aux exigences de l’application : • Déployer un réseau des capteurs iBeacons, • Calculer la position de l’utilisateur, • Compter le nombre de personnes dans une salle, • Trouver le chemin entre deux salles, deux personnes, • Communiquer avec la plate-forme e-learning AREL, • Mettre jour et partager les nouvelles de l’école Des algorithmes de géolocalisation en intérieur sont étudiés comme : Footprinting, Trilateration, … et un nouvel algorithme a été réalisé : le plus proche capteur Différents frameworks de la carte ont été utilisés comme : Mapbox SDK, Google Maps SDK, Apple Maps SDK Des techniques de développement d’une mobile application ont été appliquées : le RESTful Webservice, le model MVC, la technique de traitement de la GEOJSON, … Tous les technologies et algorithmes sont combinés dans une application iOS afin de construire une « Smart Engineering School » Les algorithmes de géolocalisation en intérieur sont en train de développer afin de résoudre des problèmes existants Le problème des murs est un exemple qui montre qu’il faut trouver un meilleur algorithme, choisir une technologie plus adapté, utiliser de nouveaux matériels Ce sont des différents axes de recherches afin de construire un meilleur système de géolocalisation en intérieur Un système de géolocalisation en intérieur peut appliquer dans de nombreux domaines : dans la vente, annoncer des promotions ; dans la vie quotidienne afin de rendre une maison, une ville plus intelligente ; dans l’agriculture pour 64 surveiller le développement des cultures et du bétail ; dans la santé pour une meilleure qualitộ de vie ; etc Trouver une faỗon de dộployer un réseau de capteurs dans ces domaines, puis récupérer et analyser les données afin de donner des recommandations est un défi majeur et nécessite des recherches intensives 65 BIBLIOGRAPHIE [1] Manoop Talasila, Reza Curtmola, and Cristian Borcea, Mobile Crowd Sensing [2] G Cardone, L Foschini, P Bellavista, A Corradi, C Borcea, M Ta-lasila, R Curtmola, Fostering participaction in smart cities: a geo-social crowdsensing platform, Communications Magazine, IEEE, vol 51, no 6, 2013 [3] S Mathur, T Jin, N Kasturirangan, J Chandrasekaran, W Xue, M Gruteser, and W Trappe, Parknet: drive-by sensing of road-side parking statistics, Proceedings of the 8th international conference on Mobile systems, applications, and services ACM, 2010, pp 123– 136 [4] J Eriksson, L Girod, B Hull, R Newton, S Madden, and H Balakr- ishnan, The pothole patrol: using a mobile sensor network for road surface monitoring, Proceedings of the 6th international conference on Mobile systems, applications, and services ACM, 2008, pp 29–39 [5] Yapeng Wang, Xu Yang, Yutian Zhao, Yue Liu, Laurie Cuthbert, “Bluetooth Positioning using RSSI and Triangulation Methods”, 2013 IEEE 10th Consumer Communications and Networking Conference (CCNC) [6] Maxim Shchekotov, Indoor Localization Method Based on Wi-Fi Trilateration Technique, Proceeding Of The 16th Conference Of Fruct Association [7] Nor Aida Mahiddin, Noaizan Safie, Elissa Nadia, Suhailan Safei, Engku Fadzli, Indoor Position Detection Using Wifi And Trilateration Technique [8] B Cook, G Buckberry, I Scowcroft, J Mitchell, T Allen, Indoor Location Using Trilateration Characteristics [9] Guillermo Amat, Javier Fernandez, Alvaro Arranz, Angel Ramos, Using Open Street Maps data and tools for indoor mapping in a Smart City scenario, AGILE’2014 International Conference on Geographic Information Science, Castellón, June, 3-6, 2014 ISBN: 978-90-816960-4-3 [10] Wonsang Song, Jae Woo Lee, Byung Suk Lee, Henning Schulzrinne, Improving the Vertical Accuracy of Indoor Positioning for Emergency Communication [11] A K M Mahtab Hossain, W.-S Soh “A Comprehensive Study of Bluetooth Signal Parameters for Localization” 18th International Symposium on Personal, Indoor and Mobile Radio Comunications, 2007 IEEE, 3-7 Sept 2007, Athens, Greek doi: 10.1109/PIMRC.2007.4394215 [12] A Thottam Parameswaran, M Iftekhar “Is RSSI a Reliable Parameter in Sensor Localization Algorithms – An Experimental Study” Field Failure Data Analysis Workshop (F2DA’09), New York, 2009 [13] L Pei, R chen, J Liu, H Kuusniemi, T Tenhunen, Y Chen “Using Inquiry-Based Bluetooth RSSI Probability Distributions for Indoor Positioning” Journal of Global Positioning Systems, 2010 pp: 122-130 [14] Daqing Zhang, Leye Wang, Haoyi Xiong, and Bin Guo, 4W1H in Mobile Crowd Sensing, 0163-6804/14/$25.00 © 2014 IEEE, 08/2014 66 [15] William Wei-Liang Li, Ronald A Iltis, Moe Z Win, A Smartphone Localization Algorithm Using RSSI and Inertial Sensor Measurement Fusion, 978-1-4799-1353-4/13/$31.00 ©2013 IEEE [16] Eladio Martin, Oriol Vinyals, Gerald Friedland, Ruzena Bajcsy, Precise Indoor Localization Using Smart Phones, ACM 978-1-60558-933-6/10/10 [17] Michael B del Rosario, Stephen J Redmond, Nigel H Lovell, Tracking the Evolution of Smartphone Sensing for Monitoring Human Movement, Sensors 2015, 15, 18901-18933, 30/07/2015 [18] Huaiyu Li, Xiuwan Chen, Guifei Jing, Yuan Wang, Yanfeng Cao, Fei Li, Xinlong Zhang, Han Xiao, An Indoor Continuous Positioning Algorithm on the Move by Fusing Sensors and Wi-Fi on Smartphones, Sensors 2015, 15, 31244– 31267, 11/12/2015 [19] Wei Chen, Weiping Wang, Qun Li, Qiang Chang, Hongtao Hou, A CrowdSourcing Indoor Localization Algorithm via Optical Camera on a Smartphone Assisted by Wi-Fi Fingerprint RSSI, Sensors 2016, 16, 410, 19/03/2016 [20] Bei Pan, Yu Zheng, David Wilkie, Cyrus Shahabi, Crowd Sensing of Traffic Anomalies based on Human Mobility and Social Media, ACM 978-1-4503-25219/13/11 [21] Bin Guo, Zhu Wang, Yu Wang, Runhe Huang, Xingshe Zhou, Mobile Crowd Sensing and Computing: The Review of an Emerging Human-Powered Sensing Paradigm, ACM 0360-0300/2015/05-ART1 [22] Kaiqing Zhang, Hong Hu, Wenhan Dai, Yuan Shen and Moe Z Win, Indoor Localization Algorithm For Smartphones, 26/03/2015 67 … INTÉRIEUR PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG SỬ DỤNG VỊ TRÍ ĐỊA LÝ TRONG NHÀ Spécialité : Réseaux & Systèmes Communicants Code : Programme pilote MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE Sous la direction… đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Các thơng tin trích dẫn Luận văn rõ nguồn gốc Nguyễn Quốc Khải REMERCIENTS Durant mon… (nearestBeaconDict.objectForKey(“beaconDistance”)?.doubleValue)! let distance: Double = KQLocation.degreesToDistance(degrees) if distance < { let nearestBeaconLocation = CLLocationCoordinate2D(latitude:
Xem thêm: Tiểu luận Lịch sử nghệ thuật
– Xem thêm –
Xem thêm: (Luận văn thạc sĩ) phát triển ứng dụng di động sử dụng vị trí địa lý trong nhà luận văn ths công nghệ thông tin, (Luận văn thạc sĩ) phát triển ứng dụng di động sử dụng vị trí địa lý trong nhà luận văn ths công nghệ thông tin
Xem thêm: Ứng dụng công nghệ ADN tái tổ hợp
Source: https://mindovermetal.org
Category: Ứng dụng hay