Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Domotique intelligente avec Raspberry Pi 2 et Windows 10 IoT

Composants et fournitures

Arduino UNO (un par pièce à automatiser) ×1+
Raspberry Pi 2 Modèle B ×1
Fils de liaison (génériques) ×1
Plaque d'essai (breadboard) ×1
LDR (Photorésistance) - détection intensité lumineuse ×1
Capteur PIR (infrarouge passif) - détection présence humaine ×1
Module relais (générique) - 1 relais par appareil à commander ×1+
Contacteur Siemens 3TF32 00-0AP0 - pour pompe à eau (max 16A, 415 VAC), bobine 250 VAC ×1
Disjoncteur miniature 1P C16A - protection pompe à eau ×1

Applications et services en ligne

À propos de ce projet

Aujourd'hui, la technologie améliore la vie humaine. L'automatisation, jadis de la science-fiction, est maintenant réalité. En combinant Raspberry Pi et Windows 10, nous construisons un système domotique capable de piloter les appareils de la maison automatiquement.

Démarrage : Architecture globale

Le Raspberry Pi 2 agit comme contrôleur principal. Chaque pièce possède son propre Arduino UNO (esclave) qui gère les appareils et capteurs. La communication Pi ↔ Arduino se fait via bus I2C.

Configuration par pièce

Chaque Arduino UNO de pièce contrôle : plusieurs appareils (lumière(s), ventilateur, prise(s) murales...), un capteur PIR (présence), une sonde de température LM35, et une LDR (luminosité près de la fenêtre).

Adressage des appareils

Identification simple : adresse = numéro de pièce + numéro d'appareil. Exemple : pièce 1, appareil 3 → adresse 13.

Schémas

Pour connecter plusieurs Arduino sur le bus I2C, utilisez une barrette de bus I2C. Schéma de câblage relais et contacteur pour pompe/geyser fournis.

Logiciel

Développé dans Visual Studio 2015 pour Raspberry Pi 2 (application Universal Windows). Connaissances supposées : Arduino, C#, XAML Universal Windows.

Protocole de communication I2C

Objectifs : lire capteurs, lire états appareils, commander appareils. Protocole = séquence d'octets. Envoi : 3 octets fixes. Réception : 14 octets. Implémenté dans la classe I2C_Helper (projet Universal Windows) et côté Arduino (bibliothèque Wire).

Structure de classes (C#)

Interface utilisateur

Objectifs : gestion pièces, gestion appareils, services externes (GSM, Internet). Découpage en :

Wireframes et captures d'écran de l'UI finale incluses.

Comment configurer ?

Configuration pas à pas via l'interface : ajouter pièces, ajouter appareils par pièce, définir adresses I2C, tester.

Commande pompe à eau et chauffe-eau

Ne les branchez jamais directement sur le relais (danger, grillage). Utilisez un contacteur : le relais commande la bobine du contacteur, qui lui commute la charge puissance. Vérifiez les cotes du contacteur (bobine + contacts) par rapport à votre pompe.

Déploiement sur Raspberry Pi 2

Voir la documentation Microsoft pour le déploiement d'applications Universal Windows sur Windows 10 IoT Core.

Enregistrer l'application au démarrage

Consultez mon article : "Windows 10 IoT Core : Setting Startup App".

Problèmes connus

Perspectives futures

Communication radio/IR au lieu d'I2C, portail web via Azure, automatisation événementielle (ex: lumière jardin si luminosité < seuil) ou horodatée (RTC). Windows 10 IoT + Pi 2 (quad-core 900 MHz) offre une plateforme puissante pour aller plus loin.

Code

Sketch Arduino (C/C++)

// Arduino Sketch v0.4 - Esclave I2C pour Home Automation
// Adresse esclave : 0x40
// Broches : LDR=A0, PIR=2, Temp=A1, Relais=0,1,3-13,A2,A3
// Protocole : Mode 0=capteurs (14 octets), Mode 1=états appareils (14 octets), Mode 2=commande appareil
// Réponse Mode 0 : [LDR_8bits, PIR_bool, Temp_signe, Temp_abs]
// Réponse Mode 1 : 14 octets = états broches 0,1,3-13,A2,A3
// Réponse Mode 2 : état de la broche commandée
#include <Wire.h>
#define SLAVE_ADDRESS 0x40
// ... code complet dans la source ...

Logiciel Raspberry Pi 2 (Universal Windows App)

Code source complet sur GitHub

Schémas

Ajoutez plusieurs pièces en connectant des Arduino individuels avec adresses I2C uniques sur le bus. Fichier Fritzing complet fourni.

Processus de fabrication

  1. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  2. Construire un contrôleur domotique 433 MHz avec Sensorflare et Raspberry Pi
  3. Capteur d'occupation de salle de bain basé sur Raspberry Pi avec alertes vocales et SMS via Twilio
  4. Surveiller la température de votre maison avec un tableau de bord Raspberry Pi
  5. Construire un système domotique piloté par Raspberry Pi pour contrôle à distance
  6. Envoyer les données IMU 10DOF Adafruit du Raspberry Pi 2 vers Azure Event Hubs avec Windows 10 IoT Core
  7. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
  8. Installation de Windows 10 IoT Core sur Raspberry Pi 3 Model B+ : Guide Étape par Étape
  9. Intégration Microsoft Kinect avec Raspberry Pi pour détection humaine temps réel sur robot Sonbi