Difference between revisions of "Projets-2016-2017-GrenobloisFute"

From air
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
=Project presentation=
   
  +
=Team=
= Présentation du projet =
 
   
  +
* Supervisor : Nicolas Palix
[[Ruche connectée LoRa]] : Mise en place et accès à plusieurs capteurs sur une ruche placée sur un toit d'immeuble pour pouvoir récupérer des données à distance grâce à la technologies LoRa.
 
  +
* Members : GUERRY Lucas/ VIAL-GRELIER Aymeric
Le but étant de ne pas avoir à se rendre physiquement à coté de la ruche (Avantages : Pas ouvrir la ruche en hiver, pas se rendre sur place, facilité d'analyse, pas "déranger" les abeilles...).
 
  +
* Department : RICM4
   
  +
=Links=
Capteurs placés dans la ruche :
 
  +
*Github : https://github.com/Gr05/Osmand
* Poids
 
* Température
 
   
  +
=Progress of the project=
Cela permet à l'apiculteur de savoir quand se rendre sur place pour collecter le miel, et gérer la santé de l'essaim.
 
  +
==''Week 1 (January 9th - January 15th)''==
  +
Choice of the subject
   
  +
==''Week 2 (January 16th - January 22th)''==
Une carte LoRa et une carte * sont utilisées pour gérer l'envoi des données, l'apiculteur ayant simplement besoin de lancer une requête pour récupérer les données.
 
   
  +
*Research of the source code on GitHub because the project of the previous students isn't up to date.
   
  +
*Fork of the git project
= Équipe =
 
   
  +
*Try building application on both computer.
LESAGE Lucas et MOREAU Gwenaël
 
   
  +
==''Week 3 (January 23th - January 29th)''==
Superviseurs : Mrs PALIX Nicolas et RICHARD Olivier
 
   
  +
*The project doesn't build on one on the two computers so trying to understand why :
  +
**Downloading differents JDK and SDK
  +
**Reading documentation of OsmAnd
  +
**Setting up environnement.
  +
**Contacting OsmAnb by email to get more information.
   
  +
==''Week 4 (January 30th - February 5th)''==
= Progression et statut =
 
  +
*Finally manage build on both computer.
  +
*Begin to look at source code and where and how pluggin is implemented (with help of previous group on this project)
   
== Semaine 1 (9 Janvier - 15 Janvier) ==
+
==''Week 5 (February 6th - February 12th)''==
  +
*Begin to work on the Parser.
  +
*First implementation with add of a fake pluggin based on the skiMapPluggin (and then remplacing the information and understanding how it works at the same time)
  +
*Resolving merge issue.
   
  +
==''Week 6 (February 27st - March 5th)''==
*Choix et découverte du projet.
 
  +
*First implementation of a fake traficLayer based on paringPointLayer in goals of use it on our pluggin.
*Briefing sur les tâches à accomplir et les objectifs à atteindre.
 
  +
*Try tu use renderer but doesn't works.
*Distribution du matériel.
 
  +
*CI jenkins installation on private server and configuration.
   
== Semaine 2 (16 Janvier - 22 Janvier) ==
+
==''Week 7 (March 6th - March 12th)''==
  +
*Bug resolution on the renderer.
  +
*presentation mi-project.
   
  +
==''Week 8 (March 6th - March 12th)''==
*Présentation de LoRa par Mr DONSEZ Didier.
 
  +
*find out how to stroke pathes with different color and width :
*Définition des exigences du projet.
 
  +
**for a path made up of 1 line :
  +
private Paint fluidTrafficPaint;
   
  +
public void initLayer(OsmandMapTileView view) {
  +
this.view = view;
  +
dm = new DisplayMetrics();
  +
WindowManager wmgr = (WindowManager) view.getContext().getSystemService(Context.WINDOW_SERVICE);
  +
wmgr.getDefaultDisplay().getMetrics(dm);
  +
bitmapPaint = new Paint();
  +
bitmapPaint.setDither(true);
  +
bitmapPaint.setAntiAlias(true);
  +
bitmapPaint.setFilterBitmap(true);
  +
parkingNoLimitIcon = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_poi_parking_pos_no_limit);
  +
//basic paint
  +
Paint paint = new Paint();
  +
paint.setStyle(Paint.Style.STROKE);
  +
paint.setStrokeWidth(8.5f * view.getDensity());
  +
paint.setAntiAlias(true);
  +
paint.setStrokeCap(Paint.Cap.ROUND);
  +
paint.setStrokeJoin(Paint.Join.ROUND);
  +
// fluid traffic paint
  +
fluidTrafficPaint = new Paint(paint);
  +
fluidTrafficPaint.setColor(0x3F00FF00);
  +
// normal traffic paint
  +
normalTrafficPaint = new Paint(paint);
  +
normalTrafficPaint.setColor(0x3FBBFF00);
  +
// hard traffic paint
  +
hardTrafficPaint = new Paint(paint);
  +
hardTrafficPaint.setColor(0x3FFF0000);
  +
contextMenuLayer = view.getLayerByClass(ContextMenuLayer.class);
  +
}
   
  +
public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) {
== Semaine 3 (23 Janvier - 29 Janvier) ==
 
  +
LatLon point1 = new LatLon(45.18475, 5.73635);
  +
LatLon point2 = new LatLon(45.18475, 5.73035);
  +
Path path = new Path();
  +
path.reset();
  +
double latitude1 = point1.getLatitude();
  +
double longitude1 = point1.getLongitude();
  +
double latitude2 = point2.getLatitude();
  +
double longitude2 = point2.getLongitude();
  +
float locationX1 = tileBox.getPixXFromLonNoRot(longitude1);
  +
float locationY1 = tileBox.getPixYFromLatNoRot(latitude1);
  +
float locationX2 = tileBox.getPixXFromLonNoRot(longitude2);
  +
float locationY2 = tileBox.getPixYFromLatNoRot(latitude2);
  +
path.moveTo(locationX1, locationY1);
  +
path.lineTo(locationX2, locationY2);
  +
canvas.drawPath(path , paint);
  +
}
   
  +
**for an icon :
*Découverte et tests de la carte SX1272.
 
  +
public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) {
*Mise en place du diagramme UML (à ajouter).
 
  +
Bitmap parkingIcon = parkingNoLimitIcon;
*Demande de récupération d'un balance hackée pour pouvoir nous en servir
 
  +
int marginX = parkingNoLimitIcon.getWidth() / 2;
 
  +
int marginY = parkingNoLimitIcon.getHeight() / 2;
== Semaine 4 (30 Janvier - 5 Février) ==
 
  +
canvas.rotate(-view.getRotate(), locationX1, locationY1);
  +
canvas.drawBitmap(parkingIcon, locationX1 - marginX, locationY1 - marginY, bitmapPaint);
  +
}

Latest revision as of 19:02, 14 March 2017

Project presentation

Team

  • Supervisor : Nicolas Palix
  • Members : GUERRY Lucas/ VIAL-GRELIER Aymeric
  • Department : RICM4

Links

Progress of the project

Week 1 (January 9th - January 15th)

Choice of the subject

Week 2 (January 16th - January 22th)

  • Research of the source code on GitHub because the project of the previous students isn't up to date.
  • Fork of the git project
  • Try building application on both computer.

Week 3 (January 23th - January 29th)

  • The project doesn't build on one on the two computers so trying to understand why :
    • Downloading differents JDK and SDK
    • Reading documentation of OsmAnd
    • Setting up environnement.
    • Contacting OsmAnb by email to get more information.

Week 4 (January 30th - February 5th)

  • Finally manage build on both computer.
  • Begin to look at source code and where and how pluggin is implemented (with help of previous group on this project)

Week 5 (February 6th - February 12th)

  • Begin to work on the Parser.
  • First implementation with add of a fake pluggin based on the skiMapPluggin (and then remplacing the information and understanding how it works at the same time)
  • Resolving merge issue.

Week 6 (February 27st - March 5th)

  • First implementation of a fake traficLayer based on paringPointLayer in goals of use it on our pluggin.
  • Try tu use renderer but doesn't works.
  • CI jenkins installation on private server and configuration.

Week 7 (March 6th - March 12th)

  • Bug resolution on the renderer.
  • presentation mi-project.

Week 8 (March 6th - March 12th)

  • find out how to stroke pathes with different color and width :
    • for a path made up of 1 line :
private Paint fluidTrafficPaint;
public void initLayer(OsmandMapTileView view) {
       this.view = view;
       dm = new DisplayMetrics();
       WindowManager wmgr = (WindowManager) view.getContext().getSystemService(Context.WINDOW_SERVICE);
       wmgr.getDefaultDisplay().getMetrics(dm);
       bitmapPaint = new Paint();
       bitmapPaint.setDither(true);
       bitmapPaint.setAntiAlias(true);
       bitmapPaint.setFilterBitmap(true);
       parkingNoLimitIcon = BitmapFactory.decodeResource(view.getResources(), R.drawable.map_poi_parking_pos_no_limit);
       //basic paint
       Paint paint = new Paint();
       paint.setStyle(Paint.Style.STROKE);
       paint.setStrokeWidth(8.5f * view.getDensity());
       paint.setAntiAlias(true);
       paint.setStrokeCap(Paint.Cap.ROUND);
       paint.setStrokeJoin(Paint.Join.ROUND);
       // fluid traffic paint
       fluidTrafficPaint = new Paint(paint);
       fluidTrafficPaint.setColor(0x3F00FF00);
       // normal traffic paint
       normalTrafficPaint = new Paint(paint);
       normalTrafficPaint.setColor(0x3FBBFF00);
       // hard traffic paint
       hardTrafficPaint = new Paint(paint);
       hardTrafficPaint.setColor(0x3FFF0000);
       contextMenuLayer = view.getLayerByClass(ContextMenuLayer.class);
}
public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) {
       LatLon point1 = new LatLon(45.18475, 5.73635);
       LatLon point2 = new LatLon(45.18475, 5.73035);
       Path path = new Path();
       path.reset();
       double latitude1 = point1.getLatitude();
       double longitude1 = point1.getLongitude();
       double latitude2 = point2.getLatitude();
       double longitude2 = point2.getLongitude();
       float locationX1 = tileBox.getPixXFromLonNoRot(longitude1);
       float locationY1 = tileBox.getPixYFromLatNoRot(latitude1);
       float locationX2 = tileBox.getPixXFromLonNoRot(longitude2);
       float locationY2 = tileBox.getPixYFromLatNoRot(latitude2);
       path.moveTo(locationX1, locationY1);
       path.lineTo(locationX2, locationY2);
       canvas.drawPath(path , paint);
}
    • for an icon :
public void onDraw(Canvas canvas, RotatedTileBox tileBox, DrawSettings nightMode) {
       Bitmap parkingIcon = parkingNoLimitIcon;
       int marginX = parkingNoLimitIcon.getWidth() / 2;
       int marginY = parkingNoLimitIcon.getHeight() / 2;
       canvas.rotate(-view.getRotate(), locationX1, locationY1);
       canvas.drawBitmap(parkingIcon, locationX1 - marginX, locationY1 - marginY, bitmapPaint);
}