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 de prises domestiques avec Windows 10 IoT Core, Raspberry Pi et Arduino

Composants et fournitures

Raspberry Pi 2 Modèle B × 1
Module XBee × 2
Arduino UNO × 1
Câble FTDI × 2
Shield relais 4 canaux pour Arduino × 1
Shield XBee SparkFun × 1

Applications et services en ligne

À propos du projet

Introduction

Ce projet montre comment contrôler les prises de courant de votre maison localement et via le cloud en utilisant un Raspberry Pi sous Windows 10 IoT, des modules XBee et un Arduino. Tous les exemples de code sont disponibles sur GitHub.

Pourquoi automatiser les prises de courant ?

Au lieu de contrôler chaque appareil depuis le cloud, l'automatisation des prises permet de brancher n'importe quel appareil et de le contrôler. J'illustre cela avec le contrôle d'un ventilateur et d'une lampe.

Démarrage avec les modules XBee

J'utilise des modules XBee pour la transmission radio. Un XBee « Coordinateur » est connecté au Raspberry Pi, l'autre « Routeur » à la prise de courant. Le coordinateur envoie les signaux basés sur nos entrées au routeur pour contrôler les prises.

Configurer les XBee en mode AT

Téléchargez et installez XCTU. Pour mettre à jour le firmware Zigbee (XBee), j'ai utilisé un adaptateur FTDI Adafruit. Regardez ce tutoriel pour configurer les XBee en mode AT. Assurez-vous que les deux XBee communiquent avant de continuer.

Configuration du récepteur (côté prise)

Matériel nécessaire : Zigbee Routeur, Arduino UNO R3, Shield XBee pour Arduino, Shield relais Arduino.

Code Arduino (Sketch)

Si les données du Coordinateur sont « ON1 », on active le relais 1. « ON2 » active le relais 2. « OFF1 » et « OFF2 » les désactivent. Compilez et téléversez dans l'IDE Arduino :

#define RELAY1 7
#define RELAY2 5
String state = "OFF";

void setup() {
  Serial.begin(9600);
  pinMode(RELAY1, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    state = Serial.readString();
    Serial.println(state);
  }
  if (state == "ON1\r\n") digitalWrite(RELAY1, 1);
  else if (state == "ON2\r\n") digitalWrite(RELAY2, 1);
  else if (state == "OFF1\r\n") digitalWrite(RELAY1, 0);
  else if (state == "OFF2\r\n") digitalWrite(RELAY2, 0);
  else {
    digitalWrite(RELAY1, 0);
    digitalWrite(RELAY2, 0);
  }
}

Configurer la prise de courant (Précaution : haute tension)

Les relais sont des interrupteurs commandés par faible tension. L'entrée du relais peut être du courant alternatif (110-240 V). Avec un microcontrôleur comme l'Arduino, on commande l'ouverture/fermeture du relais.

ATTENTION : Nous manipulons du courant secteur. Respectez le courant alternatif et prenez des précautions extrêmes. Procédez à vos risques.

Au lieu de câbler directement le relais sur la prise, j'ai utilisé une rallonge. Le principe est identique : laissez un fil intact, coupez l'autre et connectez ses extrémités au contact Commun (C) et Normalement Ouvert (NO) du relais.

Connectez le shield relais à l'Arduino, empilez le shield XBee par-dessus. Branchez le Zigbee configuré en Routeur sur le shield XBee. Alimentez l'Arduino avec une source externe. Le récepteur est prêt.

Configuration du serveur (Raspberry Pi)

Matériel : Raspberry Pi 2 sous Windows 10 IoT + Zigbee configuré en Coordinateur.

Connectez le Zigbee à l'adaptateur FTDI, puis le câble USB FTDI RS-232 6 broches au port USB du Raspberry Pi. Nous allons créer un serveur web UWP sur le Pi. Le serveur attend l'entrée utilisateur et écrit les données série sur le port USB où est connecté le câble FTDI ; le Zigbee transmet ce message par ondes radio. Les adresses DH/DL du routeur sont déjà configurées dans le coordinateur.

Pour les pilotes FTDI sur Raspberry Pi, voir ce dépôt GitHub.

Suivez cette vidéo pour configurer le serveur web sur le Raspberry Pi. Tous les codes sont sur GitHub.

Activer Azure

Pour contrôler la maison depuis n'importe où, ajoutons les services cloud.

Créez un site web hébergé sur Azure. Créez une base de données Azure SQL pour l'authentification/autorisation des utilisateurs. Créez un service de stockage Azure Cloud pour recevoir les commandes. Traitez ces commandes depuis l'application Blinky du Raspberry Pi pour contrôler la maison.

Regardez le tutoriel vidéo sur l'utilisation d'Azure pour ce projet.

Démonstration

Deux façons de contrôler les prises :

  1. Accéder à l'URL du serveur web du Raspberry Pi sur le réseau local
  2. Via l'application web ASP.NET 5 hébergée sur Azure

Conclusion

  1. Cette automatisation résout de vrais problèmes. En ajoutant des capteurs de lumière et de mouvement, on peut allumer/éteindre automatiquement ou fournir des données pour économiser l'énergie.
  2. Les personnes âgées peuvent utiliser une télécommande pour contrôler leurs prises (nécessite un dispositif RFID additionnel).
  3. On peut programmer des horaires pour allumer/éteindre les lumières et économiser l'énergie.
  4. En cas d'intrusion, allumer toutes les lumières.
  5. En vacances, éteindre toute la maison d'un clic.
  6. Ne plus maintenir la température en permanence, le faire seulement quand nécessaire. Économie d'énergie.

Code

Contrôle relais (C/C++)

#define RELAY1 7
#define RELAY2 5
String state = "OFF";

void setup() {
  Serial.begin(9600);
  pinMode(RELAY1, OUTPUT);
}

void loop() {
  if (Serial.available() > 0) {
    state = Serial.readString();
    Serial.println(state);
  }
  if (state == "ON1\r\n") digitalWrite(RELAY1, 1);
  else if (state == "ON2\r\n") digitalWrite(RELAY2, 1);
  else if (state == "OFF1\r\n") digitalWrite(RELAY1, 0);
  else if (state == "OFF2\r\n") digitalWrite(RELAY2, 0);
  else {
    digitalWrite(RELAY1, 0);
    digitalWrite(RELAY2, 0);
  }
}

Exemples de code : https://github.com/syediddi/hacksterio

Schémas

Câblage du cordon d'alimentation sur le relais.

Processus de fabrication

  1. Construire un réseau de capteurs sans fil abordable pour votre maison
  2. Construire une porte à reconnaissance faciale sécurisée avec Windows IoT et Raspberry Pi
  3. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
  4. Installation de Windows 10 IoT Core sur Raspberry Pi 3 Model B+ : Guide Étape par Étape
  5. Construire un robot piloté par la parole avec Windows 10 IoT Core sur Raspberry Pi 2
  6. Étendre GoPiGo v2 sur Windows 10 IoT Core pour Raspberry Pi 3
  7. Exploiter l'IoT : accélérer la transformation digitale aujourd'hui
  8. Système de Contrôle de Piscine IoT Azure : Capteurs Intelligents & Surveillance à Distance
  9. Créer des tableaux de bord Power BI à partir des données cloud PLCnext