1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Développement dapplications 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à luận văn ths công nghệ thông tin

67 105 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 2,31 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

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 :

Maître de conférences, Dr Besma ZEDDINI

Maître de conférences, Dr Julien MERCADAL

HANOI – 2016

Trang 3

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 đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công

bố trong bất kỳ công trình nào khác Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Nguyễn Quốc Khải

Trang 4

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

Trang 5

Table des matières

RÉSUMÉ 7

INTRODUCTION 8

ENVIRONNEMENT DE TRAVAIL 10

ÉTAT DE L’ART 12

1.1 Système de la géolocalisation en intérieur 13

1.1.1 Technologies 13

1.1.2 Mobile Crowd Sensing 19

1.1.3 Algorithmes 21

1.2 Plate-forme pédagogique l’AREL 24

1.3 Introduction de l’application iOS 25

MÉTHODOLOGIE ET OUTILS 27

2.1 Le plus proche capteur – Une amélioration de la méthode Trilateration 28

2.2 Google Maps SDK et Mapbox SDK 29

2.3 Xcode 34

2.4 Langages de programmation 34

2.4.1 Swift 34

2.4.2 Objective-C 35

2.5 Bibliothèques supplé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 Architecture de l’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 Localisation de la position de l’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 Échange de données avec le serveur 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 API AREL 53

3.4.1 Authentification 53

3.4.2 API AREL 55

3.4.3 Implémentation (application iOS) 59

3.5 RSS du site http://eisti.fr 60

CONCLUSION & PERSPECTIVES 64

BIBLIOGRAPHIE 66

Trang 6

Table des figures

Figure 1 - Exemple : Détection de la proximité d'un magasin 17

Figure 2 - Méthode de Trilateration 01 21

Figure 3 - Méthode de Trilateration 02 22

Figure 4 - Méthode de Trilateration 03 23

Figure 5 - Page d'accueil de la plate-forme d'AREL 24

Figure 6 - L'architecture du projet 25

Figure 7 - Le proche capteur 01 28

Figure 8 - Le proche capteur 02 29

Figure 9 - 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

Trang 7

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

Trang 8

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 chaînes 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 1 – É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 2 – Méthodologie et outils : la méthode Le plus proche capteur

Trang 9

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 3 – Implémentation et Résultats : ce chapitre parle de l’architecture d’application iOS, de la façon afin de localiser l’utilisateur,

de la communication entre l’application et le serveur, de l’API AREL

Trang 10

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 d’ingé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 3 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 5 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,

Trang 11

• Récupérer et partager des nouvelles de l’EISTI

b Grandes étapes

Pour aboutir à une application fonctionnelle et en adéquation avec les demandes,

un processus par étapes est développé Chronologiquement, le projet a été marqué par les étapes suivantes :

• Étudier les différences technologies de communication pou l’IoT,

• Étudier les algorithmes de la géolocalisation en intérieur,

• Rechercher des informations sur le Crowd sensing et les capteurs dans un smartphone actuel,

• Étudier l’API AREL pour récupérer des informations sur les utilisateurs,

• Développer un application iOS qui implémentée des algorithmes de géolocalisation en les combinant avec des informations récupérées par les capteurs du smartphone et présentes dans l’API AREL

• Les deux stagiaires : Quoc Khai NGUYEN développe du côté client et réalise l’application iOS, et Ba Duong PHU supporte le côté serveur et les analyses de données

Trang 12

Chapitre 1

ÉTAT DE L’ART

Une vue générale de la géolocalisation en intérieur est nécessaire, c’est la raison pour laquelle les aspects qui constituent un système de la géolocalisation en intérieur sont abordés tout d’abord Ce chapitre mentionne aussi des informations de base de la plate-forme pédagogique AREL de l’EISTI et à la fin introduit l’architecture de l’application iOS

Trang 13

1.1 Système de la géolocalisation en intérieur

Les composants qui composent un système de la géolocalisation en intérieur sont :

la technologie, l’algorithme et l’association avec des éléments auxiliaires Tous ces facteurs vont être abordés alternativement

1.1.1 Technologies

Lorsqu’on pense à la géolocalisation en extérieur, on pensera immédiatement au GPS Le GPS a fait un excellent travail avec une exactitude extrêmement élevée Cependant, dans le domaine de la géolocalisation en intérieur, le GPS peut être utilisé pour déterminer la localisation dans un appartement, mais son résultat est très peu exact Donc, le GPS est impossible dans le but de localiser des objets dans un bâtiment

La géolocalisation en intérieur permet d’aider les utilisateurs à déterminer leur localisation dans un bâtiment, de trouver leur chemin à l’intérieur du bâtiment, de déclencher des messages et de payer leurs achats en utilisant leur mobile Actuellement, de nombreux aéroports, gares, congrès et centres d’exposition investissent dans ces technologies pour aider les utilisateurs en leur fournissant des informations utiles

La géolocalisation en intérieur est un terme général qui se compose de trois grands types de service :

No Type de service Description

1 Indoor location

Aider les utilisateur à trouver leur chemin, d’optimiser leur visite, localiser leurs amis et collègues et fournir également une analyse comportementale aux distributeurs (par exemple : le trajet des visiteurs)

2 Micro- location

Permettre à ce que les voyageurs, les visiteurs et les consommateurs interagissent avec des éléments spécifiques : un produit sur une étagère du magasin, une œuvre d'art dans un musée La présence de l’utilisateur est identifiée seulement quand il est près d’un capteur Leur localisation est perdue quand il se déplace loin de lui

3 Geofencing Envoyer des informations spécifiques lorsque les

utilisateurs entrent ou sortent d’une zone prédéfinie

1.1.1.1 Wi-Fi Postioning System (WPS)

Le Wi-Fi Postioning System est utilisé lorsque le GPS ne convient pas Il permet

de localiser un appareil (par exemple : un smartphone) grâce à la détection d’un réseau Wi-Fi [5][6][12][13][15]

La technique pour un Wi-Fi point d’accès positionnement est basé sur la mesure

Trang 14

de la force du signal reçu (Received Signal Strength – RSS) et sur la méthode de fingerprinting Un « fingerprint » comporte le RSS, le SSID du point d’accès et l’adresse MAC du routeur Il est nécessaire d’être connecté au réseau

Puis, l’appareil interroge une base de données à distance pour correspondre au

« fingerprint » avec la position La précision de la position dépend du nombre de positions stockées dans la base de données Les appareils vérifient périodiquement leur localisation en envoyant leur identifiant, la position GPS et

le Wi-Fi « fingerprint »

WPS est principalement utilisé pour déterminer les localisations dans les lieux publics (gares, centres commerciaux, musées, …)

Avantages

• Grâce à UUIDs, la localisation d’un « fingerprint » est absolument unique,

• La base de données de « fingerprint » est très riche,

• Il est possible de localiser les utilisateurs dans la plupart des supermarchés, des aéroports, des gares …

Inconvénients :

• Faible précision,

• Wi-Fi doit être activé sur le récepteur,

• Nécessite une connexion Internet pour interroger la base de données correspondant au « fingerprint » et à la localisation

1.1.1.2 Near Field Communication (NFC)

Near Field Communication est une technologie de communication sans fil avec une fréquence élevée et une courte portée qui permet aux appareils d’échanger des données à une distance jusqu’à 10cm Cette technologie est une extension de

la radio-identification (RFID – Radio Frequency Identification)

Tags NFC peuvent être lié à des informations telles que les pages Web, les réseaux sociaux et tout autre type de données D’autres domaines dans lesquels NFC est

en train d’émerger sont les paiements sans contact, le contrôle d’accès de la porte sécurisée avec des serrures sans contact, la signature sur des ordinateurs, … etc

Toutes ces actions partagent une exigence commune : vous devez être à proximité

du récepteur NFC

Principe de fonctionnement :

Pour comprendre comment fonctionne NFC, nous devons commencer par apprendre un peu plus sur la RFID Cette technologie permet d’identifier des objets, suivre leurs déplacements et lire leurs propriétés à distance en utilisant un tag qui émet des ondes radio et est attaché ou intégré dans l’objet La technologie RFID peut lire les tags qui ne sont pas visibles, même à travers des couches minces de matériaux (peinture, neige, etc.)

Un tag RFID est constitué d’une puce reliée à une antenne, enfermés dans une étiquette Il peut être lu par un appareil qui capture et transmet les informations

En outre, il existe deux grandes familles de RFID tags :

• Active tags : utilisent une source d’énergie intégrée (pile bouton, batterie,

Trang 15

etc.) Ces tags offrent de meilleures plages, mais ont un cỏt plus élevé et avec une durée de vie plus courte

• Passive tags : utilisent l’énergie qui se propage à courte distance par le signal radio de l’émetteur Ces tags sont moins chers, généralement plus petits et leur durée de vie est pratiquement illimitée Cependant, ils nécessitent une grande quantité d’énergie provenant du lecteur

Qu’en est-il de NFC ?

NFC utilise des tags passifs avec trois modes de fonctionnement différents :

• Card emulation mode : le terminal mobile se comporte comme une carte sans contact La carte SIM du téléphone mobile peut être utilisé pour stocker et sécuriser les données cryptées (Ex : le paiement sans contact, gestion des coupons de réduction, …)

• Reader mode : smartphones NFC peuvent lire les tags pour afficher des informations utiles ou déclencher des actions automatiques (par exemple : visites interactives dans les musées ; automatisation des tâches : changer la sonnerie ou lancer d’une application dans la portée du NFC ; demander de l’information dans les magasins, …)

NFC tags peuvent être programmés pour envoyer des informations aux appareils à portée

• Peer-to-peer mode : permet à deux appareils NFC d’échanger des informations (Ex : transfert de photos entre une tablette et un smartphone, ouverture des portes de voiture, …)

• Des coupons de réduction ou des programmes de loyauté

• Visites interactives dans des musées, avec des informations utiles

• Contrơle d'accès aux zones réglementées

• Lecture des cartes de visite électroniques

• Fonctionnalités de la maison intelligente

• Suivi des colis

Avantages :

• NFC est instantanée et ne nécessite aucun effort de l'utilisateur

• Risque de vol de données est minimisé grâce à la courte portée

• NFC utilise moins batterie que Bluetooth ou Wi-Fi

• Aucune connexion Internet requise

Inconvénients :

• La portée est moins de 10cm (ne convient pas pour la géolocalisation et geofencing)

Trang 16

1.1.1.3 Beacon

Les Beacons sont de petites unités qui utilisent la technologie Bluetooth Low Energy (BLE) et diffusent périodiquement de petites quantités de données, ce qui permet aux applications mobiles de s’adapter à leur comportement [4][11][13]

Principe de fonctionnement :

Bluetooth Low Energy

Le Bluetooth Low Energy (BLE) est une technologie de transmission sans fil qui consomme 10 fois moins d'énergie que le bluetooth traditionnel, pour un débit de données équivalent

Il ne peut pas envoyer des données complexes, mais il fournira des informations telles que son identifiant, sa distance (ou plus précisément : la puissance du signal)

et beaucoup plus L'idée est d'intégrer Bluetooth 4.0 dans des unités portables de petite taille, qui fonctionnent souvent sur les batteries et ne peuvent pas être rechargées : moniteurs de fréquence du cœur, montres connectés, télécommandes, etc

iBeacon

Le terme iBeacon est inventé par l’Apple, il respecte tous les certifications de Beacon Par conséquent, tout appareil avec Bluetooth 4.0 (par exemple, un smartphone Android) peut communiquer avec un iBeacon

En principe, le Beacon est uniquement destiné à annoncer sa présence (via la diffusion) et il ne contient pas de données d'application, mais seulement ses identifiants

Trang 17

Figure 1 - Exemple : Détection de la proximité d'un magasin

Avantages

• La vie de la batterie de l'appareil est prolongée grâce à BLE

• Facile à mettre en place et programmer

• Le risque de recevoir des notifications par erreur est proche de zéro

• La portée est de 70 mètres

Inconvénients

• Généralement, requiert une connexion Internet pour faire correspondre l'identifiant à l'information (Dans certains cas, les informations peuvent être stockées dans une application mobile.)

• Bluetooth doit être activé sur le récepteur

• La portée de Beacon ne convient pas aux micro-location

• Il n'y a pas de plan pour mettre en œuvre le traitement des paiements par Beacon et BLE

• Nécessite l'installation d'une application de suivi (tracking app)

1.1.1.4 Magnétique de Positionnement (Magnetic Positioning)

Une autre solution qui peut être utilisée pour déterminer un endroit ó aucun signal GPS disponible est les champs magnétiques et les utiliser pour dessiner une carte du bâtiment Le béton armé et la structure en acier sont un des nombreux matériaux de construction modernes qui ont une empreinte magnétique caractéristique Les animaux, et en particulier les pigeons voyageurs et les homards, sont capables de détecter des variations magnétiques et de les utiliser pour trouver leur chemin

Chaque bâtiment, étage, couloir ou l'ascenseur produit une perturbation distinctive En lisant ces anomalies, le système peut générer une carte de la localisation Ceci est une technologie très intéressante, car elle ne nécessite pas

de périphériques externes et fournit une précision de 10 cm

Application

Positionnement magnétique est principalement utilisé pour déterminer les

Trang 18

emplacements dans les lieux publics (aéroports, gares, musées )

Cette technologie est encore utilisée et ses applications actuelles sont généralement limitées à un positionnement dans les lieux publics Mais la force

de positionnement magnétique consiste à la variété des utilisations possibles Sa grande précision le rend approprié pour la géolocalisation, ainsi que les utilisations geofencing, ce qui peut se révéler très utile pour les applications de géo-marketing

• Peu utilisé (quelques API, nombre limité de cartes à ce moment)

• Prend plus de temps à mettre en place que beacons

• Généralement, requiert une connexion Internet pour faire correspondre l'empreinte à la position (Dans certains cas, les informations peuvent être stockées dans une application mobile.)

La précision est trop limité pour cet usage

La localisation prévu par wifi

ne permet pas d'échange de données

NFC La portée de NFC ne convient pas

géolocalisation

La gamme de NFC est trop courte pour cette utilisation

Excellent

Beacons

Trang 19

Nécessite un très grand nombre de Beacons

Beacons restent la technologie la plus appropriée pour geofencing

La portée de Beacon est trop élevé pour cet usage

Magnetic Positionning

L’exactitude est excellente

Très bon, mais pas largement utilisé et plus de temps à mettre en place que beacons

La localisation prévu par le champ

magnétique ne permet pas d'échange de données

Beacons est actuellement la solution la plus largement adoptée pour geofencing

Cette technologie est particulièrement bien adaptée pour définir le périmètre et il peut être utilisé pour une large gamme d'applications commerciales C’est la raison pour laquelle, il a été décidé pour ce projet d’utiliser cette technologie afin

de mettre en œuvre un système de la géolocalisation en intérieur

1.1.2 Mobile Crowd Sensing

1.1.2.1 Introduction

Les smartphones sont devenus essentiels dans notre vie quotidienne Ils sont normalement équipés d'un riche ensemble de capteurs, y compris le GPS, le microphone, l’appareil photo, l’accéléromètre, le gyroscope, la luminosité En conséquence, tout le monde peut facilement recueillir et partager l'information captée [1][2]

Le « Mobile Crowd sensing » (MSC) signifie l'intégration des capteurs qui peuvent être utilisés afin de collecter des informations matérialiste ou non-matérialiste, les gens peuvent utiliser ces capteurs et évidemment leur participation globale [14][16]

Le MSC émerge comme un paradigme de détection à grande échelle ó la collecte des données est généralement effectuée par les smartphones Il est une des technologies les plus importantes qui contribue à la santé, la surveillance, de la logistique et de l'organisation dans les futures villes intelligentes

« MCS est de compter sur la foule pour effectuer des tâches de détection à travers des appareils qui ont les capteurs activés »

Trang 20

2 Gyroscope Maintenir et contrơler la position, le niveau ou l'orientation fondé sur le principe du moment angulaire

3 Compas Donner la bonne direction par rapport au pơle nord-sud de la Terre par l'utilisation du magnétisme

4 GPS Permettre de suivre la cible ou «naviguer» les choses par carte ou une image

5 Proximité Détecter la proximité de l'écran de votre smartphone par rapport à votre corps

6 Luminosité

Optimiser la lumière de l'écran quand il exposé à la lumière normale avec une intensité différente, ajuster la luminosité de l'écran pour prolonger la vie de la batterie

7 Back- Illuminated

Un type de capteur d'image numérique qui change ou augmente la lumière capturée en capturant une photographie

1.1.2.3 Applications

• Ville intelligentes [1]: une gestion urbaine efficace est une tâche difficile car la densité de population élevée et un très grand nombre de interconnectées Un système de ville intelligents améliore l'efficacité de la ville en déployant des réseaux plus intelligents est un exigence critique Le MCS peut réduire les cỏts associés à la grande échelle de capteurs et en même temps fournir des données supplémentaires Les MCS engagent directement les citoyens dans la gestion de leur ville Les gens peuvent participer activement à des campagnes pour rendre leur ville plus sûre et plus propre

• Transport routier [1]: des données des schémas de trafic dans le pays en utilisant l’emplacement et des données de la vitesse sont fournies par des capteurs GPS embarqués dans les voitures Ensuite, ces données peuvent être utilisées pour l’ingénierie du trafic, la construction de nouvelles routes,

… Les conducteurs peuvent recevoir des informations de trafic en temps réel fondée sur les données collectées à partir de smartphones Les conducteurs peuvent également bénéficier de données de stationnement en temps réel recueillies par les voitures équipées de capteurs ultrasons Les organismes de transport ou les municipalités peuvent collecter efficacement des données de nids de poule en utilisant le GPS et l'accéléromètre des capteurs afin de réparer rapidement les routes …

• Santé & Bien-être [1]: les capteurs portés par des personnes pour la surveillance de la fréquence cardiaque et la surveillance de la pression sanguine peuvent communiquer leurs informations aux smartphones Généralement, cela se fait à la fois en temps réel et à long terme pour suivre

de la santé des individus La détection mobile peut tirer profit de ces données existantes dans les études de soins de santé à grande échelle qui recueillent de façon transparente des données à partir de divers groupes de

Trang 21

personnes, qui peuvent être sélectionnés en fonction de l'emplacement, l'âge, etc Le MCS peut tirer profit des données existantes pour des études

de santé à grande échelle qui collecte des données de divers groupes de personnes (trier par l’âge, l’emplacement, …)

• Marketing / Publicité [1]: localisation en temps réel ou la mobilité des traces/schémas peut être utilisée par les vendeurs/annonceurs afin de cibler certaines catégories de personnes Puis, ils peuvent exécuter des enquêtes sensibles au contexte (fonction de l'emplacement, le temps, etc.)

1.1.3 Algorithmes

La « Trilatertion », le « Fingerprint », la « Triangulation », … sont des algorithmes qui nous permettent de localiser une position dans un environnement Actuellement, la recherche pour l’amélioration des algorithmes existants ou l’invention de nouveaux algorithmes est une tendance très développée Ainsi, choisir un algorithme efficace et assez facile à réaliser dans la programmation est une des choses importantes dans le développement d’un projet

1.1.3.1 Trilateration

Méthode de trilateration mettre le problème de géolocalisation en intérieur sur un problème de géométrie

Figure 2 - Méthode de Trilateration 01

Imaginez un plan avec des points Chaque capteur est un point qui a une longitude

et une latitude comme coordonnées De la même façon, la position de l’utilisateur

Trang 22

est un point aussi Maintenant, le problème de calcul est devenu :

(x – x1)2 + (y – y1)2 = d12

(x – x2)2 + (y – y2)2 = d22

(x – x3)2 + (y – y3)2 = d32Après avoir fini de résoudre ce problème, on va avoir les coordonnées (longitude, latitude) de l’utilisateur

Figure 3 - Méthode de Trilateration 02

Les calculs mathématiques donnent toujours le résultat exact dans le cas ó les paramètres entrés sont exacts aussi Mais, les distances (d1, d2, d3) mesurées par les signaux iBeacons ne sont pas toujours exactes Pourquoi ? À cause des murs

entre un iBeacon et l’utilisateur Le problème est qu’un signal devient incorrect quand il doit être passé à travers le mur et la précision est diminuée quand le nombre de murs augmente

S’il y a trois murs entre l’utilisateur et un iBeacon et que la distance entre l’utilisateur et ce iBeacon est de 5m En réalité, au lieu de recevoir un signal concernant à 5m, on va récupérer un signal concernant à 15m Ça va beaucoup impacter le résultat!

Trang 23

Figure 4 - Méthode de Trilateration 03

• Phase online : collecter des échantillons RSSI d’une position inconnue pour faire le positionnement Ces valeurs de RSSI sont comparées aux valeurs stockées dans la base de données et un algorithme qui correspond à la valeur réelle avec le fingerprint obtenue dans la phase offline afin de localiser l’appareil avec ses coordonnées

Avantages :

• Règle le problème de mûr

Inconvénient :

• La phase offline prend du temps et aussi le calcul est dur

• L’algorithme pour correspondre des valeurs doit exécuter de nombreux calculs dans le cas ó l’environnement est grand ou le nombre de pièces est grand

Trang 24

Conclusion :

Les méthodes et les algorithmes de géolocalisation en intérieur sont en train d’être développés Il n’y a pas une solution parfaite aujourd’hui Puis, le problème des murs n’a pas de solution efficace non plus Il faut continuer de faire des recherches

et développer de nouvelles techniques (Bluetooth 5.0 avec la puissance plus forte par exemple) afin de trouver des moyens qui nous permettent d’avoir une méthode

de géolocalisation en intérieur plus exacte, plus efficace, …

1.2 Plate-forme pédagogique l’AREL

L’AREL (Atelier de Ressources E-Learning) est la plate-forme intranet de

l’École Internationale des Sciences de l’Information (EISTI) qui nous permet de retrouver l’emploi du temps des différents acteurs de l’école et un ensemble de ressources d’apprentissage en ligne

Figure 5 - Page d'accueil de la plate-forme d'AREL

En outre, AREL fournit une API REST pour que les développeurs puissent récupérer ses données Dans ce projet, cette API va être utilisée afin de récupérer certaines informations sur les utilisateurs comme :

• L’emploi du temps d’une personne,

• Les statuts des salles de l’école,

• Les événements actuel,

• Les programmes et les matières de l’école,

• Les notes d’un étudiant et ses cours,

L’objectif de l’intégration d’API AREL avec la géolocalisation en intérieur est que grâce aux informations reçues, l’application peut donner des recommandations ou des notifications à l’utilisateur C’est une des tâches qui

Trang 25

permet de construire une application intelligente afin de s'adapter aux exigences

du sujet « Smart Engineering School »

1.3 Introduction de l’application iOS

L’application iOS est une combinaison de toutes les choses ci-dessus : une technologie de la géolocalisation en intérieur, le Mobile Crowd Sensing, un algorithme de la géolocalisation en intérieur, l’API AREL et encore d’autres fonctionnalités supplémentaires D’un côté, tous les travaux ci-dessus sont la partie théorique du projet D’un autre côté, le développement d’application iOS est la partie pratique du projet

Les fonctionnalités principales de l’application :

• Détecter et récupérer les signaux iBeacons des capteurs,

• Calculer la position de l’utilisateur grâce aux les signaux récupérés,

• Échanger les données de la position de l’utilisateur avec le serveur,

• Envoyer les requêtes au serveur et traiter sa réponse,

• Récupérer des données de l’utilisateur sur AREL,

• Donner des recommandations et aussi des notifications à l’utilisateur

Figure 6 - L'architecture du projet

L’architecture du projet se compose en quatre parties :

• Application iOS : le cœur du système qui communique avec les autres parties afin d’échanger les données dans le système

• Réseau des capteurs iBeacons : un réseau qui utilise Bluetooth Low Energy

Trang 26

pour la communication, il permet de localiser la position de l’utilisateur, d’identifier et d’envoyer des informations à utilisateur

• Plate-forme e-learning AREL : fournit des informations, des ressources de l’école

• Serveur d’analyse de données : récupérer et analyser les données afin de donner des fonctions avancées

L'application iOS est un proof-of-cocept du projet L’application iOS et les trois

composant - le réseau des capteurs iBecons, la plate-forme AREL, le serveur d’analyse de données - permettent de construit un système de géolocalisation en intérieur

Trang 27

Chapitre 2

MÉTHODOLOGIE ET OUTILS

Dans ce chapitre, la méthode « Le plus proche capteur » est présentée en détail,

le problème de la carte en intérieur est mentionné Ensuite, l’environnement (Xcode) et les langages de programmation (Swift, Objective-C) et les bibliothèques supplémentaires sont introduits.

Trang 28

2.1 Le plus proche capteur – Une amélioration de la

Les problèmes de la méthode Trilateration sont d’affecter le calcul de la position exacte de l’utilisateur Le besoin d’améliorer l’exactitude du calcul est nécessaire

En effet, il existe d’autres solutions, d’autres algorithmes, mais certains d’entre eux sont seulement théorique, certains sont difficiles à réaliser dans le code, … C’est la raison pour laquelle, d’améliorer la méthode de Trilateration est une bonne solution Par conséquent, la méthode « Le plus proche capteurs » a été développée

Figure 7 - Le proche capteur 01

Actuellement, supposons que l’utilisateur est en train de récupérer les signaux des trois capteurs iBeacons A, B, C avec ses distances respectivement : a, b, c (a < b

< c) L’iBeacon A donne la distance le plus courte, c’est-à-dire que sa distance est

la plus exacte aussi

Imaginons que la position de l’utilisateur doit être un point dans le cercle avec le centre A et le radius a Chaque point dans ce cercle a sa distance b’ au iBeacon B

Trang 29

Figure 8 - Le proche capteur 02 Avantages :

• Donne de meilleurs résultats que la méthode Trilateration (Dans le cas idéal ó les signaux sont totalement exacts, la Trilateration donne de meilleurs résultat, bien sûr !)

• Besoin au moins de deux signaux iBeacons (au lieu de trois comme la Trilateration)

• Le problème des murs n’est pas résolu complètement, mais il a été limité

Inconvénients :

• Par l’influence du problème des murs, parfois la méthode choisit un point incorrect Cependant, car le plus proche capteur est choisi d’abord pour calculer, cette erreur est acceptable

2.2 Google Maps SDK et Mapbox SDK

Actuellement, les plates formes de cartes comme Google Maps, OpenStreetMap, Apple Maps, … ne supportent que d’afficher les cartes en extérieur Ils ont commencé à afficher les cartes en intérieur lors de ces années dernières, mais il n’y a pas une plate-forme complète C’est la raison pour laquelle, on doit faire des travaux supplémentaires afin d’afficher une carte en intérieur, de simuler la position de l’utilisateur et sa trajectoire, d’indiquer le chemin entre deux points,

… Deux frameworks : Mapbox SDK et GoogleMap SDK sont utilisés pour résoudre le problème de la carte

L’idée principale est d’utiliser une carte avec plusieurs couches :

Trang 30

Figure 9 - L'idée d'utiliser une carte avec plusieurs couches

• La couche « Maps SDK » va afficher les informations de la carte du monde

• La couche « Environnement » ajoute les informations des bâtiments de l’EISTI comme : les salles de cours, les couloirs, les routes, …

• La couche « Objets » est utilisé pour afficher la position de l’utilisateur, les points ó des capteurs iBeacons sont installés, le chemin que l’utilisateur doit suivre pour aller à sa destination, …

Observons le changement quand on ajoute les couches étape par étape :

Utiliser la seule couche « Maps SDK » :

Figure 10 - La couche Maps SDK

C’est le bâtiment Cauchy - un des trois bâtiments de l’EISTI Ici, quand on utilise

Trang 31

la seule couche « Maps SDK », on ne voit que la forme du bâtiment avec le couleur grise

Ajouter la couche « Environnement » :

Figure 11 - Ajouter l'environnement

Pour afficher la couche « Environnement », on doit suivre les étapes suivantes :

• Prendre la carte de l’EISTI sur OpenStreetMap,

• Prendre la carte d’un étage de bâtiment,

• Utiliser l’outil « GOSM » pour créer un ficher OSM avec les informations des bâtiments de l’EISTI,

• Convertir le ficher OSM à GEOJSON en utilisant le site web : http://tyrasd.github.io/osmtogeojson/

• Lire le ficher GEOJSON et ajouter les objets comme : polyline, polygon,

… dans la carte

Le code qui nous permet de lire et ajouter les informations (les salles de cours, les couloirs, les routes, …) dans une carte :

func drawMaps2(fileName: String , title: String ) {

let jsonPath = NSBundle.mainBundle().pathForResource(fileName,

if let features = jsonDict["features"] as ? NSArray {

for feature in features {

Trang 32

if let feature = feature as ? NSDictionary {

if let geometry = feature["geometry"] as ?

}

let polygon = MGLPolygon(coordinates:

&coordinates, count: UInt(coordinates.count))

let random = arc4random_uniform(3)

Ajouter la couche « Objets » :

Cette couche se compose des objets comme : la position courant de l’utilisateur,

la position des capteurs iBeacons, le chemin entre deux point dans la carte, …

• Utilisateur : calcule sa position en utilisant des méthodes comme : la trilateration, le plus proche capteur et l’affichage sur la carte

• Capteurs iBeacons : ont été installés manuellement dans le bâtiment et stocké leur position dans un ficher JSON sur le serveur Le client télécharge

ce ficher une fois par semaine ce qui permet de les afficher sur la carte

• Le chemin : chaque fois que l’utilisateur veut trouver le chemin entre deux points (par exemple : deux salles, deux personnes), il envoie sa requête au serveur et le serveur lui retourne un ficher GEOJSON avec les informations

du chemin trouvé

Trang 33

Figure 12 - Carte complète avec des objets

Le code ajoute un marquer dans une carte :

self userPosition = MGLPointAnnotation ()

self userPosition title = "Vous êtes ici!"

self userPosition coordinate = CLLocationCoordinate2DMake (49.035041,

2.070104)

self mapView addAnnotation( self userPosition )

La fonction qui permet de mettre à jour la position de l’utilisateur :

func changeUserLocation(notification: NSNotification ) {

let longitude: Double =

(notification.userInfo!["longitude"]?.doubleValue)!

let latitude: Double =

(notification.userInfo!["latitude"]?.doubleValue)!

self mapView.removeAnnotation( self userPosition)

self userPosition.coordinate = CLLocationCoordinate2DMake(latitude, longitude)

self mapView.addAnnotation( self userPosition)

}

Deux frameworks différents : Google Maps SDK et Mapbox SDK sont utilisés D’un côté, le Google Maps SDK est très populaire et très utilisé dans le monde, d’un autre côté, le Mapbox SDK est une nouveau framework et permet de développeré très rapidement

Afficher la carte

Très bien! Plusieurs styles, Bien ! Quelques styles de

Ngày đăng: 20/12/2019, 00:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w