PhoneLocator : Localisez Votre Téléphone en Toute Sécurité
Composants et fournitures
| Fils de liaison (jumper wires) | 1 jeu |
| Arduino Yun | 1 |
| Résistance 220 Ω | 1 |
| Bouton poussoir 12 mm (SparkFun) | 1 |
| Breadboard | 1 |
Applications et services en ligne
- Arduino Web Editor
- Blynk
À propos du projet
Vue d'ensemble
Vous avez déjà oublié votre téléphone chez un ami ? Vous craignez qu'on vous le vole ? Tout le monde a déjà perdu ou égaré son téléphone. PhoneLocator vise à le localiser (le nom l'indique) et vous envoyer ses coordonnées GPS par email pour le récupérer. Grâce à Blynk, il suffit d'appuyer sur un bouton. Note : un compte Blynk est requis, un guide de création est fourni plus bas.


Fonctionnement
Le principe est simple : quand l'utilisateur appuie sur le bouton, l'Arduino Yun lit la géolocalisation du téléphone et envoie un email au client. Pour faire plus pro, on peut faire croire que l'email vient de l'app Blynk sur le téléphone — malin pour un voleur. Voici l'illustration du flux :

Cette image illustre la structure du code :

if(bouton pressé): vérifie si le bouton sur broche 2 est prességetLocation: demande la position du téléphone à BlynkProcess Data: formate les coordonnées reçues dans le corps de l'emailSend email: envoie l'email à l'utilisateur
Réponse de l'Arduino en ~8 secondes après l'appui si le téléphone est localisé. Fonctionne même téléphone en veille ou éteint, tant que l'app Blynk a l'autorisation de tourner en arrière-plan (même si l'app est fermée). L'utilisateur doit s'assurer que le projet Blynk sur le téléphone est actif (détails dans « Construction »).
Avantages
L'utilisateur bénéficie de :
- Localisation du téléphone perdu ou volé
- Simplicité d'utilisation (un bouton)
Construction du projet
Étape 1 : Matériel requis
- Fils de liaison
- 1× Arduino Yun
- 1× Bouton poussoir
- 1× Breadboard
- 1× Résistance 220 Ω
- 1× Smartphone


Étape 2 : Câblage du circuit
Schéma simple :

Étape 3 : Analyse du code
Trois parties simples :
getLocationProcess Location DataSend Email
getLocation
BLYNK_WRITE(V0) // lecture broche virtuelle 0 pour coordonnées
{
latitude = param[0].asDouble();
longitude = param[1].asDouble();
altitude = param[2].asDouble();
speed = param[3].asDouble();
}
Blynk stocke les variables dans des broches virtuelles. BLYNK_WRITE(V0) lit la broche virtuelle 0 et stocke les valeurs dans des variables distinctes. Latitude et longitude sont utilisées ici. Assurez-vous que le projet Blynk est bien configuré avant l'upload (voir plus bas).
Process Location Data
if (latitude != 0.00 && longitude != 0.00) // si coordonnées valides
{
String toSend = "Phone Located! \n received co-ordinates \n LAT ";
toSend += latitude;
toSend += " LNG ";
toSend += longitude;
toSend += ". View location on Maps: ";
toSend += "www.google.com/maps/?q=";
toSend += latitude;
toSend += ",";
toSend += longitude;
delay(500);
}
L'email ne peut être envoyé que sous forme de chaîne. Ce code s'exécute si les coordonnées sont fiables. On y ajoute : latitude, longitude, lien Google Maps. L'Arduino vérifie que les coordonnées ne sont pas nulles avant d'envoyer, et boucle cette fonction jusqu'à 10 fois pour obtenir une position valide.
Send Email
Blynk.email(userEmail, "PhoneLocator | Notification", toSend);
if (proDebug == 1) {
Serial.println("Success");
Serial.println("Email Sent");
Serial.println("Restarting Protocol");
Serial.println("");
}
Envoi de l'email avec la chaîne comme corps. proDebug est un outil de debug : à mettre à 0 pour fonctionnement sans moniteur série (défaut = 1, nécessite le moniteur série ouvert).
Configuration des variables
Modifiez toutes les variables marquées TODO : votre email, votre token d'auth Blynk, proDebug. Le token Blynk est obtenu à l'étape suivante.
Bibliothèques
- Bridge (Arduino LLC, domaine public)
- Blynk (licence MIT)
Configuration Blynk
- Télécharger Blynk : iOS ou Android.
- Créer un compte Blynk : suivez les captures d'écran ci-dessous.













Finalisation
Modifiez les variables TODO si pas déjà fait. auth = token reçu par email. Vérifiez toutes les variables TODO. Connectez l'Arduino Yun à votre Mac/PC et téléversez le code.

Contexte
J'ai créé ce projet pour trouver une solution simple à la perte de téléphone. Blynk permet à l'Arduino Yun de recevoir la géolocalisation même si l'app tourne seulement en arrière-plan et que le téléphone est en veille. Un simple clic sur un bouton localise le téléphone. Testé sur iPhone (iOS 11).
Code
Code complet : PhoneLocator (voir projet original pour le sketch complet).
Schémas

Fichier Fritzing : schematics_UhOTpO8N1Z.fzz
Processus de fabrication
- Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
- Construire un Iron Man animé avec Arduino : capteurs, sons et relais
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Construire un bras robotique 3D fonctionnel piloté par Arduino – Guide pas à pas
- Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée
- Portique de contrôle de température sans contact pour dépistage rapide et précis
- PiBot : Robot pianiste Arduino pour performance musicale de précision
- Jeu Pong sur Matrice NeoPixel avec Arduino Nano
- Station météo IoT temps réel – Arduino, ESP8266, DHT11 & ThingSpeak