Automatisation domotique intelligente via application Android et IoT
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Yun | 1 |
| Arduino Mega 2560 | 1 |
| Arduino UNO | 1 |
| Moteur servo | 1 |
| Écran LCD 16x2 (blanc sur bleu) Adafruit | 2 |
| Clavier numérique | 1 |
| Buzzer | 1 |
| Capteur température/humidité DHT11 (4 broches) | 1 |
| LED (générique) | 5 |
| Module ventilateur | 1 |
| Bouton poussoir 12 mm SparkFun | td>1 |
| Capteur de flamme | 1 |
| Webcam Logitech C270 HD | 1 |
| Relais (générique) | 1 |
| Ampoule | 1 |
| Plaque d'essai (breadboard) | 1 |
| Fils de connexion (jumper wires) | 1 |
| Carte SD | 1 |
| Module Bluetooth HC-05 | 1 |
| Lecteur RFID (générique) | 1 |
Outils nécessaires
- Fer à souder (générique)
Applications et services en ligne
- Blynk
- Temboo
- Arduino IDE
- PuTTY
- Application « arduino meet robot »
À propos du projet
Vidéo
Avant d'aller plus loin, je recommande de visionner la vidéo du projet pour comprendre le fonctionnement et les fonctionnalités.
Résumé
Ces dernières années, la maison intelligente est devenue un sujet très populaire. De nombreuses architectures ont été proposées, mais la plupart manquent d'intégration entre les dispositifs, et la sécurité reste une préoccupation majeure. Les technologies de communication utilisées incluent Bluetooth, GSM, Zigbee, chacune avec ses avantages et inconvénients. Dans le cadre de mon projet de fin d'études, j'ai implémenté une architecture domotique intégrée, pilotable par une application mobile conviviale, avec tous les systèmes interconnectés et commandes vocales pour contrôler les appareils à portée.
Fonctionnalités clés :
- Sécurité à deux niveaux : clavier numérique + RFID pour empêcher l'accès aux intrus.
- Envoi de photo en ligne en cas d'intrusion, surveillance vidéo à distance (flux vidéo sur serveur local accessible via navigateur).
- Surveillance de l'environnement domestique via capteurs (DHT11, flamme, MQ3, MQ135) sur application Android.
- Contrôle d'appareils (LED, servomoteurs, etc.) via l'application.
- Planification automatique des appareils selon préférences utilisateur.
- Préparation de la maison (chauffe-eau, machine à café) à l'approche de l'utilisateur (géolocalisation).
- Contrôle vocal des appareils.
Prérequis
- Connaissances de base en programmation C.
- Maîtrise de l'Arduino IDE et du téléversement de code.
Instructions – Suivez ces étapes
Consultez d'abord la vidéo pour visualiser les connexions et le fonctionnement.
Étape 1 – Câblage complet du système
Suivez le schéma de câblage ci-joint. Beaucoup de connexions, soyez patient et minutieux. Je suggère de construire une maquette en carton pour simuler une vraie maison. Attention au capteur PIR (sensible aux faux positifs) : fixez-le solidement.
Connexion RFID :
- MOSI → Broche 51 (Mega)
- MISO → Broche 50
- SCK → Broche 52
- SS/SDA → Broche 9
- RST → Broche 8
Reliez aussi la broche 20 du Mega à la broche 2 du Yun, et la broche 21 du Mega à la broche 3 du Yun pour la communication I2C.
Étape 2 – Créer un compte Temboo et configurer l'API Dropbox
Inscrivez-vous sur Temboo, créez votre première application, notez le nom de l'application et la clé. Installez le SDK Python Temboo (lien) à la racine de la carte SD (dossier nommé « temboo »). Créez un compte Dropbox, puis une application Dropbox API (lien) de type « Fichiers et datastores », avec permission « App folder ». Récupérez App key, App secret, puis via Temboo (InitializeOAuth / FinalizeOAuth) obtenez Token key et Token secret.
Étape 3 – Installation des pilotes sur Arduino Yun
Installez PuTTY, connectez-vous en SSH à l'adresse IP du Yun (utilisateur root, mot de passe par défaut « arduino »). Puis :
opkg updateopkg install kmod-video-uvc(pilotes UVC)opkg install python-opensslopkg install fswebcam(logiciel de capture d'image)
Étape 4 – Surveillance vidéo en direct
Encore en SSH sur le Yun :
wget https://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk(si lien mort, le paquet est dans le code du projet)opkg install mjpg-streamer.ipk- Lancez le streaming :
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &
Accédez au flux via https://adresseIPduYun.local:8080/stream.html.
Étape 5 – Configuration Twilio pour les SMS
Inscrivez-vous sur Twilio, notez Account SID et Auth Token, achetez un numéro gratuit, vérifiez le numéro destinataire. Sur Temboo, utilisez le Choreo SendSMS avec vos identifiants Twilio, testez, sauvegardez le profil. Dans le code Arduino Yun (ligne 208), remplacez your_profile_name par votre nom de profil.
Étape 6 – Configuration compte Blynk et application
Téléchargez l'appli Blynk (Play Store), créez un compte, nouveau projet, matériel « Arduino Yun ». L'Auth Token est envoyé par email. Créez 4 onglets : Home, HVAC, Monitoring, Control. Ajoutez les widgets comme décrit en détail dans le projet original (LCD, Value Display, Level H, Notification, Slider, History Graph, Labeled Value, Time Input, GPS Track, etc.). Configurez chaque widget avec les broches virtuelles (V1, V2, … V31) et plages de valeurs indiquées.
Commande vocale des appareils
Téléchargez l'application « AMR_VOICE », configurez le Bluetooth avec le module HC-05. Téléversez le code « voice control for arduino uno » sur l'Arduino UNO. Dans l'appli, connectez le robot, assurez-vous que le smartphone est appairé avec le HC-05. Appuyez sur l'icône micro et prononcez les commandes définies dans le code pour allumer/éteindre les appareils.
N'hésitez pas à poser des questions en commentaire. Certains détails sont omis car supposés connus (bases Arduino, C, Linux).
Note : Tous les documents et codes ont été migrés sur mon dépôt GitHub public : github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT. Pour contribuer ou ajouter des fonctionnalités, créez une pull request. Pour tout problème, ouvrez une issue.
Cheers !
Code source
Le code complet est disponible sur le dépôt GitHub : lien.
Schémas
Les schémas sont également sur le dépôt GitHub : lien.
Processus de fabrication
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
- Contrôle IoT à Distance d'un Bras Robotique Personnalisé avec Arduino MKR1000
- Véhicule Télécommandé par Android avec Raspberry Pi et Shield Moteur
- Construire un système domotique et de sécurité intelligent avec 1Sheeld
- Contrôle fluide de la luminosité LED avec Bolt IoT et Arduino UNO
- Créer une jauge IoT connectée au Web avec Arduino, Yaler et IFTTT
- Système d'arrosage intelligent pour plantes d'intérieur avec Arduino Nano
- Système de surveillance de plantes connecté par AWS IoT