Figure 1 : Le médaillon d'appel moderne combine bouton SOS, détection automatique de chute et géolocalisation GPS.
⚠️ AVERTISSEMENT MÉDICAL ET DE SÉCURITÉ
- Pas un dispositif médical certifié : Ce projet DIY est destiné à un usage personnel et éducatif. Il ne remplace PAS un système d'alerte médicale professionnel certifié (type téléassistance).
- Redondance obligatoire : Ne jamais dépendre uniquement de ce dispositif pour une personne en situation de vulnérabilité. Toujours avoir un moyen de communication alternatif (téléphone fixe/mobile à proximité).
- Tests réguliers : Tester le système quotidiennement pour vérifier la batterie, la connexion réseau et le bon fonctionnement des alertes.
- Batterie LiPo : Utiliser un module de protection (TP4056 avec DW01) pour éviter surcharge, décharge profonde et courts-circuits.
📜 Note Historique TechFix Hub
Cet article s'inspire d'un concept publié dans Électronique Pratique N°249 (Août 2000). À l'époque, ces médaillons utilisaient des encodeurs 433 MHz basiques (type PT2262) avec une portée limitée et aucune intelligence embarquée. En 2026, l'ESP32 nous permet de créer des dispositifs bien plus puissants, avec détection de chute, GPS et connectivité Internet.
Bienvenue sur TechFix Hub ! La perte d'autonomie, qu'elle soit due à l'âge, à une maladie ou à un accident, rend rapidement difficile le fait de signaler un besoin d'aide. La classique sonnette de lit d'hôpital ne suit pas la personne dans ses déplacements à domicile.
Les solutions commerciales de téléassistance coûtent souvent 30-50€/mois avec abonnement. Dans ce guide, nous allons construire un médaillon d'appel intelligent DIY basé sur l'ESP32, capable de détecter automatiquement les chutes, d'envoyer la position GPS et d'alerter vos proches via Telegram, SMS ou Home Assistant — le tout pour moins de 40€ et sans abonnement mensuel.
🏗️ 1. Architecture du Système Moderne
Notre médaillon intelligent combine plusieurs technologies pour une fiabilité maximale :
- Bouton SOS Physique : Déclenchement manuel avec confirmation tactile (vibration).
- Détection Automatique de Chute : Accéléromètre MPU6050 détecte les chutes brutales et l'immobilité prolongée.
- Géolocalisation GPS : Module NEO-6M pour localiser la personne en extérieur.
- Connectivité Multiple : Wi-Fi (à domicile) + GSM (en déplacement) pour une couverture totale.
- Autonomie Longue Durée : Batterie LiPo 1000mAh avec gestion deep sleep (~7 jours en veille).
🛠️ 2. Liste des Composants (BOM)
💡 Comparaison : Un système commercial équivalent coûte 200-400€ à l'achat + 30-50€/mois d'abonnement. Notre solution DIY revient à moins de 50€ sans frais récurrents.
🔌 3. Schéma de Câblage Simplifié
┌─────────────────────────────────────────────────┐
│ ESP32-WROOM-32 │
├─────────────────────────────────────────────────┤
│ GPIO 34 ← Bouton SOS (avec pull-up 10kΩ) │
│ GPIO 32 → Moteur vibrant (via MOSFET) │
│ GPIO 25 → LED rouge (indicateur) │
│ │
│ GPIO 21 (SDA) ←→ MPU6050 (SDA) │
│ GPIO 22 (SCL) ←→ MPU6050 (SCL) │
│ │
│ GPIO 16 (RX2) ← GPS NEO-6M (TX) │
│ GPIO 17 (TX2) → GPS NEO-6M (RX) │
│ │
│ GPIO 26 (RX1) ← SIM800L (TX) [Optionnel] │
│ GPIO 27 (TX1) → SIM800L (RX) [Optionnel] │
│ │
│ 3.3V ←→ Alimentation via TP4056 + Boost 5V │
│ GND ←→ Masse commune │
└─────────────────────────────────────────────────┘
Alimentation:
Batterie LiPo 3.7V → TP4056 (charge USB-C) → Boost Converter 5V → ESP32 VIN
Note : Le SIM800L nécessite des pics de courant jusqu'à 2A. Utiliser un condensateur 1000µF/10V en parallèle de son alimentation et un régulateur LM2596 dédié.
🧠 4. Algorithme de Détection de Chute
La détection de chute repose sur l'analyse de l'accélération totale (magnitude du vecteur accélération) :
- Phase 1 - Impact : Détection d'un pic d'accélération > 2.5g pendant moins de 200ms (choc violent).
- Phase 2 - Chute libre : Détection d'une période d'apesanteur (< 0.5g) juste avant ou après l'impact.
- Phase 3 - Immobilité : Vérification que la personne reste immobile (> 15 secondes) après la chute, indiquant une possible perte de conscience.
- Phase 4 - Confirmation : Vibration + LED clignotante pendant 30 secondes. Si l'utilisateur appuie sur le bouton SOS, l'alerte est annulée (faux positif).
💻 5. Code ESP32 : Détection de Chute et Alertes
Voici le cœur du programme avec détection de chute et envoi d'alerte Telegram :
#include <WiFi.h>
#include <UniversalTelegramBot.h>
#include <Wire.h>
#include <MPU6050.h>
#include <TinyGPS++.h>
// Configuration
#define SOS_BUTTON_PIN 34
#define VIBRATOR_PIN 32
#define LED_PIN 25
// Seuils de détection de chute
#define IMPACT_THRESHOLD 2.5 // g
#define FREE_FALL_THRESHOLD 0.5 // g
#define IMMOBILITY_TIME 15000 // ms
// WiFi et Telegram
const char* ssid = "VOTRE_WIFI";
const char* password = "VOTRE_PASSWORD";
const char* botToken = "VOTRE_BOT_TOKEN";
const char* chatId = "VOTRE_CHAT_ID";
MPU6050 mpu;
TinyGPSPlus gps;
WiFiClient client;
UniversalTelegramBot bot(botToken, client);
float ax, ay, az;
unsigned long lastFallTime = 0;
bool fallDetected = false;
bool alertSent = false;
void setup() {
Serial.begin(115200);
Serial2.begin(9600); // GPS
pinMode(SOS_BUTTON_PIN, INPUT_PULLUP);
pinMode(VIBRATOR_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
Wire.begin();
mpu.initialize();
// Connexion WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connecté");
// Message de démarrage
bot.sendMessage(chatId, "✅ Médaillon TechFix Hub activé", "");
}
void loop() {
// Lecture accéléromètre
mpu.getAcceleration(&ax, &ay, &az);
float accel_g = sqrt(sq(ax/16384.0) + sq(ay/16384.0) + sq(az/16384.0));
// Lecture GPS
while (Serial2.available() > 0) {
gps.encode(Serial2.read());
}
// Détection bouton SOS manuel
if (digitalRead(SOS_BUTTON_PIN) == LOW) {
triggerAlert(true); // Alerte manuelle
}
// Détection de chute automatique
if (accel_g > IMPACT_THRESHOLD && !fallDetected) {
fallDetected = true;
lastFallTime = millis();
vibrate(200); // Feedback immédiat
}
// Vérification immobilité après chute
if (fallDetected && !alertSent) {
if (millis() - lastFallTime > IMMOBILITY_TIME) {
if (accel_g < 1.2) { // Personne immobile
triggerAlert(false); // Alerte automatique
} else {
// Mouvement détecté = faux positif
fallDetected = false;
}
}
}
// Annulation de l'alerte par bouton
if (alertSent && digitalRead(SOS_BUTTON_PIN) == LOW) {
cancelAlert();
}
delay(50); // Échantillonnage 20Hz
}
void triggerAlert(bool manual) {
alertSent = true;
// Feedback haptique et visuel
for(int i=0; i<5; i++) {
vibrate(300);
digitalWrite(LED_PIN, HIGH);
delay(300);
digitalWrite(LED_PIN, LOW);
delay(200);
}
// Construction du message
String message = manual ? "🚨 ALERTE MANUELLE SOS" : "⚠️ CHUTE DÉTECTÉE";
message += "\n\n📍 Position GPS:\n";
if (gps.location.isValid()) {
message += "Lat: " + String(gps.location.lat(), 6);
message += "\nLon: " + String(gps.location.lng(), 6);
message += "\nhttps://maps.google.com/?q=";
message += String(gps.location.lat(), 6) + ",";
message += String(gps.location.lng(), 6);
} else {
message += "Position GPS non disponible";
}
// Envoi Telegram
bot.sendMessage(chatId, message, "");
Serial.println("Alerte envoyée: " + message);
}
void cancelAlert() {
alertSent = false;
fallDetected = false;
bot.sendMessage(chatId, "✅ Alerte annulée par l'utilisateur", "");
vibrate(100);
}
void vibrate(int duration) {
digitalWrite(VIBRATOR_PIN, HIGH);
delay(duration);
digitalWrite(VIBRATOR_PIN, LOW);
}
Bibliothèques requises : MPU6050, TinyGPS++, UniversalTelegramBot, WiFi
📱 6. Systèmes de Notification Multi-Canaux
Pour une fiabilité maximale, implémentez plusieurs canaux d'alerte en parallèle :
- Telegram Bot (Recommandé) : Gratuit, instantané, supporte photos et localisation. Créez un bot via @BotFather sur Telegram.
- SMS via SIM800L : Fiable même sans Wi-Fi. Coût ~0.05€/SMS avec une carte prépayée.
- Appel vocal automatisé : Via services comme Twilio ou CallMeBot API (gratuit).
- Home Assistant : Intégration MQTT pour déclencher des automatisations (allumer les lumières, déverrouiller la porte pour les secours).
- IFTTT / Pushbullet : Notifications push sur tous les appareils de la famille simultanément.
🚀 7. L'Upgrade "TechFix Hub" : Fonctionnalités Avancées
Pour transformer votre médaillon en système professionnel :
- 📡 LoRa Longue Portée : Ajoutez un module LoRa (SX1278) pour communiquer avec une passerelle domestique jusqu'à 5km en zone rurale, sans dépendre du Wi-Fi/GSM.
- 🔋 Monitoring Batterie : Diviseur de tension pour surveiller le niveau de batterie et alerter avant la décharge complète.
- 🌡️ Capteurs Environnementaux : BME280 pour détecter températures extrêmes ou qualité d'air dégradée (CO2).
- 💊 Rappel Médicaments : Vibrations programmées pour rappeler la prise de médicaments à heures fixes.
- 🔊 Micro + Enregistrement : Module INMP441 pour enregistrer 30 secondes d'audio autour de l'événement (utile pour les secours).
- 📊 Dashboard Web : Interface Grafana pour visualiser l'historique des chutes, déplacements et état de santé.
🔋 8. Optimisation Énergétique pour Autonomie 7 Jours
L'autonomie est critique pour un dispositif portable. Voici les techniques clés :
- Deep Sleep ESP32 : Consomme seulement 10µA. Réveil par interruption du bouton SOS ou timer périodique.
- Échantillonnage Adaptatif : 10Hz en mode veille, 100Hz uniquement lors de détection de mouvement brusque.
- GPS On-Demand : Activer le GPS seulement pendant 30 secondes lors d'une alerte pour obtenir la position.
- Wi-Fi Économe : Utiliser le mode "modem sleep" et se connecter uniquement lors d'événements.
- LED Indicateur : Clignotement bref (100ms) toutes les 10 secondes pour confirmer le fonctionnement sans vider la batterie.
Consommation estimée : ~15mA moyen → 1000mAh / 15mA = ~66 heures = ~3 jours. Avec optimisations agressives : 7-10 jours possibles.
📦 9. Conception du Boîtier Ergonomique
Le boîtier doit être confortable, discret et robuste :
- Impression 3D : TPU flexible pour le confort, ou PLA/PETG avec joint silicone pour l'étanchéité.
- Dimensions cibles : 50mm x 50mm x 20mm (taille d'une montre), poids < 80g avec batterie.
- Bouton SOS : Large (12mm), encastré pour éviter les pressions accidentelles, mais facile à activer en cas d'urgence.
- Attache : Cordon tour de cou avec attache de sécurité (se détache si tiré fortement) ou bracelet silicone.
- Port de charge : USB-C magnétique pour éviter d'endommager le port en tirant sur le câble.
- Étanchéité : Joint torique + silicone pour atteindre IP65 (résistant aux éclaboussures et à la transpiration).
✅ 10. Protocole de Tests et Validation
Avant de confier le dispositif à une personne vulnérable, effectuez ces tests rigoureux :
- Test Bouton SOS : 50 pressions successives, vérifier que chaque alerte est reçue en moins de 5 secondes.
- Test Chute Simulée : Laisser tomber le dispositif sur un matelas depuis 1.5m de hauteur. Vérifier détection + immobilité + alerte.
- Test Faux Positifs : Porter le dispositif pendant 24h d'activité normale (marche, assis/debout, escaliers). Aucune fausse alerte tolérée.
- Test Autonomie : Laisser en veille jusqu'à décharge complète. Doit tenir minimum 48h.
- Test Portée Wi-Fi : Vérifier fonctionnement à toutes les extrémités du domicile (cave, grenier, jardin).
- Test GPS Extérieur : Vérifier précision de localisation (< 10m) dans différentes conditions (ciel dégagé, nuageux, urbain).
- Test Robustesse : Chutes accidentelles, exposition à l'eau (éclaboussures), températures extrêmes (0°C à 40°C).
🔗 Pour Aller Plus Loin sur TechFix Hub
Maîtrisez les technologies utilisées dans ce projet avec nos guides complémentaires :
✅ Conclusion
Construire son propre médaillon d'appel intelligent est un projet maker à forte valeur sociale. Pour moins de 50€ et sans abonnement mensuel, vous obtenez un système personnalisé, évolutif et parfaitement adapté aux besoins spécifiques de votre proche. La combinaison ESP32 + détection de chute + GPS + notifications multiples offre une fiabilité comparable aux solutions professionnelles, tout en gardant le contrôle total sur les données et la personnalisation.
N'oubliez jamais : ce dispositif est un complément à la vigilance humaine, pas un remplacement. Testez-le rigoureusement, formez l'utilisateur à son fonctionnement, et maintenez toujours un moyen de communication alternatif à proximité. La technologie au service de l'humain, c'est ça l'esprit TechFix Hub.
🛠️ Vous construisez un système d'assistance ?
Vous avez des questions sur l'algorithme de détection de chute, l'intégration GSM, ou l'optimisation de l'autonomie ? Posez votre question dans les commentaires ci-dessous, la communauté TechFix Hub se fera un plaisir de vous aider !