Inhaltsverzeichnis:
- Schritt 1: Batteriebetriebenes drahtloses Sensordesign
- Schritt 2: 434-MHz-Wireless-Remote-Hardware
- Schritt 3: 434-MHz-Fernbedienungssoftware
- Schritt 4: Hardware der drahtlosen Brücke
- Schritt 5: Wireless Bridge-Software
Video: Neue drahtlose IOT-Sensorschicht für das Umweltüberwachungssystem zu Hause - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Dieses Instructable beschreibt eine kostengünstigere, batteriebetriebene drahtlose IOT-Sensorschicht für mein früheres Instructable: LoRa IOT Home Environmental Monitoring System. Wenn Sie dieses frühere Instructable noch nicht gesehen haben, empfehle ich, die Einführung zu lesen, um einen Überblick über die Fähigkeiten des Systems zu erhalten, die jetzt auf diese neue Sensorschicht erweitert werden.
Das ursprüngliche LoRa IOT Home Environmental Monitoring System hat die Ziele erreicht, die ich bei seiner Veröffentlichung im April 2017 festgelegt hatte. Nachdem ich das Monitoring-System jedoch mehrere Monate lang zur Überwachung von Temperatur und Luftfeuchtigkeit auf jeder Etage des Hauses verwendet hatte, wollte ich 11 weitere Sensoren an besonders gefährdeten Stellen im Haus hinzufügen; Dazu gehören sechs Sensoren, die strategisch im Keller platziert sind, Sensoren in jedem Badezimmer und ein Sensor auf dem Dachboden, in der Waschküche und in der Küche.
Anstatt weitere LoRa-basierte Sensoren aus dem früheren Instructable hinzuzufügen, die etwas teuer sind und über Netzteile mit Strom versorgt werden, beschloss ich, eine Schicht kostengünstigerer, batteriebetriebener Sensoren mit 434-MHz-RF-Link-Sendern hinzuzufügen. Um die Kompatibilität mit dem bestehenden LoRa IOT Home Environmental Monitoring System aufrechtzuerhalten, habe ich eine drahtlose Brücke hinzugefügt, um die 434-MHz-Pakete zu empfangen und sie als LoRa-Pakete bei 915-MHz erneut zu übertragen.
Die neue Sensorschicht besteht aus folgenden Subsystemen:
- 434-MHz-Funkfernbedienungen - batteriebetriebene Temperatur- und Feuchtigkeitssensoren
- Wireless Bridge - Empfängt 434-MHz-Pakete und sendet sie als LoRa-Pakete erneut.
Die drahtlosen 434-MHz-Fernbedienungen verwenden im Vergleich zu LoRa-Funkgeräten eine geringere Sendeleistung und weniger robuste Protokolle. Die Verwendung der Wireless Bridge ermöglicht die Optimierung der Kommunikation mit den 434-MHz-Wireless-Fernbedienungen, ohne dass der Standort des LoRa IOT Gateway eingeschränkt wird.
Die drahtlosen 434-MHz-Fernbedienungen und die drahtlose Brücke werden aus leicht verfügbaren Hardwaremodulen und wenigen Einzelkomponenten hergestellt. Die Teile sind bei Adafruit, Sparkfun und Digikey erhältlich; in vielen Fällen sind Adafruit- und Sparkfun-Teile auch von Digikey erhältlich. Für den Zusammenbau der Hardware, insbesondere der Punkt-zu-Punkt-Verkabelung der 434-MHz-Funkfernbedienungen, sind kompetente Lötkenntnisse erforderlich. Der Arduino-Code ist zum Verständnis und zur einfachen Erweiterung der Funktionalität gut kommentiert.
Zu den Zielen dieses Projekts gehörten:
- Finden Sie eine kostengünstigere drahtlose Technologie, die für Haushaltsumgebungen geeignet ist.
- Entwickeln Sie einen batteriebetriebenen drahtlosen Sensor, der mehrere Jahre mit einem Batteriesatz betrieben werden kann.
- Erfordern Sie keine Änderung der LoRa IOT Gateway-Hardware oder -Software von meinem früheren Instructable.
Die Gesamtkosten für die Teile für die 434-MHz-Funkfernbedienungen, ohne die 3xAA-Batterien, betragen 25 US-Dollar, wovon der Temperatur- und Feuchtigkeitssensor SHT31-D mehr als die Hälfte (14 US-Dollar) ausmacht.
Wie bei den LoRa-Fernbedienungen von meinem früheren Instructable nehmen die 434-MHz-Fernbedienungen Temperatur- und Feuchtigkeitsmessungen vor und melden alle 10 Minuten über die drahtlose Brücke an das LoRa IOT-Gateway. Die elf 434-MHz-Funkfernbedienungen wurden im Dezember 2017 mit 3 x AA-Batterien mit nominal 4,5 V in Betrieb genommen. Die Batteriewerte der elf Sensoren im Dezember 2017 reichten von 4,57 V bis 4,71 V, sechzehn Monate später, im Mai 2019, reichen die Batteriewerte von 4,36 V bis 4,55 V. Die Verwendung von Teilen mit einem weiten Betriebsspannungsbereich sollte den Betrieb der Sensoren für ein weiteres Jahr oder länger gewährleisten, vorbehaltlich der Aufrechterhaltung der Zuverlässigkeit der HF-Verbindung, da die Sendeleistung bei niedrigeren Batteriespannungen reduziert wird.
Die Zuverlässigkeit der 434-MHz-Sensorschicht war in meiner Haushaltsumgebung hervorragend. Die neue Sensorschicht wird auf 4.200 m² fertiger Fläche und 1.800 m² unfertiger Kellerfläche eingesetzt. Sensoren sind von der Wireless Bridge durch eine Kombination aus 2 - 3 Innenwänden und Boden/Decken getrennt. Das LoRa IOT Gateway von meinem früheren Instructable sendet einen SMS-Alarm, wenn die Kommunikation mit einem Sensor für mehr als 60 Minuten unterbrochen wird (6 verpasste Zehn-Minuten-Berichte). Ein Sensor, auf dem Boden in einer Ecke am anderen Ende des Kellers hinter gestapelten Kisten, wird hin und wieder einen Kontaktverlustalarm auslösen, jedoch in allen Fällen wird die Kommunikation mit dem Sensor ohne Eingriff wiederhergestellt.
Vielen Dank für Ihren Besuch in diesem instructable, und lesen Sie bitte die folgenden Schritte für weitere Informationen.
- Batteriebetriebenes drahtloses Sensordesign
- 434-MHz-Wireless-Remote-Hardware
- 434-MHz-Wireless-Remote-Software
- Wireless-Bridge-Hardware
- Wireless-Bridge-Software
Schritt 1: Batteriebetriebenes drahtloses Sensordesign
Das Design für die 434-MHz-Funkfernbedienung verwendet die folgenden Teile:
- ATtiny85 8-Bit-AVR-Mikrocontroller
- Sensirion SHT31-D - Breakout-Board für Temperatur- und Feuchtigkeitssensoren
- Sparkfun 434-MHz-HF-Link-Sender
- 10K Ohm Widerstand
Eine der frühen Designentscheidungen bestand darin, Geräte zu vermeiden, die geregelte 3,3 V oder 5 V benötigen, und Teile auszuwählen, die über einen weiten Spannungsbereich arbeiten. Dies macht Spannungsregler, die Stromverschwender in einem batteriebetriebenen Design sind, überflüssig und verlängert die Betriebslebensdauer der Sensoren, da sie länger funktionieren, wenn die Batteriespannung im Laufe der Zeit abnimmt. Die Betriebsspannungsbereiche für die ausgewählten Teile sind wie folgt:
- ATtiny85: 2,7V bis 5,5V
- SHT31-D: 2,4V bis 5,5V
- HF-Link-Tx: 1,5 V bis 12 V
Unter Berücksichtigung eines gewissen Spielraums sollten die 434-MHz-Funkfernbedienungen bis zu einer Batteriespannung von 3 V funktionieren. Wie bereits erwähnt, bleibt nur abzuwarten, wie gut die Zuverlässigkeit der HF-Verbindung aufrechterhalten wird, da die Sendeleistung bei niedrigeren Batteriespannungen reduziert wird.
Die Entscheidung fiel auf 3 x AA-Batterien, um eine Nennstartspannung von 4,5 V bereitzustellen. Nach 16 Monaten Betrieb beträgt die niedrigste gemessene Batteriespannung 4,36 V.
Der ATtiny85 Watch Dog Timer (WDT) wird verwendet, um die 434-MHz-Funkfernbedienung die meiste Zeit im Schlafmodus zu halten. Der ATtiny85 wird alle 8 Sekunden vom WDT geweckt, um einen 10-Minuten-Zähler zu erhöhen; bei Erreichen eines 10-Minuten-Intervalls wird eine Messung durchgeführt und ein Datenpaket gesendet.
Um den Stromverbrauch weiter zu minimieren, werden der SHT31-D und der RF-Link-Sender über einen als Ausgang konfigurierten digitalen I/O-Port-Pin des ATtiny85 mit Strom versorgt. Der Strom wird angelegt, wenn der I/O-Pin auf High (1) getrieben wird, und entfernt, wenn der I/O-Pin auf Low (0) getrieben wird. Über die Software werden diese Peripheriegeräte nur alle 10 Minuten für 1 - 2 Sekunden mit Strom versorgt, während Messungen durchgeführt und übertragen werden. Eine Beschreibung der zugehörigen Software finden Sie unter 434-MHz-Wireless-Remote-Software.
Die einzige andere Komponente, die in der 434-MHz-Funkfernbedienung verwendet wird, ist ein 10K-Ohm-Widerstand, der zum Hochziehen des Reset-Pins des ATtiny85 verwendet wird.
Ein frühes Design verwendete einen ohmschen Spannungsteiler über der Batterie, um es einem ADC-Pin am ATTINY85 zu ermöglichen, die Batteriespannung zu messen. Obwohl klein, belastete dieser Spannungsteiler die Batterie ständig. Einige Forschungen haben einen Trick ergeben, der die interne 1,1 V Bandlücken-Referenzspannung des ATtiny85 verwendet, um Vcc (Batteriespannung) zu messen. Durch Einstellen der ADC-Referenzspannung auf Vcc und Messen der internen 1,1 V-Referenzspannung ist es möglich, nach Vcc aufzulösen. Die interne 1,1 V Referenzspannung des ATtiny85 ist konstant, solange Vcc > 3 V ist. Eine Beschreibung der zugehörigen Software finden Sie unter 434-MHz-Wireless-Remote-Software.
Die Kommunikation zwischen ATtiny85 und SHT31-D erfolgt über den I2C-Bus. Das Breakout-Board SHT31-D von Adafruit enthält Pull-Up-Widerstände für den I2C-Bus.
Die Kommunikation zwischen dem ATtiny85 und dem RF-Link-Sender erfolgt über einen als Ausgang konfigurierten digitalen I/O-Pin. Die RadioHead Packet Radio Library RH_ASK wird verwendet, um den RF-Link-Sender über diesen digitalen I/O-Pin ein- und auszuschalten (OOK / ASK).
Schritt 2: 434-MHz-Wireless-Remote-Hardware
Liste der Einzelteile:
1 x Adafruit Steckbrett 1/4 Größe, Digikey PN 1528-1101-ND
1 x Batteriehalter 3 x AA-Zellen, Digikey PN BC3AAW-ND
1 x Adafruit Sensiron SHT31-D Breakout-Board, Digikey PN 1528-1540-ND
1 x Sparkfun-HF-Link-Sender (434-MHz), Digikey PN 1568-1175-ND
1 x ATtiny85 Mikrocontroller, Digikey PN ATTINY85-20PU-ND
1 x 8-polige DIP-Buchse, Digikey PN AE10011-ND
1 x 10K Ohm, 1/8W Widerstand, Digikey PN CF18JT10K0CT-ND
6,75 / 17cm Länge von 18AWG emailliertem Kupferdraht
1 x Stück doppelseitiges Schaumstoffband
18 / 45cm Drahtwickeldraht
Für den ATtiny85 wird eine Buchse verwendet, da In-Circuit-Programmierung nicht unterstützt wird.
Die Breakout-Platine SHT31-D, der RF-Link-Sender, die 8-Pin-DIP-Buchse und der Antennendraht werden wie auf dem Foto oben gezeigt auf das Steckbrett gelötet. Entfernen Sie die Emaille von 1/4 des 18AWG-Antennendrahts, bevor Sie an das Steckbrett löten.
Der 10K Ohm Widerstand wird auf dem Steckbrett zwischen den Pins 1 und 8 der 8-Pin DIP-Buchse gelötet.
Der Drahtwickeldraht wird auf der Rückseite des Steckbretts gelötet, um die Verbindungen zwischen den Komponenten gemäß dem im vorherigen Schritt gezeigten Schaltplan der drahtlosen Fernbedienung herzustellen.
Die Plus- und Minuskabel vom Batteriehalter sind auf dem Steckbrett mit einem Satz von "+" bzw. "-" Bussen verlötet.
Die 434-MHz-Wireless-Fernbedienung wurde mit der Wireless Bridge und dem LoRa IOT Gateway getestet. Die kabellose 434-MHz-Fernbedienung sendet jedes Mal, wenn die Batterien eingelegt werden, und danach alle ~10 Minuten sofort ein Paket. Beim Empfang eines Funkpakets von der 434-MHz-Sensorschicht blinkt die grüne LED an der Funkbrücke für ~0,5 s. Der Stationsname, die Temperatur und die Luftfeuchtigkeit sollten vom LoRa IOT Gateway angezeigt werden, wenn die 434-MHz-Wireless-Remote-Stationsnummer im Gateway bereitgestellt wurde.
Sobald die Funkfernbedienung mit einem programmierten ATtiny85 in Ordnung ist, wird ein Stück des doppelseitigen Schaumstoffbandes, das auf die gleiche Größe wie das Steckbrett zugeschnitten ist, verwendet, um das fertige Steckbrett am Batteriehalter zu befestigen.
Schritt 3: 434-MHz-Fernbedienungssoftware
Die 434-MHz-Wireless-Remote-Software ist mit diesem Schritt verbunden und gut kommentiert.
Ich habe die ATtiny85-Mikrocontroller mit einem Sparkfun Tiny AVR Programmer und der Arduino IDE programmiert. Sparkfun hat ein umfangreiches Tutorial zum Einrichten von Treibern usw. und wie man den Programmierer dazu bringt, mit der Arduino IDE zu arbeiten.
Ich habe dem Tiny AVR Programmer einen ZIF-Sockel (Zero Insertion Force) hinzugefügt, um das Hinzufügen und Entfernen von Chips aus dem Programmierer zu vereinfachen.
Schritt 4: Hardware der drahtlosen Brücke
Liste der Einzelteile:
1 x Arduino Uno R3, Digikey PN 1050-1024-ND
1 x Adafruit Proto Shield Arduino Stack V. R3, Digikey PN 1528-1207-ND
1 x Adafruit RFM9W LoRa Funk-Transceiver-Board (915-MHz), Digikey PN 1528-1667-ND
1 x Sparkfun-RF-Link-Empfänger (434-MHz), Digikey PN 1568-1173-ND
1 x 8-polige DIP-Buchse, Digikey PN AE10011-ND
6,75 / 17cm Länge von 18AWG emailliertem Kupferdraht
3,25 / 8,5 cm Länge von 18AWG emailliertem Kupferdraht
24 / 61cm Drahtwickeldraht
1 x USB-Kabel A / MicroB, 3 ft, Adafruit PID 592
1 x 5V 1A USB-Port-Netzteil, Adafruit PID 501
Bauen Sie das Prototyping-Schild gemäß den Anweisungen auf Adafruit.com zusammen.
Bauen Sie die RFM95W LoRa-Transceiver-Platine gemäß den Anweisungen auf Adafruit.com zusammen. Das 3,25" / 8,5 cm lange 18AWG-Draht wird für die Antenne verwendet und wird direkt an die Transceiver-Platine gelötet, nachdem 1/4" der Emaille vom Draht abgezogen wurde.
Schneiden Sie die 8-polige DIP-Buchse vorsichtig auf halbe Länge, um zwei Sätze von 4-poligen SIP-Buchsen zu erstellen.
Löten Sie die beiden 4-poligen SIP-Buchsen wie abgebildet auf die Prototyping-Abschirmung. Diese werden zum Einstecken des RF-Link-Empfängers verwendet. Stellen Sie daher vor dem Löten sicher, dass sie sich in den richtigen Löchern befinden, damit sie mit dem RF-Link-Sender übereinstimmen.
Löten Sie die RFM9W LoRa-Transceiver-Platine wie abgebildet an die Prototyping-Abschirmung.
Die folgenden Verbindungen werden zwischen dem Arduino Uno und der RFM9W-Transceiver-Platine mit Drahtwickeldraht auf der Oberseite der Prototyping-Platine hergestellt:
RFM9W G0 Arduino Digital I/O Pin 2, RadioHead-Bibliothek verwendet Interrupt 0 an diesem Pin
RFM9W SCK Arduino ICSP-Header, Pin 3
RFM9W MISO Arduino ICSP-Header, Pin 1
RFM9W MOSI Arduino ICSP-Stiftleiste, Pin 4
RFM9W CS Arduino Digital I/O Pin 8
RFM9W RST Arduino Digital I/O Pin 9
An der Unterseite des Prototyping Boards werden folgende Anschlüsse hergestellt:
RFM9W VIN Prototyping Board 5V Bus
RFM9W GND Massebus (GND) der Prototyping-Platine
RF Link Rx Pin 1 (GND) Prototyping Board Masse (GND) Bus
RF Link Rx Pin 2 (Datenausgang) Arduino Digital I/O Pin 6
RF Link Rx Pin 2 (Vcc) Prototyping-Platine 5V Bus
Proto Board Grüne LED Arduino Digital I/O Pin 7
Pin-Informationen für den RF-Link-Empfänger finden Sie unter www.sparkfun.com.
Entfernen Sie die Emaille von 1/4 'der 6,75 langen 18AWG-Draht und stecken Sie sie in das Loch der Prototyping-Platine direkt neben dem RF Link Rx Pin 8 (Antenne). Biegen Sie nach dem Einsetzen in das Loch das abisolierte Ende so, dass es macht Kontakt mit RF Link Rx Pin 8 und verlöten.
Programmieren Sie das Arduino Uno mit der im nächsten Schritt bereitgestellten Skizze. Beim Zurücksetzen oder Einschalten blinkt die grüne LED zweimal 0,5 s lang. Beim Empfang eines Funkpakets von der 434-MHz-Sensorschicht blinkt die grüne LED für ~0,5s.
Schritt 5: Wireless Bridge-Software
Die Wireless Bridge-Software ist mit diesem Schritt verbunden und gut kommentiert.
Empfohlen:
Drahtlose Kopfhörer Teil 2: 3 Schritte
Drahtlose Kopfhörer Teil 2: Für dieses Upgrade verwenden:Neue Bluetooth-EmpfängerTastenDrähte können aus Twisted Pair entnommen werden
DIY Home Security - So erstellen Sie eine einfache Bewegungserkennung - Neue Version: 6 Schritte
DIY Home Security - So erstellen Sie eine einfache Bewegungserkennung | Neue Version: In diesem Projekt zeige ich Ihnen, wie Sie einen kostengünstigen DIY-Haussicherheits-Bewegungsmeldealarm erstellen können
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: 7 Schritte
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: Jetzt zum Detail
Beeindruckend !! Schrittmotor ohne Treiber betreiben -- Neue Idee 2018: 4 Schritte (mit Bildern)
Beeindruckend !! Schrittmotor ohne Treiber betreiben || Neue Idee 2018: Hallo! In dieser Anleitung werde ich Ihnen beibringen, wie Sie einen Schrittmotor kontinuierlich mit hoher Geschwindigkeit ohne Treiberschaltung oder Arduino- oder Wechselstromversorgung betreiben. Durch Austauschen der Verdrahtungen können Sie ihn auch in beiden Taktgebern betreiben weise & gegen den uhrzeigersinn dir
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: 4 Schritte (mit Bildern)
Drahtlose Kommunikation mit billigen 433MHz-HF-Modulen und Pic-Mikrocontrollern. Teil 2: Im ersten Teil dieser Anleitung habe ich gezeigt, wie man einen PIC12F1822 mit MPLAB IDE und XC8-Compiler programmiert, um einen einfachen String drahtlos mit billigen TX / RX 433 MHz-Modulen zu senden. Das Empfängermodul wurde über einen USB mit UART TTL verbunden Kabel-Werbung