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

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Composants et fournitures

Composant Description Qté
Raspberry Pi 2 Model B Ordinateur monocarte principal 1
HSRel5 - Carte relais 5 canaux I²C 5 relais, 3 GPIO, bus I2C, basé sur PCF8574 1
HSRel8(+8) - Carte relais 8 canaux I²C 8 relais, 8 GPIO, bus I2C, basé sur MAX7311 1
I2C-Port 16 HS - Extension 16 GPIO I²C 16 GPIO, bus I2C, basé sur MAX7311 1
Alimentation 12 V / 54 W (DR-60-12) Alimentation 12 V pour tous les modules 1
Alimentation 5 V / 3 A (MeanWell DR-30-5) Alimentation 5 V pour tous les modules 1
Shield de prototypage pour Raspberry Pi LED de statut, entrée d'interruption protégée, bornier 3 pôles 1
Tampon I2C HS (P82B96) Niveau de tension I2C + résistances de tirage, montage rail DIN 1
Arduino Nano R3 Pont entre capteurs DHT22 et bus I2C 1
Émetteur/récepteur 433 MHz Pour relais sans fil 1

Applications et services en ligne

À propos de ce projet

Mise à jour 2 : Le projet continue d'évoluer avec de nouvelles fonctionnalités (client Twitter, intégration bots Telegram). Consultez le dépôt GitHub et les notes de version pour en savoir plus.

Mise à jour 1 : Merci à tous pour vos retours ! Présenté à Maker Faire Rome 2015 et Microsoft Technical Summit 2015.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Je développe une solution domotique depuis 3 ans, incluant l'installation matérielle et le développement logiciel.

Fonctionnalités

Entrées (Inputs)

Sorties (Outputs)

Autres fonctionnalités

Le concept

Lors de la rénovation de ma maison il y a 3 ans, j'ai choisi de tout piloter depuis le tableau électrique via des relais. Chaque bouton, lampe, prise, volet est câblé individuellement vers le tableau. Aucun bus KNX/EIB n'est nécessaire.

Note : Les composants sont conçus pour du 230 V (Allemagne). L'installation des câbles 230 V et du tableau est réalisée par un électricien qualifié.

Matériel

Le nouveau tableau électrique

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Le bus I2C optimisé

Le bus I2C n'est pas prévu pour de longs câbles, mais des astuces permettent d'augmenter la distance :

Cartes relais (sorties)

La société allemande CCTools vend des cartes relais pour bus I2C. La carte HSRel5 a 5 relais + 3 GPIO via un PCF8574 (8 GPIO). Les 5 premiers pilotent les relais, les 3 derniers sont disponibles. Les relais nécessitent 12 V, fournis via un driver de relais (ULN2803) et un inverseur (car l'état par défaut du PCF8574 est HIGH à la mise sous tension, ce qui fermerait tous les relais involontairement).

Pour fermer le premier relais, il faut envoyer 00011110 (MSB) au PCF8574 → met la première broche à LOW → inverseur → driver → relais.

La carte HSRel8(+8) utilise un MAX7311 (8 relais + 8 GPIO) et ne nécessite pas d'inverseur matériel. La logique HIGH/LOW est inversée par rapport à la HSRel5, gérée par le logiciel.

J'utilise 8 HSRel5 et 4 HSRel8. Le PCF8574 permet 8 adresses, le PCF8574A en ajoute 8 autres → 16 HSRel5 max sur le bus.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Extensions de ports (entrées)

Boutons, détecteurs, contacts reed sont câblés sur des cartes I2C-Port16 HS (MAX7311, résistances de tirage 5 V 10 kΩ, condensateurs céramiques 100 nF pour filtrage). Alimentation 12 V ou 5 V.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Chaque dispositif d'entrée a son propre câble CAT7 (blindé, blindage relié à PE) vers le tableau. Les points multiples (ex: volets) peuvent partager un câble.

Au tableau, chaque entrée est câblée sur une broche de l'expandeur et GND. Par défaut HIGH (pull-up). Appui = connexion à GND = LOW. Même principe pour détecteurs et contacts reed.

Un fil d'interruption partagé relie toutes les cartes d'entrée. Tiré à HIGH par défaut. Tout changement d'état sur un expandeur met l'interruption à LOW. Cela évite le polling continu : le Pi2 surveille seulement ce GPIO d'interruption, et interroge les expandeurs concernés seulement si changement.

Raspberry Pi 2

Le Pi 2 tourne sous Windows 10 IoT, monté dans un boîtier personnalisé sur le tableau. Il possède un shield de prototypage avec : LED de statut, port d'interruption avec pull-up 10 kΩ, résistance de protection 1 kΩ, condensateur 100 nF (anti-rebonds). Bornier à vis pour tous les câbles.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Capteurs température/humidité

10 capteurs DHT22 (AOSONG) mesurent température et humidité par pièce. Le protocole propriétaire ne gère pas l'adressage → chaque capteur doit être câblé sur un microcontrôleur. J'utilise un Arduino Nano V3.0 en esclave sur le bus I2C. Il lit tous les capteurs toutes les 2,5 s et met en cache. Le Pi2 lit les valeurs en envoyant l'ID du port (0-10), comme une lecture de registre I2C standard.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

L'application web affiche température et humidité avec un indicateur de risque de moisissure : <60% vert, <70% jaune, ≥70% rouge.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Configuration matérielle au tableau

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Relais 433 MHz

L'Arduino Nano (pont DHT22) envoie aussi les signaux 433 MHz. L'émetteur FS1000A est logé dans le boîtier du capteur central, alimenté en 12 V pour portée accrue.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Problème : les relais 433 MHz ne renvoient pas d'état. L'utilisateur peut changer l'état avec la télécommande d'origine. Solution : le logiciel force une resynchronisation toutes les 5 s. Les codes 433 MHz sont configurés manuellement via un circuit sur plaque d'essai (sketch Arduino dans CK.HomeAutomation.SensorsBridge\RemoteCodeFinder).

Bac à litière connecté

Le bac à litière du chat est relié à une vieille cheminée inutilisée. Un ventilateur sur relais extrait les odeurs. Un détecteur de mouvement au local de stockage déclenche le ventilateur pendant quelques minutes. Icône dédiée dans l'appli web pour contrôle manuel. Les logs permettent de suivre l'usage du bac et d'optimiser le nettoyage.

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Logiciel

Avant Windows 10 IoT, le logiciel tournait sur un G120 (GHI Electronics) avec .NET Micro Framework 4.3. Manque de performances (120 MHz, 16 Mo RAM, interpréteur) → migration vers Windows 10 IoT Background Task + intégration Azure.

Le dépôt GitHub contient la solution Visual Studio 2015 complète.

Structure des projets

Modules principaux

Automatismes

Station météo virtuelle

Données météo (température, humidité, lever/coucher soleil) depuis OpenWeatherMap API, toutes les 60 s. Interface IWeatherStation pour intégrer facilement une station physique future.

CK.HomeAutomation.Hardware

Drivers pour cartes relais/entrées CCTools, relais 433 MHz. Code Arduino Nano (pont capteurs + émetteur 433 MHz) inclus. Couche d'abstraction via interfaces pour ajouter facilement de nouveaux drivers.

CK.HomeAutomation.Telemetry

Application Web

Projet CK.HomeAutomation.App : AngularJS + jQuery + Bootstrap. Configuration UI générée depuis le contrôleur (Pi2). Fichier Configuration.js pour config/traduction + IP du contrôleur. Hébergement sur serveur web requis pour « Ajouter à l'écran d'accueil » iOS (perso : BananaPi + nginx).

Automatisation domestique avec Raspberry Pi 2 et Windows 10 IoT Core : Guide complet

Terminal

Un vieil iPad 3 sert de terminal mural dans le salon.

Évolutions futures

Intéressé pour contribuer (matériel, logiciel, doc) ? Contactez-moi !

Code

Dépôt GitHub

Solution complète (SDK, WebApp, configuration personnelle) :

https://github.com/chkr1011/CK.HomeAutomation.git

Schémas

Processus de fabrication

  1. Construire un enregistreur de température Raspberry Pi avec capteur I2C à 5 $
  2. Surveillance météo à distance avec Raspberry Pi 3 et PubNub
  3. Intégration du TI SensorTag à Blynk via Node‑RED sur Raspberry Pi Zero
  4. Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi
  5. Surveiller la température de votre maison avec un tableau de bord Raspberry Pi
  6. Lire les pulsations cardiaques avec Windows 10 IoT Core sur Raspberry Pi – Guide étape par étape
  7. Construire un système domotique piloté par Raspberry Pi pour contrôle à distance
  8. Envoyer les données IMU 10DOF Adafruit du Raspberry Pi 2 vers Azure Event Hubs avec Windows 10 IoT Core
  9. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core