Table des matières:

Construire des appareils Homie pour l'IoT ou la domotique : 7 étapes (avec photos)
Construire des appareils Homie pour l'IoT ou la domotique : 7 étapes (avec photos)

Vidéo: Construire des appareils Homie pour l'IoT ou la domotique : 7 étapes (avec photos)

Vidéo: Construire des appareils Homie pour l'IoT ou la domotique : 7 étapes (avec photos)
Vidéo: La domotique en sans fil : quels protocoles choisir ? 📡 2024, Novembre
Anonim
Construire des appareils Homie pour l'IoT ou la domotique
Construire des appareils Homie pour l'IoT ou la domotique

Cette instructable fait partie de ma série DIY Home Automation, consultez l'article principal « Planification d'un système DIY Home Automation ». Si vous ne savez pas encore ce qu'est Homie, jetez un œil à homie-esp8266 + homie de Marvin Roger.

Il existe de nombreux capteurs. Je couvre les plus basiques afin de donner au lecteur les conditions requises pour commencer à construire "quelque chose". Ce n'est peut-être pas sorcier, mais cela devrait fonctionner.

Si vous n'avez pas les pièces, faites attention à mon prochain instructable "Sourcing Electronic Parts From Asia".

J'ajoute quelques mots à la mode: IoT, ESP8266, Homie, DHT22, DS18B20, domotique.

Le sujet devrait être assez clair maintenant:-)

En outre, cette instructable est désormais également disponible sur ma page personnelle:

Étape 1: Mise en route

Commencer
Commencer
Commencer
Commencer

Conventions

Cette instructable utilise des clones D1 Mini. Ce sont des contrôleurs compatibles Arduino compatibles WiFi utilisant la puce ESP8266. Ils sont expédiés dans un très petit facteur de forme (~34*25mm) et sont très bon marché (~3-4$ pour les clones).

J'illustrerai chaque construction à l'aide d'un D1 Mini, d'une maquette et de quelques capteurs. J'inclus une nomenclature (BOM) pour chacun, mais j'ignorerai des éléments évidents tels que les câbles de démarrage et la planche à pain (mini ou complète). Je vais me concentrer sur les "parties actives".

Pour les fils/câbles dans les schémas (bibliothèque Fritzing + AdaFruitFritzing), j'ai utilisé:

  • Rouge/Orange pour l'alimentation, généralement 3,3 V. Parfois ce sera du 5V, soyez prudent.
  • Noir pour le sol.
  • Jaune pour les signaux de données numériques: les bits voyagent et peuvent être lus tels quels par les puces.
  • Bleu/Violet pour les signaux de données analogiques: Pas de bits ici, juste une simple tension qui doit être mesurée et calculée pour comprendre ce qui se passe.

Homie pour ESP8266 expédie une douzaine d'exemples, c'est là que j'ai commencé à construire cette instructable.

Planche à pain

Le D1 est assez convivial pour la planche à pain mais n'économisera qu'une seule rangée de broches vers le haut et vers le bas. Chaque exemple aura le D1 sur le côté droit et les composants sur le côté gauche. Les rails d'alimentation supérieur et inférieur seront utilisés pour transporter 3,3 V ou 5 V.

Noter

Les exemples Homie sont construits en tant que croquis ".ino" pour Arduino IDE. Mon propre code est cependant construit en tant que ".ccp" pour PlatformIO.

Cela fera très peu de différence car les croquis sont assez simples pour être copiés/collés quel que soit l'outil de votre choix.

Étape 2: Température & Humidité: DHT22 / DHT11

Température & Humidité: DHT22 / DHT11
Température & Humidité: DHT22 / DHT11
Température & Humidité: DHT22 / DHT11
Température & Humidité: DHT22 / DHT11
Température & Humidité: DHT22 / DHT11
Température & Humidité: DHT22 / DHT11

Construire l'appareil

Le DHT22 utilise:

  • Une broche numérique pour communiquer avec le contrôleur, connectez-la à D3
  • Deux fils pour l'alimentation (3.3V ou 5V + GND)
  • La broche numérique doit être maintenue haute (connectée à l'alimentation), pour cela, nous utilisons une résistance entre le rail d'alimentation et la broche de données

Code

Le projet PlatformIO est téléchargeable sur:

L'exemple original Homie est ici (mais n'utilise pas de capteur):

Pour DHT22, utilisez la bibliothèque de capteurs DHT (ID = 19)

Nomenclature

  • Contrôleur: Wemos D1 Mini
  • Résistance: 10KΩ
  • Capteur: (un de ceux-ci)

    • DHT22: J'ai utilisé le type 4 broches qui nécessite une résistance supplémentaire. Il y a des modules à 3 broches livrés en SMD qui incluent la résistance.
    • DHT11: C'est moins cher mais moins précis, vérifiez vos besoins

Étape 3: Température étanche: DS18B20

Température d'étanchéité: DS18B20
Température d'étanchéité: DS18B20
Température d'étanchéité: DS18B20
Température d'étanchéité: DS18B20
Température d'étanchéité: DS18B20
Température d'étanchéité: DS18B20

Construire l'appareilLe DS18B20 utilise:

  • Une broche numérique pour communiquer avec le contrôleur, connectez-la à D3
  • Deux fils pour l'alimentation (3.3V ou 5V + GND)
  • La broche numérique doit être maintenue haute (connectée à l'alimentation), pour cela, nous utilisons une résistance entre le rail d'alimentation et la broche de données

Le DS18B20 est un capteur 1 fil. Il utilise un bus et, en tant que tel, plusieurs capteurs peuvent utiliser une seule broche de données.

Il est également possible de NE PAS utiliser 3.3V/5V pour alimenter le capteur, c'est ce qu'on appelle le mode d'alimentation parasite. Voir la fiche technique pour plus de détails.

Code

Le projet PlatformIO est téléchargeable sur:

Comme pour le DHT22, l'exemple original Homie est ici (mais n'utilise pas de capteur):

Pour le bus 1-Wire, utilisez le package OneWire (ID=1)

Pour DS18B20, utilisez DallasTemperature (ID=54)

Nomenclature

  • Contrôleur: Wemos D1 Mini
  • Résistance: 4.7KΩ
  • Capteur: DS18B20, la photo est étanche
  • Borne à vis à 3 broches pour faciliter la connexion du câble à la planche à pain

Étape 4: Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)

Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)
Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)
Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)
Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)
Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)
Lumière: Photorésistance / Cellule photoélectrique (numérique: On/off)

Construire l'appareil

(Désolé, je n'ai pas de composant Fritzing pour la cellule photoélectrique numérique)

Le module numérique photocellule utilise:

  • Une broche numérique pour communiquer avec le contrôleur, connectez-la à D3
  • Deux fils pour l'alimentation (3.3V + GND)

Il est possible d'utiliser une photocellule analogique mais ce n'est pas documenté ici, voir l'excellent article d'Adafruit "Using a Photocell".

Remarque: dans cet exemple, il y a un potentiomètre sur la carte du capteur. Il est utilisé pour définir la limite entre la lumière ambiante "claire" et "sombre". Lorsque le voyant de lecture 1 est éteint, la lecture 0 signifie que le voyant est allumé.

Code

Le projet PlatformIO est téléchargeable sur:

Nomenclature

Contrôleur: Wemos D1 Mini

Capteur: Module photosensible/détection de lumière

Étape 5: Lumière: Photorésistance / Photocellule (analogique)

Lumière: Photorésistance / Photocellule (analogique)
Lumière: Photorésistance / Photocellule (analogique)
Lumière: Photorésistance / Photocellule (analogique)
Lumière: Photorésistance / Photocellule (analogique)
Lumière: Photorésistance / Photocellule (analogique)
Lumière: Photorésistance / Photocellule (analogique)

Construire l'appareil

Le capteur analogique de la cellule photoélectrique agit comme une résistance. Il se connectera entre une entrée analogique et 3,3V.

Une résistance est placée entre GND et la broche de données pour créer un diviseur de tension. Le but est de créer une plage de valeurs connue:

  • S'il n'y a pas de lumière, la cellule photoélectrique bloquera essentiellement VCC, connectant ainsi GND à votre broche de données: la broche lira près de 0.
  • S'il y a beaucoup de lumière vive, la cellule photoélectrique laissera le VCC s'écouler vers la broche de données: la broche lira presque la pleine tension et donc proche du maximum (1023).

Remarque: les valeurs des broches analogiques sont lues dans une plage de 0 à 1023 à l'aide d'analogRead. Ce n'est pas pratique pour traiter des valeurs de 1 octet, pour cela la fonction de carte Arduino aidera à réduire de 0-1023 à (par exemple) 0-255.

Pour l'étalonnage des valeurs min/max de votre capteur, utilisez un croquis comme celui-ci d'Arduino.

Code

Le projet PlatformIO est téléchargeable sur:

Nomenclature

  • Contrôleur: Wemos D1 Mini
  • Capteur: Résistance dépendante de la lumière (LDR) / Photorésistance
  • Résistance: 1K ou 10K, besoin de calibrer en fonction de votre cellule

Les références

  • Code source du serveur PiDome pour les conditions d'éclairage d'un emplacement
  • "Utiliser une cellule photoélectrique" d'Adafruit
  • "Photorésistances" ici sur instructables
  • Un "tutoriel photocellule" fou si vous voulez des mathématiques et des graphiques

Étape 6: Détecteur optique: QRD1114

Construire l'appareil

Code

Nomenclature

Les références

  • Informatique physique: QRD1114 comprend un exemple de code pour lire le capteur et utiliser une interruption pour l'encodeur rotatif + une conception de PCB précise
  • QRD1114 Guide de branchement du détecteur optique chez Sparkfun

Étape 7: Derniers mots

Derniers mots
Derniers mots

Cette instructable est très courte pour expliquer la surveillance de base.

Pour aller plus loin il va falloir brancher des relais, émetteur IR… On espère que ça sera abordé plus tard si le temps libre me le permet. La différence majeure est que nous ne nous contenterons pas de « lire » (y a-t-il de la lumière ?) mais aussi « d'écrire » (allumer la lumière !).

Conseillé: