Voici un script PHP qui permet de lire la position géographique de quelqu'un.
Imaginez : vous regardez la photo de l'être aimé. Ou est-il/elle en ce moment ?
Montrez la photo à votre Nabaztag, il saura vous dire dans quelle ville il se trouve.
Il faut un ztamp, un Nabaztag:tag, pouvoir mettre une page PHP sur internet et être utilisateur de Google Maps sur son téléphone portable.
Mise en place :
1) Activer le partage public de Google Latitute et récupérez votre numéro d'utilisateur.Ouvrez l'application Google Maps sur votre téléphone et allez dans le menu Latitude, choisissez de partager votre position.
Depuis votre PC ou Mac, Allez là : http://www.google.com/latitude/apps/badge
Choisissez 'Enable and show city-level only' ou 'Enable and show best available location'
Cliquez sur 'Save'
Repérez votre numéro d'utilisateur dans l'URL qui s'affiche en bas de page
- Code:
-
http://www.google.com/latitude/apps/badge/api?user=-1234567890123456789&type=kml
C'est -1234567890123456789 dans cet exemple. Notez le.
2) Récupérez le numéro de série et le token du LapinSi ce n'est deja fait, allez sur my.violet.net et activez l'éco-système du lapin.
Notez le numéro de série et le numéro de token.
3) Créez le script PHPCréez un fichier PHP geolocalisation.php et mettez dedans :
- Code:
-
<?php
$user_name = 'Xavier Dupont';
$user_country = 'France';
$user_latitude_ID = '-1234567890123456789';
$user_nab_serial = '0042E666E7E1';
$user_nab_token = '1188521980';
$handle = fopen ('http://www.google.com/latitude/apps/badge/api?user='.$user_latitude_ID.'&type=iframe&maptype=roadmap', 'r');
//Isolate the line with the position inside the badge code
if ($handle) {
while (!feof($handle)) {
$buffer = fgetss($handle, 300);
if (strstr($buffer,' ')) $position = $buffer ;
}
fclose($handle);
//Explode the position into ostrings for city, country and time
$position = explode(' ', $position);
$time = explode(' ', $position[1]);
$position = explode(', ',$position[0]);
// Trim any number 0...9 from the city name.
$position[0] = trim($position[0], "\x30..\x39");
//If the user is inside his own country, refrains from mentionning it
if( strcmp(trim($position[1]),$user_country)==0 ) {
$position[1] = '' ;
} else {
$position[1] = ', en '.$position[1];
}
//Translate the time related words into French
switch ($time[1][0]) {
case 'd':
$time[1]='jours';
break;
case 'h':
$time[1]='heures';
break;
case 'm':
$time[1]='minutes';
break;
}
//Create the message to be read by the nabaztag
$message = $user_name.' ? On la vu a '.$position[0].$position[1];
$message = $message.', il y a '.$time[0].' '.$time[1].'.' ;
//Compose and call the Nabaztag API URL
$call_url = 'http://api.nabaztag.com/vl/FR/api.jsp?sn='.$user_nab_serial.'&token='.$user_nab_token.'&posleft=13&posright=13&tts='.$message;
$call_url = str_replace(' ', '%20', $call_url);
$handle = fopen ($call_url, 'r');
fclose($handle);
//echo $call_url;
}
?>
Modifiez le début du script de la façon suivante :
Remplacez
Xavier Dupont par votre nom
Remplacez
-1234567890123456789 par le numéro trouvé en 1)
Remplacez
0042E666E7E1 par le numéro de série trouvé en 2)
Remplacez
1188521975 par le numéro de token trouvé en 2)
4) Hostez le script quelque part sur le web et liez le à un ztampUploadez le script sur un serveur et notez son URL.
Sur my.violet.net, ajoutez l'application 'Transmettre des données dans une URL (Call URL)' à votre ztamp et donnez-lui l'URL de votre script PHP.
Collez le Ztamp derrière une photo.
5) TestezPrésentez le ztamp à votre Nabaztag pour vérifier si ca marche.