P16 Réaliser deux trackers GPS permettant de suivre à distance le trajet d'un coureur

De Wiki de Projets IMA
Révision datée du 23 février 2017 à 21:52 par Acuadros (discussion | contributions) (Conception du projet " Tracker Smartphone ")
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Tuteurs : Thomas Vantroys et Alexandre Boé
Projet de fin d'étude réalisé par Alexandre Cuadros et Valentin Taffin

Objectif du projet

Lors des marathons ou des courses natures (trails), les supporters aimeraient connaître la position de leur coureur favori. Pour cela, deux solutions existent : l'utilisation de programmes directement sur téléphone ou l'utilisation de matériel spécifique. Le projet consiste à concevoir deux trackers, un pour téléphone et un autonome.

Concernant le tracker du téléphone, nous pouvons utiliser le capteur GPS interne de l'appareil en ajoutant une carte d'extension afin d'y ajouter les capteurs souhaités :

  • Bouton poussoir
  • Accéléromètre

Pour la version autonome, il faudra envisager les deux solutions que sont un module 2G et un module LORA tout en portant une attention toute particulière sur la consommation énergétique et sur les poids des dispositifs.

Présentation des technologies utilisées pour le projet

le module LORA :

L'Alliance LoRa est un réseau étendu de faible puissance (LPWAN) exploitable avec une batterie sans fil adapté pour le réseau régional, national mais aussi mondial.

Le Réseau LoRa se base sur le protocole LoRaWAN (Long Range Wide-area ou réseau étendu de longue portée) qui est peu énergivore.

LoRaWan vise les exigences clés de l'internet des objets(IOT) tels que les services de communication bi-directionnelle, la mobilité et de localisation sécurisée.

L'architecture du réseau LoRaWan est utilisée sous forme de réseau hiérarchique où chaque passerelle peut transmettre les messages entre les appareils terminaux et un serveur de réseau central en arrière-plan.

Les passerelles sont connectées au serveur de réseau via une IP standard tandis que les appareils terminaux utilisent la communication sans fil à une ou plusieurs passerelles.

La communication entre les appareils terminaux et les passerelles est répartie sur les différents canaux de fréquence et des débits de données (en France 863 à 870MHz MHz, au US 902 à 928 MHz et Chine 779 à 787 MHz ).

Grâce à la technologie à étalement de spectre, les communications avec les différents débits de données ne se gênent pas et créent un ensemble de canaux «virtuels» de plus en plus performant.

Le réseau LoRa a un débit compris entre 0,3 à 50 kbps. Le débit (et la puissance d’émission) s’adapte automatiquement selon les besoins des objets, afin de limiter la bande passante et donc la consommation d’énergie. La portée du réseau est satisfaisant puisqu'elle est d’environ 20km en zone rurale et à 2km en zone urbaine.

Pour maximiser la durée de vie de la batterie des appareils terminaux et de la capacité globale du réseau, le serveur de réseau lorawan gère le débit de données et de sortie RF pour chaque dispositif individuellement au moyen d'un système de débit de données adaptatif (ADR).




La technologie SiRFatLas IV pour le GPS de la LoRa:


Le module GPS que nous utilisons pour le tracker LoRa utilise la technologie SiRFatLas IV. Celle-ci est un processeur de système de localisation multifonction destiné aux dispositifs personnels de navigation d’entrée de gamme. Nous l’utilisons ici pour son prix intéressant tout en ayant de bonnes performances tels qu’une consommation de 41mA, une sensibilité de -163dBm ( un GPS ultra-sensible est de -160dBm) permettant de capter les signaux des satellites même fortement atténués.


liens :

adafruit

gps https://www.adafruit.com/products/1059

lora:

https://www.adafruit.com/products/3179

https://www.adafruit.com/product/3178

Présentation du "Tracker Smartphone"

L'Arduino et l'Android sont deux technologies très puissantes et ouvertes. Il peut être très intéressant de les connecter afin de concevoir le tracker du téléphone. Pour cela, nous pouvons concevoir le montage des capteurs sur la carte électronique. Ensuite, nous pouvons programmer le microcontrôleur pour que les capteurs puissent envoyer un signal au téléphone. Le résultat pourra être récupérer à distance à l'aide un site web en utilisant le GPS interne du Smartphone.


Tracker smartphone.png

Présentation du "Tracker LoRa"

La partie tracker LoRa consiste à réaliser un tracker GPS de type "www.capturs.com" et d'une application web (voir mobile) afin de visualiser en direct le suivi d'un coureur ou tout simplement accéder à l'historique de la course (temps, altitude ...). Dans un premier temps il nous faut concevoir et commander la liste du matériel dont nous avons besoin :

  • batterie
  • module radio LoRa
  • module GPS
  • microcontrôleur

De plus le coureur a la possibilité d'envoyer des messages "pré-enregistrer" pendant sa course avec comme pour la partie précédente un bouton poussoir ( ou interface graphique ). Il nous faut :

  • un moyen d'envoyer l'information que le coureur a appuyé sur le bouton poussoir au microcontrôleur (au moyen d'un fil ou d'un module Wifi/Bluetooth)
  • bouton poussoir ou autre...

La course est un sport extérieur ce qui signifie que nous devons étudier et vérifier que le matériel utilisé est capable de résister à la température (>-0°), humidité et choc.


Tracker Autonome.png


La solution présenté au dessus marche mais ne correspond pas à nos attente, du fait est que le module arduino mega + lora prend trop de place sur le coureur et consomme beaucoup trop. Donc, Afin d'économiser de la place il nous faut créer un dispositif petit et portable. Pour cela nous allons concevoir notre propre carte PCB qui sera composé de notre module LoRa, GPS et d'un microcontrôleur Atmega328.

calcul de la durée de vie de la batterie : http://gadgetmakersblog.com/power-consumption-arduinos-atmega328-microcontroller/
Build on AVRGCC : https://www.avrprogrammers.com/howto/atmega328-power

Partie Application

L'application se décompose en plusieurs parties :

  • Le côté hardware : notre smartphone ou notre carte arduino LoRa, ils transmettrons leurs positions à intervalle régulier.
  • Le côté serveur : reçoit, traite et stock les paquets envoyés par la partie hardware, puis les stocks à l'intérieur de notre base de donnée.
  • Le site web : permet d'accéder aux différents profils des utilisateurs ,afin qu'ils puissent visualiser leur parcours, connaître leurs temps...

Voici un schéma pour résumé notre architecture :

Architecture Programme.png

Base de donnée

La base de donnée est réalisé avec mySQL, Le schéma ci dessous n'est qu'une ébauche de notre base de donnée et sera mis à jour suivant l'avancement de notre application. Celle-ci est découpé en plusieurs partie :

  • "profil" qui contiendra toutes les informations du compte client.
  • "point" qui correspond au coordonnée de géolocalisation.
  • "itineraire" composé d'une ensemble de points afin d'enregistrer des parcours prédéfinis.
  • profil_itineraire qui permet de faire le lien entre un profil et des itinéraires
  • "posiitongps", il sera renommé mais il sert à stocker la coordonnée GPS de notre client en temps réel.

Bdd.png

Site Web

Le site web est réalisé en PHP afin de récupérer les données sur la base de donnée, Javascript, AJAX, Json, Google API.

Page pour se connecter afin de récupérer les informations du client sur la base de donnée.

Login.png


Dans la fenêtre Googlmap il y a l'affichage d'itinéraires en lien avec le profil client et une gestion de sa coordonnée gps en temps réel (on peut faire varier le temps de rafraichissement). Un bouton déconnexion pour retourner à la page d'accueil. Googlemap.png


Voici le statemachine de notre application :


Statemachine pfe.png

Serveur

Le serveur est réalisé en nodeJS. Sont but est de ce connecter à notre base de donnée et suivant la validation des packets UDP qu'il reçoit il met à jour notre base de donnée. paquet UPD :

Codage Packet UDP.png

Voici la commande utilisé pour tester l'envoie de de packets à notre server :

echo -n "Valentin Taffin 50.630054 3.035401 null" >/dev/udp/127.0.0.1/8000 

Commande pour ajouter un point à un itinéraire :

echo -n "AddPointToProfil Valentin Taffin itineraireID 50.630054 3.035401 null address" >/dev/udp/127.0.0.1/8000


Après un envoi sur le serveur voici ce que l'on reçoit :

Servernodejs.png

Maintenant le servernodejs avec modification dans la base de donnée :

Conception du projet " Tracker Smartphone "

La partie tracker Smartphone a besoin d’une application mobile pouvant recevoir et transmettre toutes les informations nécessaires.

Pour cette partie, nous utilisons :

-Le Bluetooth Low Energy entre la Lilypad Simblee et le Smartphone

-Le GPS interne du Smartphone

-La 4G du Smartphone


Le coureur sera équipé :

-d’une carte électronique contenant les boutons poussoirs où chacun d’eux correspond à un état du coureur: la fatigue, un problème technique ou une blessure.

-d’une autre carte (Lilypad Simblee) permettant d’envoyer ces informations par Bluetooth Low Energy au Smartphone.

Contraintes:

L’alimentation du Smartphone peut difficilement être améliorer, malgrés que le Bluetooth Low Energy consomme très peu de ressource, le GPS interne du téléphone ainsi que la 4G nécessitent une grande consommation d'énergie.

a) Partie Smartphone  :

L’application mobile est composée :

-D’une classe permettant la récupération des données GPS

-D’une classe permettant d’envoyer les données GPS au Serveur

-D’une classe regroupant la partie BluetoothLE

Pour utiliser convenablement le logiciel, nous avons téléchargé le JDK au lien suivant :

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Le smartphone utilisé possède la version 5.1 d’Android ( Lolipop), le projet a donc été configuré en fonction de ce SDK.

Configuration du téléphone :

Pour se configurer en mode développeur, nous devons aller dans:

« Paramètre » du téléphone.

aller dans sécurité => activer « source inconnue ».

Dans « à propos de l’appareil », nous avons besoin de cliquer 7 fois sur le numéro de version du téléphone pour pouvoir passer en mode « développeur » .

Pour finir, nous allons dans « option de développement » pour activer le débogage USB.


La classe Gps:

Nous avons utilisé plusieurs méthodes pour s’abonner et se désabonner du GPS pour que le programme ne puisse rencontrer aucun problème si celui-ci n’est pas disponible.

AbonnementGPS() - Méthode pour s’abonner à la localisation par gps.

DesabonnementGPS() - méthode permettant de se désabonner de la localisation par GPS.

OnProviderEnabled() - si le gps est activé , on s’abonne.

OnProviderDisabled() - si le gps est désactivé, on se désabonne.

OnLocationChanged() - on affiche dans un message la nouvelle localisation ( longitude et latitude).

Le programme demande au démarrage si le GPS est disponible, ensuite on s’y abonne et nous pouvons récupérer les données.


Smartphone1.png

La classe ClientUDP:

Nous avons combiné la partie récupération des données GPS avec l’envoi des données au serveur. Pour cela nous créons un paquet contenant :

-le message que le serveur souhaite recevoir

-la taille du message

-l’adresse

-le port

Celui-ci sera ensuite envoyé au serveur. A chaque appui du bouton, on actualise puis on envoie les données GPS au serveur.


Smartphone2.png

La classe BluetoothLE:

Pour concevoir cette partie, nous nous sommes tout d’abord intéressé à la partie Bluetooth classique, nous avons fait un programme permettant d’activer le Bluetooth, de repérer les dispositifs environnant disponible afin d’avoir la possibilité de se connecter.

La Lilypad Simblee est utilisé en Bluetooth Low Energy ( Bluetooth 4.0) qui utilise très peu d’énergie pour fonctionner. Nous avons donc fait un programme permettant de :

-Scanner les dispositifs environnant en vérifiant que ceux-ci supportent le BluetoothLE.

-Une fois la Lilypad repérer, nous nous connectons à celle-ci.

-Ensuite nous faisons une lecture des données envoyées par la Lilypad

Pour effectuer la lecture, nous procédons par construire un GATT qui permet à deux dispositifs BLE de transférer des données en appelant des services et des caractéristiques en utilisant des ID de 16 bits ( Universal Unique Identifier).

Afin de lire correctement la Lilypad, nous avons utilisé les UUID suivants :

-Service : 0000fe84-0000-1000-8000-00805f9b34fb

-Caractéristiques : 2d30c082-f39f-4ce6-923f-3484ea480596

Smartphone3.png

Nous pouvons voir ci-dessus que notre Simblee a bien été trouvée, une fois connecté, nous pouvons utiliser les fonctions “Read” et “Send Data”.

Le programme récupère bien les informations de la Lilypad tout en permettant d’envoyer les données sur le serveur.

Nous pouvons voir ci-dessous les coordonnées du GPS ainsi que les données envoyés par la Lilypad. Ici, un « espace » ainsi que la lettre « T » ont bien été envoyés.

Smartphone4.png

b) Partie Lilypad Simblee  :

Conception du programme de la Lilypad:

Cette partie permet d’utiliser la Lilypad Simblee Ble pour envoyer les données que l’on souhaite au smartphone. Pour cela, nous utilisons le logiciel Arduino IDE pour pouvoir récupérer le signal du bouton poussoir et l’envoyer par bluetooth avec la fonction "Simbleeble.send". Une fois que le bouton poussoir est enclenché, le programme envoi la donnée au mobile. Nous utilisons ici la librairie Simbleeble.h.

Ci-dessous nous pouvons vérifier si la connexion entre le smartphone et la Lilypad s’est bien effectuée en affichant dans le terminal de l’Arduino si une connexion et une déconnexion est faite.

Smartphone5.png

Une fois la Lilypad connectée au Smartphone, nous pouvons envoyer différents types de données à l’aide de boutons poussoirs. Le coureur aura par exemple le choix entre :

-ne rien envoyer

-envoyer un état de fatigue (caractère « F » envoyé)

-envoyer un problème technique (caractère « T » envoyé)

-prévenir que le coureur est blessé ( caractère “B” envoyé)



Conception de la carte électronique de la Lilypad:

Une fois le programme effectué, nous décidons de créer une carte électronique pour que le coureur puisse avoir accès sans encombrement aux 3 boutons poussoirs avec les résistances et condensateurs nécessaires, ainsi que la batterie pour que le tout puisse être porté au bras.

Smartphone6.png

Le circuit est donc assemblé avec la Lilypad et fonctionne en toute autonomie grâce à la batterie externe. La lilypad a une consommation en moyenne de 10mA ( réception,transmission et appui des boutons poussoirs) et donc avec une batterie d’une capacité de 2200mah, nous pouvons obtenir une autonomie de 220 heures.

L’idée était de faire tenir la carte électronique dans la main de l’utilisateur pour plus de comfort. Malheureusement, la carte électronique prenait trop de place.

Nous avons alors pensé à faire une carte plus accessible.

Finalisation du Tracker Smartphone :

Pour conclure la partie Tracker Smartphone, le coureur peut utiliser le programme sur son smartphone pour :

-faire une recherche et se connecter à la Lilypad.

-activer la récupération de données de la Lilypad pour que celle-ci puisse envoyer les informations souhaitées à l’aide des boutons poussoirs.

-le programme du Smartphone envoi ensuite les coordonnées GPS ainsi que les informations de la Lilypad sur le serveur toutes les secondes avec le bouton “Start”.

Ci-dessous le test de l’application final:

Smartphone7.png

Conception du projet " Tracker LoRa "

Test du module gps avec l’arduino Uno

Une fois les composants récupérer, nous avons décidés d’essayer le module GPS en utilisant les pins principales puis en les câblant sur l’arduino directement. Pour vérifier son fonctionnement, nous avons utilisé un programme permettant de récupérer les données GPS. Malheureusement, cette utilisation était trop tôt pour réellement vérifier comment fonctionne le module, nous avons donc décidé par la suite de créer des cartes électroniques de test pour chacun d’eux pour que leur utilisation soit plus simplifier.

L’élaboration des cartes électroniques de test

Nous avons décidé de concevoir 3 cartes électroniques afin de tester chaque module. Au lieu de rooter une carte global nous avons décidé de créer un PCB pour chacun des modules LoRa et une pour le module GPS. La raison de ce choix fut très simple, au début du projet nous ne possédions pas les compétences suffisantes pour réaliser une carte PCB qui serait alors, composé d’un module LoRa et d’un module GPS communiquant tous deux à une Atmega328p programmable par ISP et d’une batterie Lithium à ion rechargeable. Chaque carte électronique est une carte de prototypage, c’est pour cela que nous utilisons une Arduino Uno. Nous avons fais ressortir toutes les pins importantes, VCC , GND, Tx, Rx ainsi que le Reset de chacun des composants.

Première carte électronique : Le module LoRa RN2483.

Rn2483board.png Rn2483schematic.png

Deuxième carte électronique : le module GPS A2200-A.


Gpsboard.png Gpsschematic.png


Une fois les schématics et les boards conçus, nous pouvons dès à présent prendre rendez-vous pour la fabrication.

Implémentation du module GPS A2200-A avec la Arduino Uno :

Ci-dessous le montage utilisé pour réaliser les tests ( ne pas prendre en compte le MAX809 ) :

Lora1.png

Une fois la carte réalisée, il nous faut trouver la longueur des antennes, le GPS possède 2 antennes ANT_GND et ANT_IN, elles doivent être de la même longueur et être positionnées sur le même plan tout en étant parallèle l’une de l’autre.

D’après le calcul de la longueur :

Lora2.png

Nous obtenons une longueur d’onde de 19.0476 cm on choisit une longueur d’antenne λ/2 soit 9.5238 cm. Le montage ci dessus permet un démarrage automatique du GPS grâce à la liaison entre les pins ON_OFF et WAKEUP. On peut choisir différent mode pour le gps en envoyant des impulsions de 200 ms sur la pin ON_OFF, elle possède 3 modes :

Hibernate Mode : mode basse consommation de 20 uA.

Push-to-Fix : est un mode développé pour les applications ayant pour but de transmettre des position non fréquemment. Le récepteur reste généralement en basse consommation pendant 2 heures mais se réveille périodiquement pour mettre à jour sa position, temps et les données éphémère et RTC calibration.

SiRFaware : Recherche à maintenir un niveau d’incertitude en position, temps et fréquence et permet de maintenir le courant valide Ephemeris utiliser pour la réception des données transmise par les satellites en vue.

Notre Gps utilise le protocole NMEA : The National Marine Electronics Association a développé une norme qui est une interface pour les équipements électroniques de la marine. Ce standard permet d'envoyer des informations aux ordinateurs et à d'autres équipements de la marine, on le nomme le protocole NMEA.


Le protocole NMEA possède plusieurs trame possible, notre GPS utilise les trames suivantes :

GGA : Donne notre position dans l'espace 3D.

GSV : Montre les satellites en vue et affiche l'information sur le satellite capable de trouver notre position en utilisant son masque de vue et la donnée almanac. Il peut également affiché l'habileté à suivre la donnée.

GSA : La précision du GPS DOP (Dillution Of Precision) et les satellites actifs.

RMC : NMEA a sa propre version sur la position, la vélocité et le temps, le sigle RMC signifie "The Recommended Minimum sentence C"

voici les exemples de trames que nous transmet le GPS :

Lora3.png

Nous utilisons les trames GGA et récupérons les données suivantes :

Lora4.png

Pour récupérer les données satellites du GPS nous devons lire la pin “Rx” de l'Arduino.

Implémentation du module LoRa RN2483 avec la Arduino Uno :

Afin de prototyper notre antenne Lora nous utilisons une carte arduino muni d’une Atmega328p, ce qui nous permet d’utiliser directement l’IDE de développement Arduino et de profiter de leurs librairies.

A la manière du module GPS, il faut calculer la longueur de l’antenne pour la LoRa. Nous obtenons une longueur d’antenne λ/4 de 8.6906 cm.

Tout d’abord le module LoRa RN2483 fonctionne par envoie de commandes spécifiques car il nous faut bien-sûr synchroniser la partie émission et réception.

Voici la commande pour connaître la version du module LoRa R2483 : “sys get ver".

On doit bien sûr synchroniser les 2 modules ensemble en choisissant la bonne fréquence parmi celles imposées "radio set freq 868100000" puis choisir la puissance du signal "radio set pwr 14".

Le module renverra une réponse comme “ok”, “busy” ou “invalid_command”.

Une fois la LoRa initialisée il suffit d’utiliser la commande "radio tx message" pour envoyer nos données, mais il ne faut pas oublier que le message doit-être transmis en hexadécimal car la LoRa ne peut envoyer les caractère de 0 à 9 et A à F.

Voici la trame type que nous envoyons : 0004A30B001BE76,162344,5036.4552,00308.165

0004A30B001BE76 : correspond à l’identifiant constructeur de la LoRa

162344 : l’heure, ici 16 heures 23 minutes et 44 seconds 5036.4552 : la latitude soit 50°Nord ‘36.4552 00308.165 : la longitude soit 3°Est ‘8.165

Voici à quoi ressemble la trame plus haut une fois codé en hexadécimal :

“3030303441333042303031424537362C3136323334342C353033362E343535322C30303330382E313635”

Une fois la trame convertit en hexadécimal celle-ci est envoyé au module LoRa pour être transmis au module LoRa de la raspberry Pi, grâce à la commande "radio rx 0" qui signifie que le module écoute sur le channel 0 continuellement, si celui-ci reçoit le message plus haut la réponse sera : “radio_rx message_reçu”.

Implémentation du module LoRa RN2483 avec la Raspberry pi :

Le but de cette partie est de recevoir les données codées en hexadécimal correspondant aux informations sur les coordonnées GPS transmisent par le module LoRa de la Arduino. La partie programmation de la raspberry pi est réalisé en Python pour des raisons de simplicité.

Liste du matériel

Partie AUTONOME :

Matériel Quantité Prix à l'unité Prix Total URL
atmega 328 2 3,40 € 6,80 € http://fr.farnell.com/atmel/atmega328p-pu/micro-8-bits-avr-32k-flash-28pdip/dp/1715487?ost=atmega328P-PU&selectedCategoryId=&categoryNameResp=Toutes%2Bles%2Bcat%25C3%25A9gories&searchView=table&iscrfnonsku=false
socle atmega 2 0.5€ 1€ http://fr.farnell.com/amphenol-fci/dilb28p-223tlf/dip-socket-28-position-through/dp/1824463
batterie externe 2 15,99 € 31,98 € http://fr.rs-online.com/web/p/batteries-externes/7757504/
regulateur 3.3 3 1,13 € 3,39 € http://fr.farnell.com/microchip/mcp1603t-330i-os/regulateur-synch-buck-0-5a-cms/dp/1439373
connecteur USB 3 0,925 € 2,775 € http://fr.farnell.com/lumberg/2410-01/embase-usb-2-0-type-a-traversant/dp/1177882
module Lora 868Mhz 2 15,49 € 30,98 € http://www.mouser.fr/ProductDetail/Microchip-Technology/RN2483-I-RM101/?qs=sGAEpiMZZMuIes%252bYBRf57dlYnkNj4D0pRydk8dY%2fbHDn3fr8fn5TeA%3d%3d
GPS 1 15,63 € 15,63 € http://www.mouser.fr/ProductDetail/Maestro-Wireless-Solutions/A2200-A/?qs=sGAEpiMZZMsjLMBIknjmktYVBsqsIotyqEY%252bXiYuHqE%3d
Raspberry PI 1 31,41 € 31,41 € http://fr.farnell.com/raspberry-pi/raspberrypi-modb-1gb/raspberry-pi-3-model-b/dp/2525225
Quartz 8MHZ 3 0,487 € 1,461 € http://fr.farnell.com/txc/9c-8-000maaj-t/xtal-8-000mhz-18pf-smd-hc-49s/dp/1842346
Quartz 16MHZ 3 0,484 € 1,452 € http://fr.farnell.com/txc/9c-16-000maaj-t/xtal-16-000mhz-18pf-smd-hc-49s/dp/1842293

Partie MOBILE :

Matériel Quantité Prix à l'unité Prix Total URL
LilyPad Simblee BLE 1 22,58 € 22,58 € http://www.mouser.fr/ProductDetail/SparkFun-Electronics/DEV-13633/?qs=%2fha2pyFaduivFiKNeoumVrP%252bozcV8X097rT5fR5N0tbggzu4uSNC%2fbDzZrk6cE%252bp

Suivi de l'avancement

Semaine 1 (19/09) cahier des charges + planning prévisionnel
Semaine 2 (26/09) cahier des charges + planning prévisionnel
Semaine 3 (03/10) Architecture du projet et conception des schémas de la partie autonome et mobile
Semaine 4 (10/10) Architecture du projet et conception des schémas de la partie autonome et mobil
Semaine 5 (17/10) Utilisation de l'Arduino Uno pour préparer les futurs tests, Architecture du site web et du serveur web
Semaine 6 (24/10) Recherche sur la conception d'une carte électronique avec le module LoRa, Choix des technologies et mise en place du design du site web + BDD
Semaine 7 (7/11) Recherche sur la conception d'une carte électronique avec le module GPS , Mise en place du serveur "maison" + choix des technologies et apprentissage
Semaine 8 (14/11) Récupération du matériel, essai du module GPS avec un simple montage à l'aide de l'Arduino Uno, apprentissage Javascript/PHP/HTML5/CSS
Semaine 9(21/11) Conception des cartes électroniques sur Eagle ( LoRa / GPS / Régulation ), apprentissage Javascript/PHP/HTML5/CSS + NodeJS
Semaine 10 (28/11) Utilisation d'Android Studio pour récupérer les données GPS d'un téléphone, site Web + serveur
Semaine 11 et 12 (5/12) (12/12) Conception du serveur et mis au point de la partie bluetooth pour l'application android, site Web + serveur
Semaine 13 et 14 (19/12) (26/12) Recherche de solutions aux problèmes concernant la réception des données de la Lilypad, site Web + serveur
Semaine 15 et 16 (2/1) (9/1) Recherche de solutions aux problèmes concernant la réception des données de la Lilypad, site Web + serveur
Semaine 17 (16/1) Envoi des données de la Lilypad avec Arduino IDE, serveur nodeJS + site web
Semaine 18 (23/1) Assembler tous les programmes de la partie Smartphone, serveur nodeJS + site web
Semaine 19 (30/1) Récupération des cartes électronique de la LoRa et conception de la carte électronique de la partie Smartphone
Semaine 20 (6/2) Conception des cartes LoRa et test de communication entre les deux modules, Conception de la carte GPS
Semaine 21 (13/2) Test du module GPS (récupération de la longitude et latitude), Assemblage et programmation Atmega328P+LoRa+GPS, Programmation de la réception RaspberryPi+LoRa.