Table des matières:

Domotique avec Raspberry Pi en utilisant la carte relais : 7 étapes
Domotique avec Raspberry Pi en utilisant la carte relais : 7 étapes

Vidéo: Domotique avec Raspberry Pi en utilisant la carte relais : 7 étapes

Vidéo: Domotique avec Raspberry Pi en utilisant la carte relais : 7 étapes
Vidéo: Tutoriel Domotique avec Raspberry Pi + arduino 2024, Juillet
Anonim
Domotique avec Raspberry Pi à l'aide d'une carte relais
Domotique avec Raspberry Pi à l'aide d'une carte relais

Un grand nombre de personnes veulent un grand confort mais à des prix raisonnables. Nous nous sentons paresseux pour éclairer les maisons tous les soirs lorsque le soleil se couche et le lendemain matin, en éteignant à nouveau les lumières ou pour allumer / éteindre le climatiseur / le ventilateur / les radiateurs selon le temps ou la température ambiante.

Une solution peu coûteuse pour éviter ce travail supplémentaire d'éteindre les appareils en cas de besoin est ici. Il s'agit d'automatiser vos maisons à des coûts comparativement très inférieurs à l'aide de simples produits plug and play. Cela fonctionne comme lorsque la température monte ou descend, il allume le climatiseur ou le chauffage, respectivement. De plus, si nécessaire, il vous aidera à allumer ou à allumer les lumières de votre maison sans les allumer manuellement. Et bien d'autres appareils peuvent être contrôlés. Automatisez le monde. Laissez-nous commencer votre maison.

Étape 1: Matériel requis

Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis
Matériel requis

Nous utiliserons:

Tarte aux framboises

Le Raspberry Pi est un PC basé sur Linux à carte solitaire. Ce petit PC offre une puissance d'enregistrement puissante, utilisée comme exercice d'électronique, et des opérations sur PC telles que des feuilles de calcul, du traitement de texte, de la navigation sur le Web, des e-mails et des jeux

Bouclier I2C ou en-tête I2C

L'INPI2 (adaptateur I2C) fournit au Raspberry Pi 2/3 un port I²C à utiliser avec plusieurs appareils I2C

Contrôleur de relais I2C MCP23008

Le MCP23008 de Microchip est une extension de port intégrée qui contrôle huit relais via le bus I²C. Vous pouvez ajouter plus de relais, d'E/S numériques, de convertisseurs analogique-numérique, de capteurs et d'autres appareils à l'aide du port d'extension I²C intégré

Capteur de température MCP9808

Le MCP9808 est un capteur de température de haute précision qui fournit des signaux de capteur calibrés et linéarisés au format numérique I²C

Capteur de luminance TCS34903

Le TCS34903 est un produit de la famille des capteurs de couleur qui fournit la valeur de la composante RVB de la lumière et de la couleur

Câble de connexion I2C

Le câble de connexion I2C est un câble à 4 fils destiné à la communication I2C entre deux appareils I2C connectés via celui-ci

Adaptateur micro-USB

Pour alimenter Raspberry Pi, nous avons besoin d'un câble Micro USB

Adaptateur secteur 12V pour carte relais

Le contrôleur de relais MCP23008 fonctionne sur une alimentation externe 12V et cela peut être fourni à l'aide d'un adaptateur secteur 12V

Vous pouvez acheter le produit en cliquant dessus. En outre, vous pouvez trouver d'autres excellents articles sur Dcube Store.

Étape 2: connexion matérielle

Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel
Raccordement matériel

Les connexions requises (voir les images) sont les suivantes:

  1. Cela fonctionnera sur I2C. Prenez un shield I2C pour Raspberry Pi et connectez-le délicatement aux broches GPIO de Raspberry Pi.
  2. Connectez l'une des extrémités du câble I2C au port d'entrée du TCS34903 et l'autre extrémité au blindage I2C.
  3. Connectez le pot d'entrée du capteur MCP9808 à la sortie du TCS34903 à l'aide d'un câble I2C.
  4. Connectez le pot d'entrée du MCP23008 à la sortie du capteur MCP9808 à l'aide d'un câble I2C.
  5. Connectez également le câble Ethernet au Raspberry Pi. Le routeur Wi-Fi peut également être utilisé pour la même chose.
  6. Ensuite, alimentez le Raspberry Pi à l'aide d'un adaptateur Micro USB et de la carte relais MCP23008 à l'aide d'un adaptateur 12V.
  7. Enfin, connectez la lumière avec le premier relais et un ventilateur ou un radiateur avec le deuxième relais. Vous pouvez étendre le module ou connecter plus d'appareils avec les relais.

Étape 3: communiquer à l'aide du protocole I2C

Pour activer Raspberry Pi I2C, procédez comme indiqué ci-dessous:

  1. Dans le terminal, tapez la commande suivante pour ouvrir les paramètres de configuration: sudo raspi-config
  2. Sélectionnez « Options avancées » ici.
  3. Sélectionnez "I2C" et cliquez sur "Oui".
  4. Redémarrez le système pour le configurer en fonction des modifications apportées à l'aide de la commande reboot.

Étape 4: Programmation du module

La récompense de l'utilisation de Raspberry Pi est qu'elle vous offre la possibilité d'opter pour le langage de programmation dans lequel vous souhaitez programmer pour interfacer le dispositif de détection avec Raspberry Pi. Exploitant cet avantage de Raspberry Pi, nous démontrons ici sa programmation en Java.

Pour configurer l'environnement Java, installez la "libraby pi4j" à partir de https://pi4j.com/1.2/index.html Pi4j est une bibliothèque d'entrée/sortie Java pour Raspberry Pi. Une méthode simple et préférée pour installer le "pi4j library" consiste à exécuter la commande ci-dessous directement dans votre Raspberry Pi:

curl -s get.pi4j.com | sudo bash

OU

curl -s get.pi4j.com

importer com.pi4j.io.i2c. I2CBus;importer com.pi4j.io.i2c. I2CDevice; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException; class MCP23008 { public static void main(String args) lève une exception { int status, value, value1= 0x00; // Créer un bus I2C Bus I2CBus = I2CFactory.getInstance(I2CBus. BUS_1); // Obtenir le périphérique I2C, l'adresse I2C du MCP23008 est 0x20(32) I2CDevice device = bus.getDevice(0x20); // Obtenir le périphérique I2C, MCP9808 L'adresse I2C est 0x18(24) I2CDevice MCP9808 = bus.getDevice(0x18); // Obtenir le périphérique I2C, l'adresse I2C TCS34903 est 0x39(55) I2CDevice TCS34903 = bus.getDevice(0x39); // Définir le registre du temps d'attente = 0xff (255), le temps d'attente = 2,78 ms TCS34903.write(0x83, (byte)0xFF); // Activer l'accès au canal IR TCS34903.write(0xC0, (byte)0x80); // Définir le registre Atime sur 0x00 (0), nombre maximum = 65535 TCS34903.write(0x81, (byte)0x00); // Mise sous tension, ADC activé, attente activée TCS34903.write(0x80, (byte)0x0B); Thread.sommeil(250); // Lecture de 8 octets de données avec clear/ir data LSB first byte data1 = new byte[8]; // Lecture des données de température byte data = new byte[2]; état = périphérique.read (0x09); // Configuré toutes les broches comme OUTPUT device.write (0x00, (byte)0x00); Thread.sleep(500); while(true){ MCP9808.read(0x05, données, 0, 2); // Convertir les données int temp = ((data[0] & 0x1F) * 256 + (data[1] & 0xFF)); if(temp > 4096) { temp -= 8192; } double cTemp = temp * 0,0625; System.out.printf("La température en Celsius est: %.2f C %n", cTemp); TCS34903.read (0x94, données1, 0, 8); double ir = ((données1[1] & 0xFF) * 256) + (données1[0] & 0xFF) * 1,00; double rouge = ((données1[3] & 0xFF) * 256) + (données1[2] & 0xFF) * 1,00; double vert = ((données1[5] & 0xFF) * 256) + (données1[4] & 0xFF) * 1,00; double bleu = ((données1[7] & 0xFF) * 256) + (données1[6] & 0xFF) * 1,00; // Calculer l'éclairement double éclairement = (-0,32466) * (rouge) + (1,57837) * (vert) + (-0,73191) * (bleu); System.out.printf("L'éclairement est: %.2f lux%n ", éclairement); if (éclairement 30) { valeur = valeur1 | (0x01); } else { valeur = valeur1 & (0x02); } périphérique.write(0x09, (octet)valeur); Thread.sommeil(300); } } }

Étape 5: Création du fichier et exécution du code

  1. Pour créer un nouveau fichier où le code peut être écrit/copié, la commande suivante sera utilisée: sudo nano FILE_NAME.javaEg. sudo nano MCP23008.java
  2. Après avoir créé le fichier, nous pouvons entrer le code ici.
  3. Copiez le code donné à l'étape précédente et collez-le dans la fenêtre ici.
  4. Appuyez sur Ctrl+X puis "y" pour quitter.
  5. Compilez ensuite le code à l'aide de la commande suivante: pi4j FILE_NAME.javaEg. pi4j MCP23008.java
  6. S'il n'y a pas d'erreurs, exécutez le programme à l'aide de la commande mentionnée ci-dessous: pi4j FILE_NAMEEg. pi4j MCP23008.java

Étape 6: Candidatures

Ce système vous permet de contrôler les appareils sans passer par les interrupteurs muraux. Cela a des capacités étendues car les heures d'allumage ou d'extinction des appareils sont programmées automatiquement. Il existe une poignée d'applications de ce module, des maisons aux industries, des hôpitaux, des gares et de nombreux autres endroits qui peuvent être automatisés de manière abordable et facile grâce à ses composants plug-and-play.

Étape 7: Ressources

Pour plus d'informations sur le contrôleur de relais TSL34903, MCP9808 MCP23008, consultez les liens ci-dessous:

  • Fiche technique TSL34903
  • Fiche technique MCP9808
  • Fiche technique MCP23008

Conseillé: