<->

V.O. 30/08/2016
Rev 27/11/2016

Software PC Specifique serie GPS UBLOX
Test GPS Ublox NEO-6M avec Clicker2 PIC18F87J50
Test GPS Ublox N7 avec clicker2 PIC18F87J50
Test Partie COMPAS du UBLOX 7N
Stockage datas Clicker2 18F87J50 GPS 7N sur Eeprom 1Mbits
Tracker GPS Survivor 18F87J50 3,3V!
Option Sortie via BlueTooth sur client BT
Application Android pour affichage GPS Ublox 7N via BlueTooth

Test MikroC NMEA lib for 18F




Software Constructeur GPS U-BLOX

Le fabricant propose un logiciel PC : U-CENTER
permettant de tester facilement le module GPS.
Il suffit d'utiliser un cordon Prolific LTTL/USB PL2303 pour relier l'UART GPS et l'alim 5V... au PC , via USB
voir connectique sur l'image au dessus.
On declare et ouvre alors le port Virtuel (USB) correspondant avec vitesse = 9600 bds,valeur par defaut
On doit immedaitement obtenir les trames GPS dans la vue Text Console
Puis l'heure UTC et ensuite les valeurs LONG,LAT, ... visu des satellites utilisés ... apres quelques minutes, au premier demarrage

images/U-Center_GPS_NEO_6M_via_PL2303.gif

Ce GPS fonctionne en 5V ou 3,3V .

Modif de la configuration GPS NEO-6M:

Je ne veux recuyperer que la trame GPGGA qui contient l'essentiel des donnés
UTC heure, Longitude,Latitude,Altitude, Nombre de satellites vus, Drapeau de validité
Vitesse modifiée 9600 (par defaut) -> 19200 bds
Choix de Messages NMEA : GPGGA only !
Frequence de refarichissement message : 4 sec (1sec ou 1 Hz par defaut)
Pour l'instant la pulse de sortie 1Hz n'est pas exploitée.. mais dispo sur PIN NEO-6M.

images/t_U_Center_Modif_Config_160827.gif

La Trame GPGGA


A noter le codage assez particulier de LONG et LAT
Les 2 premiers digits representent les degres
Le reste represente les dixmilliemes de degres!
Les donnees LON et LAT doivent etres corrigées pour avoir des Degres + fraction de dregres





Tests GPS Ublox NEO-6M V 2.23 avec Clicker2 18F87J50

HARDWARE :

Module GPS U-Blox NEO_6M V2.23



Rappel sur le materiel Carte clicker2
ICI
Specificité Hardware
de cette carte : E/S déja affectées

Inter-liaisons modules

Entre MCU PIC <-> PC , et PIC <-> GPS


images/t_GPS_NEO-6_Interconnexions.gif


Software coté PIC

Les 2 BP de la carte clicker2 et l''entree Ana RA1 .. sont acquis
L'UART1 Hardw. est utilisé en Espion / Debugging
L'UART2 Hardw. dialogue avec le GPS, reception en mode Interruption
Un LCD2119 2x16car dialogue en I2C avec le PIC et affiche les donnes LON,LAT,ALT et les mesures PIC.
LePIC18F87J50 du Clicker2 contient un bootloader USB .. chargement du programme en quelques secondes !
La liaison HID Terminal via USB peut etre aussi utilisée.!
L'element important est la récuperation des élements individuels composant la trame GPGGA
le séparateur déléement étant la virgule .
Un test Machine d'état ( State Machine) est utilisé ici, mais en différé sur le contenu du buffer de reception.
une fois enregistré par la detection fin de trame =CR LF
et non pas à chaque octet reçu ..
Puis les coordonnees LONgitude et LATtitude sont transformées en Degres decimaux



Pourrait mieux faire ? .. Oui , MAIS
On a de la place et du temps, pour faire cela tranquillement .. le plus explicitement
Le nombre de satellites utilisées est un indice de qualité,
De meme que l'etat FIX
Sur le LCD on affiche alternativement:
sur la 1ere ligne : l'etat des 2 BP et EA0,
sur la 2 em ligne :Attente GPS DATA
ou
sur la 1ere ligne : Altitude en me
sur la 2 em ligne : Heure UTC
pendant 1,8sec puis
sur la 1ere ligne : la LONgitude E ou W
sur la 2 em ligne :la LATitude N ou S

.C'est suffisant dans un premier temps, ce LCD I2C consommant tres peu
.. par la suite je mettrai peut etre un Nokia 3310 8 lignes de 16 cars!
un afficheur 4x20 car consommerait trop. (tout du moins,celui que je possede)


Résultat sur ecran terminal :

Hardware:
Clicker2 18F87J50 Survivor + GPS-COMPS UBox 7N
Directory : C:_MikroC_MesProjets_MikroC_18F87J50_GPS
Source MikroC Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD_HID__160831.c
FOSC=8Mhz interne x PLL => 48Mhz
Liaison PIC <-> PC:
UART1 38400,8,N,1 Clicker2 Mikrobus#2 RC6,RC7 <- PL2303 - >terminal VBRAY
Liaison Module GPS UBLOX 7N:
UART2 19200,8,N,1 Clicker2 MikroBus#1 RG1,RG2 <-> GPS UBLOX 7N
Decode Trame NMEA GPGGA
Init I2C2 Hardware 400Khz
Check presence LCD2119 at @ 0x74
Check Device @ 116 on I2C2 HARDW found OK

Init LCD 2119 2x16

Test duree Timer3 initialisé à 100x40mS ,soit 4sec

*

#
Init ADC1
Arme IT UART1 & UART2
BP1=1 ;BP2=1 ; EA1= 630
Utc: 17H05M43S Lon : 5.038733 N Lat : 45.845398 E Alt : 195.2 Satel: 09 HDOP : 1.38 Fix: 2
BP1=1 ;BP2=1 ; EA1= 630
BP1=1 ;BP2=1 ; EA1= 630
BP1=1 ;BP2=1 ; EA1= 630
Utc: 17H05M49S Lon : 5.038733 N Lat : 45.845398 E Alt : 195.1 Satel: 09 HDOP : 1.02 Fix: 2
BP1=1 ;BP2=1 ; EA1= 630
BP1=1 ;BP2=1 ; EA1= 630
BP1=1 ;BP2=1 ; EA1= 630


Projet MikroC :

Clicker2_18F87J50_GPS_NEO-6M_LCD2119_1608.zip



Tests GPS Ublox NEO-6M V 2.23 avec GSM2-Click
sur carte Clicker2 18F87J50


Le TRACKER acheté comme étant une seconde source du TK102-2
ne réponds à aucune commande ... ??? peut etre code modifié lors des essais avec fournseeur GEOTRace WEB serverus ??
Je me relance donc sur un tracker GPS -GSM made by me.
Là au moins je maitrise (tant que peu) la situation:
J'envoie une requete de lecture position : GPS Data?
et je recois en retour la position actuelle GPS ..
La partie stockage sur EEprom est accessoire ici...mais possible ,puis que deja testée OK.


HARDWARE :

Module GPS U-Blox NEO_6M V2.23

Dimensions : format cube de 25x30x8 mm hors pins connections
Alim GPS Pin 1 <----------- fil Rouge +3,3V
Alim GPS Pin 2 <----------- fil noir 0V Gnd
GPS TX Pin 3 ------------> fil Vert --> RC7 UART1 PIC
GPS RX Pin 4 <-------- Non connecté ..mais put etre utilisé avec U-center
GPS Pin 5 -------------> sorie 1Hz, non connectée


Version Clicker2 PIC18F87J50 avec
Alim +5V et Battery 3,7V LiIon 3700mAH
GSM2-Click sur UART#2 19200 bauds Mikrobus#1
GPS NEO-6M sur UART1 19200 bauds mikrobus#2 (envoi trames cadencé à 6 sec)
LCD2119 sur I2C1 mikrobus #2voir détails au dessus.
MCP23017 Expendeur I/O sur bus I2C1 à 400Khz (mikrobus#2)
EEprom 24FC1026 1Mbit 128Kbytes sur bus I2C1

.Dans cette version, l'envoi des trames GPS $GPGGA et $GPRMC sont cadencées à 6000mS ( 6sec).
de sorte à avoir suffisamment de temps pour voir les infos, en local,sur un LCD 2119 I2C 2x16 cars
celles ci etant presentées sequentiellement pendant 1,5sec chacune => 3x1,5=> 4,5sec ecoulées

Synchro main boucle sur reception UART1 GPS à 6 sec ou sur timeOut Timer0 à 8 sec
Affichage #1 sur LCD
- Temperature et indice K2
- ST=1 DI=1 SO=0
Affichage #2
-Altitude : 191,03m
-LTC : 14:13:37
Affichage #3
- Long: 5.038815 N
- Lat : 45.845441 E


SOFTWARE :


version avec GPS Ublox NEO-6M
GPS Ublox NEO-6M (format cube de 25x30x8 mm hors pins connections )
Alim GPS Pin 1 <----------- fil Rouge +3,3V
Alim GPS Pin 2 <----------- fil noir 0V Gnd
GPS TX Pin 3 ------------> fil Vert --> RC7 UART1 PIC
GPS RX Pin 4 <--- Non connecté ..mais peut etre utilisé avec U-center
GPS Pin 5 ------------> sorie 1Hz, non connectée

Liaison espion GPS-GSM2 au PC
GPS Pin 3 TX fil vert ------------> UART1 RX RC7 fil vert
PC fil vert PL2303 <------------ UART1 TX RC6 fil blanc

Pour Liaison Directe GPS NEO-6M <--> PC U-Center software
PC fil vert PL2303 .-------->> GPS Rx Pin 4
PC fil Blanc PL2303 .<<------. GPS Tx Pin 3
PC fil Noir PL2303 --------- Gnd 0V GPS Pin2


Directory: C:\_MikroC\_MesProjets_MikroC\_18F87J50_GSM2_NEO-6M
Projet: 18F87J50_GSM2_GPS_Ublox_NEO-6M_UART2_UART1_LCD_I2C1_MCP23017_WOE_2016.mcppi
Source : 18F87J50_GSM2_GPS_NEO-6M_UART2_UART1_LCD_I2C1_WOE_w_h_161016.c_161019.c
UART1 19200,8,N,1 RX <-- GPS NEO_6M et TX ->Display terminal
Envoi Trames GPS toutes les 6000mS
UART2 19200,8,N,1 pour GSM2-Click QUECTEL M95
Usage de SLEEP mode 0 et 2 ,via Cde ligne DTR

MikroC Pro 6.63

Projet complet zipé : 18F87J50_GSM2_GPS_NEO-6M_UART2_UART1_LCD_I2C1_WOE_w_h_161017.zip
Source : 18F87J50_GSM2_GPS_NEO-6M_UART2_UART1_LCD_I2C1_WOE_w_h_161019.c
Chargeur: 18F87J50_GSM2_GPS_Ublox_NEO-6M_UART2_UART1_LCD_I2C1_MCP23017_WOE_161019.hex


Resultat :

Directory: C:\_MikroC\_MesProjets_MikroC\_18F87J50_GSM2_NEO-6M
Projet: 18F87J50_GSM2_GPS_Ublox_NEO-6M_UART2_UART1_LCD_I2C1_MCP23017_WOE_2016.mcppi
Source : 18F87J50_GSM2_GPS_NEO-6M_UART2_UART1_LCD_I2C1_WOE_w_h_161016.c_161019.c
UART1 19200,8,N,1 RX <-- GPS NEO_6M et TX ->Display terminal
Envoi Trames GPS toutes les 6000mS
UART2 19200,8,N,1 pour GSM2-Click QUECTEL M95
Usage de SLEEP mode 0 et 2 ,via Cde ligne DTR
FOSC = 48000
Phones Numbers :
"+33621123456"
"+33615432100"

ADC Init
Init I2C1 400Khz
1ere Lecture ADC RA1 et ADC RA2 : 2 71
Verifier la présence de resistances Pull UP sur SCL et SDA
Check presence LCD2119 at @ 0x74
Check Device @ 116 on I2C1 HARDW found OK
Init Display LCD
Nb de pas Init LCD = 7 / 7
Check MCP23017 8E 8S en I2C
Check Device @ 64 on I2C1 HARDW is not found
Check presence 24FC1026
Check Device @ 160 on I2C1 HARDW is not found
EEprom 24FC1026 non detecté à @ 0xA4
Power Init sur le module GSM2-click
Arme RX IT UART2 ..
Negoce baud rate
AT
OK

Call Ready
Negoce reussi

Check PIN code(AT+CPIN?)
AT+CPIN?
+CPIN: READY
OK
Step: 1
Query the status of SIM card lock, 0-unlock (AT+CLCK="SC",2
AT+CLCK="SC",2
+CLCK: 0
OK
Step: 2
Status Network registration (AT+CREG?)
AT+CREG?
+CREG: 0,5
OK

+QNITZ: "16/10/19,09:38:52+08,0"
Step: 3
Lecture de date et heure (AT+CCLK?)
AT+CCLK?
+CCLK: "16/10/19,09:38:53+08"
OK
Step: 4
+CCLK: "16/10/19,09:38:53+08"
OK

HDecal= 2
List all UNREAD msg from inbox (AT+CMGL=REC UNREAD)
AT+CMGL="REC UNREAD"
OK
Step: 5
Phase d'init en 5 pas/5.. OK

Constitution du SMS à envoyer

Arme RX IT UART1 ..
0 EA1= 2; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0

Waiting info GPS .. 5

Date: 19/10/16 Heure : 11:39:07 Lon : 5.038699 N Lat : 45.845403 E Alt : 184.9 Satel: 09 HDOP : 1.08 Fix: 1
1 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0

Waiting info GPS .. 17

Date: 19/10/16 Heure : 11:39:13 Lon : 5.038733 N Lat : 45.845403 E Alt : 189.2 Satel: 08 HDOP : 1.15 Fix: 1
2 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:19 Lon : 5.038749 N Lat : 45.845384 E Alt : 189.3 Satel: 09 HDOP : 1.19 Fix: 1
3 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:25 Lon : 5.038749 N Lat : 45.845384 E Alt : 190.8 Satel: 09 HDOP : 1.15 Fix: 1
4 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:31 Lon : 5.038749 N Lat : 45.845398 E Alt : 192.6 Satel: 10 HDOP : 1.08 Fix: 1
5 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:37 Lon : 5.038749 N Lat : 45.845384 E Alt : 192.3 Satel: 10 HDOP : 1.08 Fix: 1
6 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:43 Lon : 5.038765 N Lat : 45.845384 E Alt : 191.0 Satel: 09 HDOP : 0.88 Fix: 1
7 EA1= 1; EA2 Now= 64;Waiting filtering ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:49 Lon : 5.038765 N Lat : 45.845379 E Alt : 190.8 Satel: 09 HDOP : 0.88 Fix: 1
8 EA1= 1; EA2 Now= 64;TempF= 20.62deg ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:39:55 Lon : 5.038782 N Lat : 45.845365 E Alt : 191.6 Satel: 09 HDOP : 0.88 Fix: 1
9 EA1= 2; EA2 Now= 64;TempF= 20.62deg ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Date: 19/10/16 Heure : 11:40:01 Lon : 5.038782 N Lat : 45.845365 E Alt : 192.1 Satel: 10 HDOP : 0.86 Fix: 1

et une requete SMS :

Date: 18/10/16 Heure : 17:47:51 Lon : 5.038798 N Lat : 45.845403 E Alt : 200.2 Satel: 07 HDOP : 1.26 Fix: 1
28 EA1= 1; EA2 Now= 67;TempF= 21.51deg ; No MCP23017;BP1=1; BP2=1; LD1=0; LD2=0;Dialog=1; SOM=0; STAT=1; DTR=0
Read message NON LUS (AT+CMGL="REC UNREAD")
+CMTI: "SM",1
AT+CMGL="REC UNREAD"
+CMGL: 1,"REC UNREAD","+33621123456","","2016/10/18 17:47:53+08"
Cde Led1 On
OK
Retour d'ordre cde Leds
Contenu du SMS à envoyer
Retour Led1=1 Led2=0
Compose Numero AT+CMGS="+33621123456"
Pret pour envoi Msg Tx
Envoi SMS OK :
+CMGS: 109
OK
Efface tous les SMS reçus (AT+QMGDA="DEL INBOX")
AT+QMGDA="DEL INBOX"
OK





Tests partie GPS du Ublox 7N
avec Clicker2 18F87J50 alimenté en 5V

HARDWARE :

Module GPS-COMPASS U-Blox 7N

GPS_Rond_summary_data.jpg
Le module GPS comporte une LED BLEUE : presence alimentation
et une LED VERTE clignotatnte si le FIX , Nb de satellites vus est OK pour les donnees de position.

images/t_GPS_COMPAS_Branchement.gif

Liaison Directe au PC via cordon Prolific PL2303


Via programme UBLOX U-CENTER

images/t_U-Center_GPS_Rond_Noir_Ublox_7N_via_PL2303.gif


Project:

images/Clicker2_18F87J50_GPS_N7_Project.gif



SOFTWARE :


MikroC Pro V 6.6.3
Version preliminaire :
projet zippé
:Mikroc_GPS_Ublox_N7_2016.zip
Chargeur : Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD2119_1609.hex


En cours, détails à regler :
Traitement de l'heure LOCALE ( fuseau horaire + horaire d'été)
La tramme GPGGA ne contient pas l'info de fuseau horaire
Bug sur detection trame GPGGA, il semblerait que la config GPGGA trame seule ne soit pas memorisée dans le GPS ..
bien que le changement de vitesse 19200 bds ait été pris en compte ..
car je constate que j'ai plusieurs lignes avec BP1=....en moins de 2 sec entre 2 affichages de la trame GGA décortiquée
alors qu'avec le test suivant :
// synchro sur reception trame GPS StaradictII ou timeout
while((Elapsed_Tmr3==0) && ( UART2_DataReady==0)) ;

je ne devrais sortir de la boucle qu'au bout du timeout > 4sec ou reception de l' UNIQUE Trame GGA
Il s'avere que la config U-Center trame GGA seule n'est pas totalement sauvegardée..
et on recupere en fait toutes les trames NMEA, => sortie de boucle d'attente à chaque reception de trame


Re-configuration avec U-Center pour avoir les 2 trames RMC et GGA
et Verification , avec GPS connecté directement sur Prolific PL2303 cable -> PC
a
pres mise hors tension et sous tension du module gps

$GPGGA,093123.00,,,,,0,00,99.99,,,,,,*6C
$GPRMC,093127.00,V,,,,,,,030916,,,N*7E
$GPGGA,093127.00,,,,,0,00,99.99,,,,,,*68
$GPRMC,093131.00,A,4550.72552,N,00502.32611,E,0.042,,030916,,,A*71
$GPGGA,093131.00,4550.72552,N,00502.32611,E,1,05,1.43,190.9,M,47.3,M,,*54


Terminal log file
Date: 03/09/2016 - 11:36:47
-----------------------------------------------
11:37:01.035, $GPRMC,093655.00,A,4550.72280,N,00502.32594,E,0.011,,030916,,,A*74
11:37:01.155, $GPGGA,093655.00,4550.72280,N,00502.32594,E,1,06,1.30,197.9,M,47.3,M,,*57
11:37:05.036, $GPRMC,093659.00,A,4550.72274,N,00502.32600,E,0.038,,030916,,,A*76
11:37:05.145, $GPGGA,093659.00,4550.72274,N,00502.32600,E,1,06,1.30,198.0,M,47.3,M,,*58
11:37:09.035, $GPRMC,093703.00,A,4550.72272,N,00502.32606,E,0.045,,030916,,,A*72
11:37:09.135, $GPGGA,093703.00,4550.72272,N,00502.32606,E,1,06,1.30,197.9,M,47.3,M,,*50

-----------------------------------------------
Date: 03/09/2016 - 11:37:09
End log file

Sur le terminal, je constate bien cette fois, que la config a été Memorisée
- Vitesse=19200bs,
- sortie UART toutes les 4 sec,
- 2 trames seulement


=> Changement de strategie (ou d'algoritme) avec 2 trames consecutives:

Attendre de comptabiliser 2 interrupt , via le flage UART2_DataReady
et rajouter un aiguilage de stokage direct dans Trame_RMC et dans TRAME_GGA e respectivement
car c'est la trame RMC qui est transmise en premier
De plus ,La Trame se terminant par CR LF, il faut Enlever le caractere LF du buffer RCREG, sinon on le retouve en debut dela trame suivante.

Usage de la Date récupéree dans la trame RMC ... afin de gerer l'heure d'été ou d'hiver
Date transformée 02/09/2016 ==> LDate=160902 avec AA*10000 + MM*100 + JJ
Cette date est comparée au domaine de date horaire Hiver et Ete
dans un 1er temps uniquement sur 2016 et 2017 .. sinon preparer un tableau de date au format Long int
pour dates changement d'horaire sur quelques annees ...

code correspondant :
Utc contient l'heure UTC
LDate contient la valeur de la date recupérée avec GPRMC
Suivant le domaine de la date en cours , on arme ou pas , le drapeaux.Horaire_ete
qui ets traité pour rajouter ou pas 1Heure


LCD_Write_Text_At(1,1,CRam1);
LCD_RAZ_Ligne(2);
strConstRamCpy(CRam1," H M S ");
memcpy(HH,Utc,2);
h= atoi(HH)+1; // rajoute fuseau horaire +1
if (h>23)h=0;

// test pour horaire eté
LDate= (long) AA * 10000L + (long) MM* 100 + (long) JJ;
if ((LDate>=160327) && (LDate<161030 )) Drapeaux.Heure_Ete=1;
if ((LDate>=161030) && (LDate<1760326)) Drapeaux.Heure_Ete=0;
if ((LDate>=170326) && (LDate<171029)) Drapeaux.Heure_Ete=1;
if (Drapeaux.Heure_Ete==1) h=h +1;
if (h>23)h=0;
// à suivre une table Dates de modif horaire ete/hiver sur 10 ans dans une table de long int.

k=strlen(Utc);
ByteToStr((unsigned char)h,HH);
memcpy(CRam1,HH+1,2); // car sur 3 cars, on a besoin que de 2 cars
memcpy(CRam1+3,Utc+2,2);
memcpy(CRam1+6,Utc+4,2);
CRam1[16]=0;
LCD_Write_CText_At(2,1,"LTC: ");
LCD_Write_Text_At(2,7,CRam1);

Nota : L'Heure locale est affichée sur le LCD, l'heure UTC sur le terminal

Resultats :



Projet MikroC :

Extraction de la date Trame GPRMC:




Corps du programme :




Consommation générale sur alim 3,3V :

.Mesure avec multimetre de precision (rouge FI515X ) XXX,XX mA ..
* Clicker2 + LCD2119 + GPS : 232 à 240 mA
ça commence à faire beaucoup!
Consommation GPS N7 seul (calé sur 10 satellites):
...36.0 à 38.0mA

Projet MikroC :
Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD_HID_160902.zip
Source : Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD_HID_160903.c
Chargeur : Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD2119_1609.hex


Affichages sur le LCD2119
(liaison en I2C) 2 lignes de 16 cars .(leger retroeclairage permanent)

Modif:
pour affichage de l'heure locale au lieu de l'heure UTC sur le LCD, l'heure UTC reste affichée sur le terminal

Rajout +1H pour le fuseau horaire et eventuellemnt l'heure d'été +1H en fonction de la date en cours
(date recupére dans la trame RMC)

images/LCD_SAT_FIX.gif
images/LCD_ALTITUDE_LTC.gif
images/LCD_LONG_LAT.gif

.Le tout dedoublé en plus détaillé , sur UART1 .. si connecté sur Terminal PC via interface TTL/LUSB

Modif :
Aiguillage sur sortie Display terminal
en fonction de l'etat entrée RB2
sbit Choix_KML at PORTB.B2;
sbit Choix_KML_Direction at TRISB2_bit
RB2=0 => Mode message GPS classique
04/09/16 00H00M00S Lon : 5.038765 N Lat : 45.845375 E Alt : 201.1 Satel: 08 HDOP : 1.68 Fix: 2 RB2= 0
04/09/16 21H14M27S Lon : 5.038765 N Lat : 45.845375 E Alt : 201.3 Satel: 08 HDOP : 1.68 Fix: 2 RB2= 0
RB2=1 => Mode KML
affichage Longitude,Latitude,Altitude< espace termianetur>
5.038798,45.845384,200.2 5.038782,45.845375,201.0 5.038798,45.845365,201.0 5.038798,45.845365,200.4 5.038798,45.845355,200.2
5.038798,45.845355,200.8 5.038798,45.845355,200.5 5.038798,45.845346,200.5 5.038798,45.845346,200.4 5.038798,45.845346,200.3

BUT : Affichage des datas au format KML sur Google MAP
Rendosn à Cesar ce qui appartiens à Cesar : infos receuillies ICI (conernant des cours ADUINO !)
usage d'un Wrapper = Contener de data compatible Google MAP
exemple obtenu avec les donnees recupérées par mon GPS Ublox 7N
Les datas affichees au format KML sur le terminal display doivent etre copiées / collés
entre les balises coordinates du fichier wrapper
On sauvargede la tout au format KML... double click et le MAP Google apparait





STOCKAGE PARCOURS GPS sur
EEPROM de 1Mbit soit 128K (24LC1026) soit 131072 bytes
une trame KML fait 25 bytes dans mon cas .. restera toujours < 32 bytes
Si on utilise un tampon RAM de 128 Bytes, on peut stocker .. 4 trames modulo 32 bytes MAXI
on perd 28
et on a 1024 pages de 128 bytes .. 1024*4= 4096 Points de parcours. c'est déja pas mal
Avec une acquisition GPS à 4 sec => 4096 * 4 / 3600 => 4H30
La derniere page N° 1023, sera utilisee pour stoker la DATE et Heure de debut
et la DATE et HEURE de fin

Raccordement EEPROM :

// Hardware 24FC1026
// adresse 0x00000 à 0x1FFFF
// Pin 2 Adresse A1=0
// Pin 3 Adresse A2=0
// Adresse Soft B=0 pour 0x0000 à 0xFFFF b=1 pour 0x10000 à 0w1FFFF
// Pin 4 VSS 0V Gnd
// Pin 5 SDA I2C bus RC4
// Pin 6 SCL I2C bus RC3
// Pin 7 WP relié à VSS => Write Enable si WP=>VCC +3.3V => inhibit Write,but Read Is OK
// Pin 8 Alim VCC +3,3V


Eeprom 24FC1026 déja testé auparavant avec un 18fF6K22 :
version 18F26K22_DS1307_LCD4x20_24FC1026_UART1_20Mhz_150418.c
usage principalement 2 fonctions :

void Write_Page_To_24FC1026(unsigned int Page)
void Read_Page_From_24FC1026(unsigned int Page)

utilisant la table Page_Eeprom de 128 bytes , déclarée en global, comme Tampon de Page EEprom.

Ordinogramme Stockage datas GPS :

images/t_Store_GPS_datas_Ordinogramme_160913.gif

le fichier "Pencil" correspondant : Store_GPS_datas_Ordinogramme_160913.pe

Exemple de Listing Relevé et stockage GPS datas :GPS_Trak_160912.txt

Exemple de capture fichier KML provenant de l'ecran terminal
la ligne de données GPS ..est tronquée
et peut etre tres tres longue .. il n'y a pas de <CR> ni <LF> dans la trame DATAS GPS

images/t_Capture_Listing_KML_160912.gi

On ne peut stocker les datas GPS sur EEPROM que si le status GPFIX >0 = data GPS valides
Il faut basculer le commutateur Inter_store (RH3) sur etat 1
pour activer le stockage.
Un drapeau One Shoot est utilisé pour Memoriser le front de basculement d'interrupteur.
La date et heure de debut sont stockées en 0 et 32 de la page #1023 Eeeprom
(NumPage Initialisée à 0 , juste apres le stockage de la date et heure de debut)
La modularité 32 bytes ets conservée pour garder de la souplesse et faciliter la programmation.
Lorsqu'on a rempli la table Page_Eeprom avec 4 donnees successives GPS , suivant l'etat d'un Index Idx:
IDx , variant de 0 à 3 qui correspond à la zone de Idx <<5 => soit Idx x 32 btytes de la Page Eeprom
Quand IDx =0 , on RAZ la Page_Eeprom , pour une nouvelle serie de 4 mesures soit 4x32=128 bytes
On transfert alors le contenu de cette meémire Tampon dans la page (NumPage )en cours de l'Eeprom
Si on atteint la page 1022 , un message d'alerte est generé + 4 clignotement de Led2
jusqu'à ce qu'on rebascule le commutateur Inter_Store sur OFF
Les Datas GPS sont toujours affichees sur le LCD et sur le terminal, Ainsi que l'indice (Idx) de mesure GPS
et le Numero de PAge EEprom en cours (NumPage)
Lorsque le Parcours est terminé :
Basculer le commutateur sur OFF
La date et heure de fin sont affichées , ainsi que le dernier numero de page Eeprom.
Demande d'appui sur BP2 pour Lister le resultat.. reste en boucle
Appui sur BP2 => listing sur diplay terminal , avec entete KML, datas GPS au format KML, que du fichier KML
Demande d'appui sur BP2 pour laisser le temps de captuere la zone KML et la stocker dans un fichier xx.kml
Une fois capturé..appui sur BP2 , retourne au programme principal et continue d'afficher les données GPS...

Visu Resultat sur Google EARTH
il suffit de double clicker sur le fichier KML ainsi sauvegardé..

SOFTWARE MikroC

Source : 18F87J50_GSM2_GPS_7N_UART2_UART1_LCD_I2C_WOE_w_h_161010.c
Chargeur :18F87J50_GSM2_GPS_7N_UART2_UART1_LCD_I2C_MCP23017_WOE_2016.hex
Configuration: 18F87J50_GSM2_GPS_7N_UART2_UART1_LCD_I2C_MCP23017_WOE_2016.cfg
Projet MCPPI : Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD2119_1609.mcppi

à suivre : un test parcours à l'exterieur




Test Partie COMPAS du UBLOX GPS N7:


Hardware:

images/t_GPS_COMPAS_Branchement.gif



Clicker2 18F87J50 Survivor + GPS-COMPS UBox 7N
Directory : C:_MikroC_MesProjets_MikroC_18F87J50_GPS
Source MikroC Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD_160907.c
FOSC=8Mhz interne x PLL => 48Mhz Alim : 3,3V
Liaison PIC <-> PC:
UART1 38400,8,N,1 Clicker2 Mikrobus#2 RC6,RC7 <- PL2303 - >terminal VBRAY
Liaison PIC <-> Module GPS UBLOX 7N
UART2 19200,8,N,1 Clicker2 MikroBus#1 RG1,RG2 <-> GPS UBLOX 7N(6 Pins)UART + alim
Decodage de 2 Trames NMEA: GPGGA + GPRMC
Entree RB2 : choix affichage complet ou mode format KML pour Google Earth
avec info COMPASS sur connecteur (4 Pins) I2C2 Blanc=SDA Bleu=SCL


Init I2C2 Hardware 400Khz
Check presence COMPASS at @ 0x3C
Check Device @ 60 on I2C2 HARDW found OK
Init COMPAS
Init COMPAS terminée
Check presence LCD2119 at @ 0x74
Check Device @ 116 on I2C2 HARDW found OK

Init LCD 2119 2x16
Init ADC1
Arme IT UART1 & UART2
Compass =0.215 15 3997 3959
07/09/16 00H00M00S Lon : 5.038782 N Lat : 45.845437 E Alt : 199.8 Satel: 09 HDOP : 1.01 Fix: 2
Compass =0.214 13 3485 3444
07/09/16 18H34M39S Lon : 5.038782 N Lat : 45.845437 E Alt : 200.7 Satel: 09 HDOP : 1.01 Fix: 2
Compass =0.215 15 3997 3958
07/09/16 18H34M43S Lon : 5.038782 N Lat : 45.845437 E Alt : 201.3 Satel: 09 HDOP : 1.15 Fix: 2
Compass =0.214 13 3485 3441
07/09/16 18H34M47S Lon : 5.038782 N Lat : 45.845422 E Alt : 199.8 Satel: 09 HDOP : 1.02 Fix: 2
Compass =0.222 120 30909 30775
07/09/16 18H34M51S Lon : 5.038782 N Lat : 45.845422 E Alt : 199.1 Satel: 09 HDOP : 1.02 Fix: 2
Compass =0.224 -156 25693 25634
07/09/16 18H34M55S Lon : 5.038782 N Lat : 45.845422 E Alt : 198.5 Satel: 08 HDOP : 1.09 Fix: 2
Compass =0.222 37 9535 9709
07/09/16 18H34M59S Lon : 5.038765 N Lat : 45.845437 E Alt : 198.0 Satel: 08 HDOP : 1.09 Fix: 2
Compass =0.224 -103 -26240 -26260
07/09/16 18H35M03S Lon : 5.038765 N Lat : 45.845437 E Alt : 198.1 Satel: 09 HDOP : 1.02 Fix: 2
Compass =0.222 67 17315 17246
07/09/16 18H35M07S Lon : 5.038733 N Lat : 45.845437 E Alt : 199.4 Satel: 09 HDOP : 1.02 Fix: 2

 

SOFTWARE :

Compass




Notes : Notes_Compass_Ublox_7N.txt

MikroC :
Source : Clicker2_18F87J50_GPS_COMPAS_UBLOX_7N_LCD_EEprom1MB_160909.c

Problematique : mise à l'echelle ???








TRACKER Version GPS Ublox 7N
avec Survivor 18F87J50 en 3,3V
(fait un peu doublon avec la version Clicker2 eb alim.5V)

HARDWARE :

Module GPS-COMPASS U-Blox 7N
Carte Survivor (ex Clicker2 18F87J50 avec partie 5V craméee !)


../common/t_Clicker2_18F87J50_Survivor.gif
../common/t_Survivor_PIC18F87J50_schem.gif

L'alim de cette carte se fait donc uniquement en 3,3V

images/t_Survivor_GPS7N_24FC1026_Proto_161020.gif images/t_Survivor_Crash_Pic18F87J50.gif
Ensemble Survivor+LCD+GPS+24FC1026 +Inter

Detail Partie H.S.


Alimentation sur les 2 dernieres pin de la carte rangée de gauche (reperes +3,3 et 0V)
Il n'y a pas de module installés sur les Ports Mikrobus#1 et #2
LCD2119 sur bus I2C2
EEPROM 24FC1026 1Mbits sur breadborad , raccordée sur bus I2C2
Inverseur Store to Eepro;sur breadboard
GPS Ublox 7N sur UART2
Entree ANA EA1
Led1; LEd2,BP1 et BP2 sur la carte
Liaison PC directe via PL2303 ou via HC06 Bluettoh .. sur UART1

Consommation :
(mesurée au niveau de l'alim 5V , en Amont du module regulateur de tension YL-46 AMS117 sortie 3,3V
Problemo: Consommait > 290 mA ? anormale .. meme sans LCD ,ni GPS,ni EEprom??
quelques coups de lame de rasoir autour du LTC3586 cramé .. est c'est OK
Carte Survivor seule < 14mA
avec LCD2119 + EEPROM + GPS 7N + Liaison PC => 53 mA


Resultat sur terminal

Hardware:
Survivor (bad Clicker2) 18F87J50 + GPS UBox 7N
Directory : C:_MikroC_MesProjets_MikroC_18F87J50_GPS
Source MikroC Survivor_18F87J50_GPS_UBLOX_7N_seul_LCD_EEprom1MB_161016.c
FOSC=8Mhz interne x PLL => 48Mhz
Alim : 3,3V
Liaison PIC <-> PC:
UART1 38400,8,N,1 Clicker2 Mikrobus#2 RC6,RC7 <- PL2303 - >terminal VBRAY
Liaison PIC <-> Module GPS UBLOX 7N
UART2 19200,8,N,1 Clicker2 MikroBus#1 RX RG2 <--- GPS UBLOX 7N(6 Pins)UART + alim
Decodage de 2 Trames NMEA: GPGGA + GPRMC
Commutateur (RB1) Store_Datas sur EEprom
bouton BP2 (RH3) de la carte clicker pour valider la Capture fichier KML affiché sur display

Test FOSC ( get Fosc value) : 48000 Khz
Test FOSC (chrono 5sec sur Vbray)

*

#

Init I2C2 Hardware 400Khz
Check presence LCD2119 at @ 0x74
Check Device @ 116 on I2C2 HARDW found OK

Init LCD 2119 2x16
Init ADC1
Check presence 24FC1026 at @ 0xA4
Check Device @ 160 on I2C2 HARDW found OK
24LC1026 NumPage= 0 Idx = 0

Arme IT UART1 & UART2
Cnt3= 25
16/10/16 17H26M51S Lon : 5.038782 N Lat : 45.845398 E Alt : 191.7 Satel: 07 HDOP : 1.23 Fix: 1 Tracking=0
Cnt3= 18
16/10/16 17H26M55S Lon : 5.038782 N Lat : 45.845398 E Alt : 191.8 Satel: 07 HDOP : 1.23 Fix: 1 Tracking=0
Cnt3= 14
16/10/16 17H26M59S Lon : 5.038782 N Lat : 45.845398 E Alt : 191.2 Satel: 08 HDOP : 1.02 Fix: 1 Tracking=0
Cnt3= 14
40/.9/7, 5H27M03S Lon : 5.038798 N Lat : 45.845384 E Alt : 191.3 Satel: 08 HDOP : 1.02 Fix: 1
Tracking=0

Mise en tracking par interrupteur RB1 ou commande via Terminal "TRACK ON"


16/10/16 16H21M47S Lon : 5.038765 N Lat : 45.845384 E Alt : 201.7 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=0
TRACK ON
UART1 Recu : TRACK ON

Debut Tracking GPS
16/10/16 16H21M55S Lon : 5.038765 N Lat : 45.845384 E Alt : 202.8 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 0 Idx= 0 16/10/16 16H21M59S Lon : 5.038765 N Lat : 45.845384 E Alt : 202.6 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 0 Idx= 1 16/10/16 16H22M03S Lon : 5.038749 N Lat : 45.845379 E Alt : 203.0 Satel: 09 HDOP : 0.94 Fix: 1 Tracking=1
Page = 0 Idx= 2 16/10/16 16H22M07S Lon : 5.038749 N Lat : 45.845375 E Alt : 203.1 Satel: 09 HDOP : 0.94 Fix: 1 Tracking=1
Page = 0 Idx= 3 16/10/16 16H22M11S Lon : 5.038749 N Lat : 45.845375 E Alt : 203.6 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 1 Idx= 0 16/10/16 16H22M15S Lon : 5.038749 N Lat : 45.845365 E Alt : 204.0 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 1 Idx= 1 16/10/16 16H22M19S Lon : 5.038765 N Lat : 45.845365 E Alt : 204.5 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 1 Idx= 2 16/10/16 16H22M23S Lon : 5.038765 N Lat : 45.845365 E Alt : 204.0 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 1 Idx= 3 16/10/16 16H22M27S Lon : 5.038782 N Lat : 45.845365 E Alt : 203.9 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 2 Idx= 0 16/10/16 16H22M31S Lon : 5.038782 N Lat : 45.845365 E Alt : 203.2 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 2 Idx= 1 16/10/16 16H22M35S Lon : 5.038798 N Lat : 45.845365 E Alt : 202.8 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1
Page = 2 Idx= 2 16/10/16 16H22M39S Lon : 5.038798 N Lat : 45.845365 E Alt : 203.4 Satel: 10 HDOP : 0.87 Fix: 1 Tracking=1


ORGANISATION du Stockage

Plus de details ICI

L'EEPROM 1MBits est organisée en 2 fois 512 pages de 128 octets
1 page contient donc 4 Points GPS ( chaque point avec Longitude,Latitude et Altitude )
Chaque point ou Trame GPS occupe 32 octets (avec quelques espaces de bourrage)
IDx peut evoluer de 0 à 3 .. donc 4 relevés GPS
et Page de 0 jusqu'à 1022 , car 1024 pages de 128 octets
on peut donc avoir un maxilma de 1022x4=4088 points GPS sur une durée globale de 4088*4/3600= 4,5 Heures
Tres suffisant pour une sortie VTT !

Relevé toutes les 4 secondes via synchro avec reception GPS ( Parametre defini avec le logiciel de configuration U-Center)
En fin de parcours, l'interrupteur est mis Hors service ( ou Via Commande Terminal "TRACK OFF"
La page #1023 est reservée pour contenir la Date et Heure de debut, et la Date et Heure Finale
Le Message "Recuperer le fichier KML " est affiché sur le terminal et LCD
Un fichier au format KML est alors elabopré: (Entete + toutes les datas GPS + Final)
Attente d'appui sur BP2 pour Visualiser ce fichier sur le terminal PC
On capture ainsi ce contenu pour le stocker dans un fichier avec suffixe *.kml
Attente appui , à nouveau sur BP2 pour sortir de l'attente et revenir au debut du programme.
Nota : on peu aussi Relire le contenu de l'EEPROM !

sur le PC, il suffit de double clicker sur le fichier*.kml cree, pour afficher le parcours sur Google Earth

SOFTWARE :
Projet : Survivor_18F87J50_48MHz_GPS_UBLOX_7N_seul_LCD_EEprom1MB_BT_161031.zip
Source :Survivor_18F87J50_48MHz_GPS_UBLOX_7N_seul_LCD_EEprom1MB_161027.c
Chargeur :
Survivor_18F87J50_48Mhz_GPS_UBLOX_7N_seul_LCD2119_24FC1206_161031.hex

Exemple de capture GPS : Survivor_18F87J50_48Mhz_GPS_161016.kml

Statistiques:
GPS_Ublox_7N_rond_noir_statistiques.xls

 


Affichage sur LCD 2119

Longitude et latitude au format Degres decimaux Altitude en M, et Heure Locale (corrigée)
Nb de satellites utilisés et Date issue de $GPRMC Stockage sur EEprom page 2 / 1023 index 2 / 3





Version avec BlueTooth
rev 16 nov 2016

Coté Survivor PIC18F87J50 + GPS (sur UART2):
Un module BlueTooth HC06 est connecté sur le port COM UART1 , à la place du cordon USB Prolific 2303
La vitesse UART1 est modifiée de 38400 bds à 19200 Bds ,car lemoduile a déja été initialisé à cette vitesse.
Aucune modif software ,hormis cette vitesse.
Le HC06 est par défaut en mode SSP .(Secure Simple Pairing,)
Il est alimenté en 3,3V ..meme alim que le MCU.

// remplacement terminal par module BT Bleu HC06-7D69B
// 1 N.C.
// 2 VCC +3.3V
// 3 Gnd 0V
// 4 TXD ------->> RC7 RX UART1
// 5 RXD <<------- RC6 TX UART1
// 6 N.C.
// donc,modif vitesse UART1 38400 -> 19200


Projet : Survivor_18F87J50_48MHz_GPS_UBLOX_7N_seul_LCD_EEprom1MB_BT_161022.zip

Coté PC :
Cle USB APM BlueTooth + application BlueSoleil
Le blueTooth transite par le server COM A via COM6, puis le port virtuel COM8 => Terminal VBRAY

images/Survivor_GPS_Ublox_7N_datas_capture..jpg

avec Tablette Android ou phone:
à suivre






Application Android pour affichage Position GPS UBLOX GPS N7:

Le PIC envoie , via bluetooth (module HC06), l'info suivante :
Ublox OK,5.038866,45.845298,179.0,04
Toute les 4 secondes.
Si on capte au moins 4 satellites
et SI le flag de qualité, donné par le GPS: GPSFIX est à 1
UBLOX OK, suivi de la longitude, latitude,altitude et nombre de satellites vus .
L'affichage GPS sur le LCD (montage PIC) n'est cohérent qu'à ces conditions réunies!
sinon on envoi seulement le message
UBLOX Bad

L'application coté Tablette ou Phone Android, est developpée avec RFO-BASIC
avec un environnement JAVA.
Etablisement de la liaison Bluetooh (BlueTooth doit etre activé sure le Phone!)
avec le module HC06 qui doit apparaitre dans la liste des modules connectables
Apparairage avec code 1234
La detection des messages Bluetooth se fait par interruption
le message est decomposé en fonction du delimiteur , qui est ici , la virgule ','.
Le 1er item recupéré est UBLOX OK ou UBLOX BAD
avec UBLOX BAD .. pas d'affichage de position .. of course.
Avec UBLOX OK, les 2 parametres longitude et latitude
apres formatage : Coordonnes$= format$("##%.#######", latitude) + ","+ format$("##%.#######", longitude)
sont transmis à une requete HTML en formant une URL adequate..
Url$="http://maps.googleapis.com/maps/api/staticmap?"
sur laquelle on rajoute les coordonnees !
et qui permet d'ouvrir google MAP sur la position GPS donnée.

Cette application est un point de depart, juste pour verification de la faisabilité.
et peut donc etre grandement améliorée/modifiée
.le programme source : GPS_Ublox_PIC18F_Via_BlueTooth_161127.bas
nota:
le programme peut aussi etre developpé et lancé directement sur la tablette ou phone ,
via l'application RFO-Basic190.apk , mais peu pratique ..

L'application MikroC coté PIC + GPS +HC06 rev 27/11/2016
qui envoie donc les donnees GPS via Bluetooth., au smartphone ou tablette
Directory: C:\_MikroC\_MesProjets_MikroC\_18F87J50_GPS
Projet : Survivor_18F87J50_48Mhz_GPS_UBLOX_7N_seul_LCD2119_24FC1206_BT_1610.mcppi
Source: Survivor_18F87J50_48MHz_GPS_UBLOX_7N_seul_LCD_EEprom1MB_BT_161127
FOSC=48MHZ PLL active
UART1 RC6 TX 19200 --> prolifix---> Diplay Terminal PC
UART1 RC7 RX 19200 <-- prolifix <--- clavier Terminal PC
UART2 RX RG2 19200 <-- GPS UBLOX 7N

Decodage de 2 Trames NMEA: GPGGA + GPRMC
source MC
Chargeur Hex


A noter , les outils PC necessaires




liens utiles:
Tools for BASICl

BASIC! Launcher SciTE flavour : un editeur specifique (SC335.exe) , permettant de'nvoyer le programme source
directement dans la cible Tablette ou Phone Android,via Wifi, en appyant sur F5 (coté PC)
Le source bas en cours d'édition :

images/t_RFO_Basic_Laucher_Rev2016.gif

Coté Android :
une Appli Basic Launcher.apk doit tourner en tache de fond ( et le WIFI doit etre actif)
et RFO basic0190.apk doit etre aussi installé , pour demarrer /lancer l'application en test.
Ce basic est tres bien documenté : De_Re_BASIC_0190_2016.pdf et sources examples fournis
lors de l'installation.
Une fois le programme suffisament déverminé, il faut construire le programme executable
(application.apk)
Pour cela , il faut avoir Eclipse installé, le dernier Java SDK etc ..
Pas tres simple , la 1ere fois..
.

images/t_RFO_Basic_Appbuilder_choix_SDK_API_2016.gif images/t_RFO_Basic_Appbuilder_Android_SDK_Manager_API18.gif  
choix SDK version API 19 Android SDK manager  



RFO App-Builder
La compilation se fait en 12 etapes !


images/t_RFO_Basic_Appbuilder_Rev2016.gif


L'application compilée, executable : GPS7N_18F87J50_HC06_102.apk

En run , sur mon phone Startrail7
images/t_Startail7_Android_GPS7N_positionning.gi

C'est OK aussi sur ma tablette ARCHOS 43IT !
evolution possible ..
stockage du parcours dans un fichier KML , et
sur appui d'une touche , affichage de celui ci





Test librairie MikroC NMEA pour 18F

Prealable:
- GPS connecté sur Pin RG1 (UART2 RX)
- Mettre la meme vitesse que le module GPS , ici 19200bdse
- La librairie NMEA 18F doit (installée) et etre cochée



Projet :MikroC
Survivor_GPS_7N_Test_NMEA_Library
Version "161022"
Directory "C:\_MikroC\_MesProjets_MikroC\_18F87J50_GPS"
Source "Survivor_18F87J50_Test_NMEA_lib_GPS_UART2_Display_UART1"
chargeur "Survivor_GPS_7N_Test_NMEA_Library.hex"

Resulat sur terminal Display VBRAY ( UART1 à 19200,8,N,1)

Hardware:
Survivor (bad Clicker2) 18F87J50 + GPS UBox 7N
Directory :C:_MikroC_MesProjets_MikroC_18F87J50_GPS
Projet :Survivor_GPS_7N_Test_NMEA_Library.mcppi
Source MikroC Survivor_18F87J50_Test_NMEA_lib_GPS_UART2_Display_UART1_161022.c
FOSC=Q=8Mhz x PLL => 48Mhz Alim : 3,3V
Alimentation : 3,3V externe

Test NMEA 18F library with SURVIVOR PIC18F87J50
GPS Ublox 7N sur RG1 & RG2 UART2 MikroBus#1 at 19200 bds
Display via UART1 RC7 RC6 MikroBus#2 on TeraTerm terminal 19200 bds

UTC Time: 155415.00
Latitude: 4550.72560N
Longitude: 00502.32582E
Fix quality: 2
Num of sats: 09

UTC Time: 155423.00
Latitude: 4550.72583N
Longitude: 00502.32558E
Fix quality: 2
Num of sats: 08


Attention: les données Long et Lat doit etre normalisées..pour etre exploitables.
voir les applications décrites au dessus




common/GIF/LTC1286p.jpg

paulfjujo@free.fr


Retour à l'index general