Inhaltsverzeichnis:

Erstellen von Homie-Geräten für IoT oder Heimautomatisierung - Gunook
Erstellen von Homie-Geräten für IoT oder Heimautomatisierung - Gunook

Video: Erstellen von Homie-Geräten für IoT oder Heimautomatisierung - Gunook

Video: Erstellen von Homie-Geräten für IoT oder Heimautomatisierung - Gunook
Video: IoBroker Datenpunkt Erklärung z.B. Lampen Geräte in IOT Adapter bringen und über Alexa steuern 2024, November
Anonim
Bau von Homie-Geräten für IoT oder Heimautomation
Bau von Homie-Geräten für IoT oder Heimautomation

Dieses anweisbare ist Teil meiner DIY Home Automation-Serie, lesen Sie den Hauptartikel "Planung eines DIY Home Automation Systems". Wenn Sie noch nicht wissen, was Homie ist, schauen Sie sich homie-esp8266 + homie von Marvin Roger an.

Es gibt viele viele Sensoren. Ich behandle die sehr grundlegenden, um dem Leser die Voraussetzungen zu geben, um mit dem Bau von "etwas" zu beginnen. Das ist vielleicht kein Hexenwerk, aber das sollte eigentlich funktionieren.

Wenn Sie die Teile nicht haben, achten Sie auf meine bevorstehende anweisbare "Sourcing Electronic Parts From Asia".

Lassen Sie mich ein paar Schlagworte hinzufügen: IoT, ESP8266, Homie, DHT22, DS18B20, Hausautomation.

Thema sollte jetzt ziemlich klar sein:-)

Auch dieses instructable ist jetzt auch von meiner persönlichen Seite verfügbar:

Schritt 1: Erste Schritte

Einstieg
Einstieg
Einstieg
Einstieg

Konventionen

Dieses anweisbare verwendet D1 Mini-Klone. Dies sind WiFi-fähige Arduino-kompatible Controller mit ESP8266-Chip. Sie werden in einem sehr kleinen Formfaktor (~34*25mm) geliefert und sind spottbillig (~3-4$ für Klone).

Ich werde jeden Build mit einem D1 Mini, einem Steckbrett und einigen Sensoren veranschaulichen. Ich füge für jede eine Stückliste (BOM) bei, überspringe jedoch offensichtliche Dinge wie Überbrückungsdrähte und Steckbrett (mini oder voll). Ich konzentriere mich auf "aktive Teile".

Für Drähte/Kabel in Diagrammen (Fritzing + AdaFruitFritzing-Bibliothek) habe ich verwendet:

  • Rot/Orange für die Stromversorgung, normalerweise 3,3 V. Manchmal werden es 5V sein, seien Sie vorsichtig.
  • Schwarz für Boden.
  • Gelb für digitale Datensignale: Bits sind unterwegs und können so wie sie sind von Chips gelesen werden.
  • Blau/Lila für analoge Datensignale: Keine Bits hier, nur einfache Spannung, die gemessen und berechnet werden muss, um zu verstehen, was vor sich geht.

Homie für ESP8266 versendet ein Dutzend Beispiele, dort habe ich angefangen, dieses anweisbare zu bauen.

Steckbrett

Der D1 ist recht Breadboard-freundlich, spart aber nur eine Reihe von Pins nach oben und unten. Jedes Beispiel hat den D1 auf der rechten Seite und die Komponenten auf der linken Seite. Die oberen und unteren Stromschienen werden verwendet, um entweder 3,3 V oder 5 V zu führen.

Notiz

Homie-Beispiele werden als ".ino"-Skizzen für die Arduino IDE erstellt. Mein eigener Code wird jedoch als ".ccp" für PlatformIO erstellt.

Dies macht nur sehr wenig Unterschied, da Skizzen einfach genug sind, um kopiert/eingefügt zu werden, was auch immer das Werkzeug Ihrer Wahl ist.

Schritt 2: Temperatur und Luftfeuchtigkeit: DHT22 / DHT11

Temperatur und Luftfeuchtigkeit: DHT22 / DHT11
Temperatur und Luftfeuchtigkeit: DHT22 / DHT11
Temperatur und Luftfeuchtigkeit: DHT22 / DHT11
Temperatur und Luftfeuchtigkeit: DHT22 / DHT11
Temperatur und Luftfeuchtigkeit: DHT22 / DHT11
Temperatur und Luftfeuchtigkeit: DHT22 / DHT11

Aufbau des Geräts

Das DHT22 verwendet:

  • Ein digitaler Pin zur Kommunikation mit dem Controller, verbinden Sie ihn mit D3
  • Zwei Drähte für die Stromversorgung (3,3 V oder 5 V + GND)
  • Der digitale Pin muss hoch gehalten werden (mit Strom verbunden), dazu verwenden wir einen Widerstand zwischen Stromschiene und Datenpin

Code

Das PlatformIO-Projekt kann heruntergeladen werden von:

Das ursprüngliche Homie-Beispiel ist hier (verwendet jedoch keinen Sensor):

Verwenden Sie für DHT22 die DHT-Sensorbibliothek (ID=19)

Stückliste

  • Steuerung: Wemos D1 Mini
  • Widerstand: 10KΩ
  • Sensor: (einer davon)

    • DHT22: Ich habe die 4-polige Art verwendet, die einen zusätzlichen Widerstand erfordert. Es gibt 3-Pin-Module, die als SMD geliefert werden, die den Widerstand enthalten.
    • DHT11: Dies ist billiger, aber weniger genau, überprüfen Sie Ihre Anforderungen

Schritt 3: Wasserdichte Temperatur: DS18B20

Wasserdichte Temperatur: DS18B20
Wasserdichte Temperatur: DS18B20
Wasserdichte Temperatur: DS18B20
Wasserdichte Temperatur: DS18B20
Wasserdichte Temperatur: DS18B20
Wasserdichte Temperatur: DS18B20

Aufbau des GerätsDer DS18B20 verwendet:

  • Ein digitaler Pin zur Kommunikation mit dem Controller, verbinden Sie ihn mit D3
  • Zwei Drähte für die Stromversorgung (3,3 V oder 5 V + GND)
  • Der digitale Pin muss hoch gehalten werden (mit Strom verbunden), dazu verwenden wir einen Widerstand zwischen Stromschiene und Datenpin

Der DS18B20 ist ein 1-Draht-Sensor. Es verwendet einen Bus und als solcher können mehrere Sensoren einen einzigen Daten-Pin verwenden.

Es ist auch möglich, den Sensor NICHT mit 3,3 V/5 V zu versorgen, dies wird als parasitärer Strommodus bezeichnet. Details siehe Datenblatt.

Code

Das PlatformIO-Projekt kann heruntergeladen werden von:

Wie bei DHT22 ist das ursprüngliche Homie-Beispiel hier (verwendet jedoch keinen Sensor):

Verwenden Sie für den 1-Wire-Bus das Paket OneWire (ID=1)

Verwenden Sie für DS18B20 DallasTemperature (ID = 54)

Stückliste

  • Steuerung: Wemos D1 Mini
  • Widerstand: 4,7KΩ
  • Sensor: DS18B20, abgebildet ist ein wasserdichter Sensor
  • 3-polige Schraubklemme zum einfachen Anschließen des Kabels an das Steckbrett

Schritt 4: Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)

Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)
Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)
Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)
Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)
Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)
Licht: Fotowiderstand / Fotozelle (digital: Ein/Aus)

Aufbau des Geräts

(Leider habe ich keine Fritzing-Komponente für die digitale Lichtschranke)

Das digitale Fotozellenmodul verwendet:

  • Ein digitaler Pin zur Kommunikation mit dem Controller, verbinden Sie ihn mit D3
  • Zwei Drähte für die Stromversorgung (3,3 V + GND)

Es ist möglich, eine analoge Fotozelle zu verwenden, aber dies ist hier nicht dokumentiert, siehe den ausgezeichneten Artikel von Adafruit "Using a Photocell".

Hinweis: In diesem Beispiel befindet sich ein Potentiometer auf der Sensorplatine. Hiermit wird die Grenze zwischen „hellem“und „dunklem“Umgebungslicht eingestellt. Wenn das Licht von Lesung 1 aus ist, bedeutet das Lesen von 0 Licht, wenn es an ist.

Code

Das PlatformIO-Projekt kann heruntergeladen werden von:

Stückliste

Steuerung: Wemos D1 Mini

Sensor: Lichtempfindliches / Lichterkennungsmodul

Schritt 5: Licht: Fotowiderstand / Fotozelle (analog)

Licht: Fotowiderstand / Fotozelle (analog)
Licht: Fotowiderstand / Fotozelle (analog)
Licht: Fotowiderstand / Fotozelle (analog)
Licht: Fotowiderstand / Fotozelle (analog)
Licht: Fotowiderstand / Fotozelle (analog)
Licht: Fotowiderstand / Fotozelle (analog)

Aufbau des Geräts

Der analoge Sensor der Fotozelle wirkt als Widerstand. Es wird zwischen einem analogen Eingang und 3,3 V angeschlossen.

Ein Widerstand wird zwischen GND und Datenpin gelegt, um einen Spannungsteiler zu erzeugen. Der Zweck besteht darin, einen bekannten Wertebereich zu erstellen:

  • Wenn kein Licht vorhanden ist, blockiert die Fotozelle grundsätzlich VCC und verbindet so GND mit Ihrem Datenpin: Pin liest fast 0.
  • Wenn viel helles Licht vorhanden ist, lässt die Fotozelle VCC zum Daten-Pin fließen: Der Pin liest fast die volle Spannung und als solche nahe der maximalen (1023).

Hinweis: Analoge Pinwerte werden mit analogRead in einem Bereich von 0-1023 gelesen. Dies ist nicht praktikabel, um mit 1-Byte-Werten umzugehen, dafür hilft die Arduino-Map-Funktion dabei, von 0-1023 auf (zum Beispiel) 0-255 zu reduzieren.

Verwenden Sie für die Kalibrierung von Min / Max-Werten für Ihren Sensor eine Skizze wie diese von Arduino.

Code

Das PlatformIO-Projekt kann heruntergeladen werden von:

Stückliste

  • Steuerung: Wemos D1 Mini
  • Sensor: Lichtabhängiger Widerstand (LDR) / Fotowiderstand
  • Widerstand: 1K oder 10K, muss basierend auf Ihrer Zelle kalibriert werden

Verweise

  • PiDome-Server-Quellcode für die Lichtverhältnisse eines Standorts
  • Adafruits "Using a Photocell"
  • "Photowiderstände" hier bei instructables
  • Ein verdammt verrücktes "Fotozellen-Tutorial", wenn Sie etwas Mathematik und Grafiken haben wollen

Schritt 6: Optischer Detektor: QRD1114

Aufbau des Geräts

Code

Stückliste

Verweise

  • Physical Computing: QRD1114 enthält Beispielcode zum Lesen des Sensors und Verwendung von Interrupt für Drehgeber + präzises PCB-Design
  • QRD1114 Optischer Detektor Anschlussanleitung bei Sparkfun

Schritt 7: Schlussworte

Letzte Worte
Letzte Worte

Dieses anweisbare ist ein sehr kurzes, um die grundlegende Überwachung zu erklären.

Um weiter zu gehen, müssen wir Relais anschließen, IR-Sender… Dies wird hoffentlich später behandelt, wenn es mir die freie Zeit erlaubt. Der große Unterschied besteht darin, dass wir nicht nur "lesen" (gibt es Licht?), sondern auch "schreiben" (Licht einschalten!).

Empfohlen: