Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Aufbau eines drahtlosen Sensornetzwerks in Ihrem Zuhause

In diesem Tutorial erfahren Sie, wie Sie ein Netzwerk kostengünstiger, drahtloser Sensormodule erstellen. Viele der vorgefertigten Funkmodule können für den Einsatz in mehreren Sensoreinheiten zu teuer sein. Während Wi-Fi- und Zigbee-Module beliebt und einfach zu verwenden sind, können ihre Kosten ihre Verwendung in einer Reihe von Sensoren unpraktisch machen. Es gibt jedoch kostengünstige HF-Module ohne all die teuren Funktionen, die für diese Zwecke gut funktionieren. Die Arduino-Plattform kann Low-End-Funkmodule verwenden, um einfach und zuverlässig zu kommunizieren.

Sobald die Hardware zusammengebaut ist, nutzen Sie die Raspberry Pi-Plattform, um die Daten an den Internet-of-Things-Dienst von Xively zu senden, wo Sie die Werte im Laufe der Zeit verfolgen und bei Schwellenwertbedingungen auslösen können.

Dieses Projekt umfasst drei Teile, zwei Sendeeinheiten und eine Empfangseinheit. Die Sender bestehen aus einem Arduino-Board, einem Sensor und einem HF-Sender. Die Empfängereinheit besteht aus einem Arduino-Board, einem RF-Empfänger, einem Logikpegelwandler und einem Raspberry Pi.

Es gibt eine breite Palette von Arduino-kompatiblen Boards, die für dieses Projekt verwendet werden können. Die Mindestanforderung für das Board für dieses Projekt sind zwei digitale GPIO-Pins und ein analoger Pin. Wählen Sie ein Arduino-kompatibles Board aus, das den Kosten- und Einfachheitsanforderungen für dieses Projekt entspricht.

In diesem Tutorial habe ich einen Satz Arduino Nano-Boards verwendet, die gut in ein Steckbrett passen und einfach zu programmieren sind. Die 5V-Versionen des Arduino pro mini oder Trinket funktionieren jedoch auch gut und zu einem viel niedrigeren Preis. Diese erfordern jedoch etwas mehr Erfahrung in der Programmierung und Verwendung. Wähle mit Bedacht.

Die Sender selbst sind relativ einfache Schaltungen. Nur ein Pin wird verwendet, um die Informationen vom Temperatur- und Feuchtigkeitssensor abzurufen, und ein Pin wird verwendet, um diese Daten an den HF-Sender zu senden. Das Steckbrett-Diagramm ist unten gezeigt.

Das 9-V-Netzteil wird an den Hohlstecker angeschlossen, wodurch die unteren Schienen zu 9 V werden. Der Leistungsregler im Arduino erzeugt 5V, die für das Radio und die Sensoren, die oberste Stromschiene des Diagramms, sicher verwendet werden können.

Der Sensor wird mit einem 10k Ohm Widerstand geliefert, der den Daten-Pin als Pull-Up-Widerstand mit der Stromversorgung verbindet, während ein anderer Draht ihn mit GPIO D3 verbindet.

Befolgen Sie die nachstehende Konfiguration und überprüfen Sie das Datenblatt für den Sensor und das HF-Modul, um sicherzustellen, dass die Komponenten richtig im Steckbrett positioniert sind und die Strom-, Masse- und Signalpins mit den richtigen Pins verbunden sind. Das Fritzing-Diagramm ist für weitere Details im Quellpaket enthalten.

Die Antenne ist ein wichtiger Bestandteil der Platine, da das HF-Modul keine eingebaute Antenne hat. Ich benutzte ein 6-Zoll-Überbrückungskabel, das an das Steckbrett angeschlossen war, und es funktionierte gut genug, um den Empfang aus allen Teilen meines Hauses und etwas außerhalb zu ermöglichen. Wie in der Abbildung angegeben, ist 6,5 Zoll für diese Antenne optimal, wenn Sie zusätzliche Reichweite benötigen.

Ein Hinweis zur HF-Nutzung. In verschiedenen Ländern gibt es unterschiedliche Gesetze und Regeln zur Nutzung von Frequenzen. Bitte stellen Sie vor der Übertragung sicher, dass Sie diese Regeln einhalten. Davon abgesehen sind die Signale dieser Module kaum stark genug, um außerhalb Ihres Hauses zu passieren. Unter perfekten Bedingungen können diese Module jedoch bis zu 150 m weit senden.

Der Sender verwendet zwei Bibliotheken, die nicht mit der Arduino IDE gebündelt sind. Laden Sie die Bibliotheken wie unten beschrieben herunter und dekomprimieren Sie sie in Ihr Skizzenverzeichnis in einem Unterverzeichnis namens Bibliotheken.

In diesem Tutorial wird davon ausgegangen, dass Sie Erfahrung mit Arduino und deren Programmierung mit der Arduino IDE haben. Wenn Sie dies nicht tun, finden Sie auf der offiziellen Arduino-Site sehr gute Anweisungen.

12345 #define MYID 1      //die ID-Nummer dieses Boards. Ändere dies für jedes Board, das du flashst.                      //Die ID wird mit den Daten übertragen, damit Sie erkennen können, welches Gerät sendet #define TRANSPIN 3  //auf welchem ​​Pin gesendet werden soll #define DHTPIN 4     // mit welchem ​​Pin das DHT verbunden ist #define UNIT 0      // 0 für Fahrenheit und 1 für Celsius

Die MYID-Definition ist eine numerische ID, die der Sender verwendet, um sich eindeutig zu identifizieren. Da Sie mehrere Sender an verschiedenen Standorten haben, ist es wichtig, für jeden eine eindeutige ID zu haben. Diese Nummer wird wieder verwendet, wenn Sie das Empfängerskript einrichten.

Das Serial Monitor-Fenster setzt das Arduino zurück, sodass Sie eine Codezeile auf dem Bildschirm sehen sollten, die ungefähr so ​​​​aussieht:

12 Luftfeuchtigkeit:44,00 %    Temperatur:60,80 °C Sendenachricht:ID:1:TS:23143:TF:60.79:RH:44.00

Die Nachricht besteht aus Name:Wert-Paaren, die der Empfänger verarbeiten wird. Der Sender liest und sendet sein Signal in einem langen, zufälligen Intervall. Die Sensoren ändern sich nicht sehr viel oder häufig, so dass eine Übertragung öfter als einmal pro Minute keinen Mehrwert bringt. Die zufällige Wartezeit soll die Koexistenz mehrerer Sensoren ermöglichen.

Selbst wenn es zu einer Verdoppelung kommt und das Signal von beiden Sendern verloren geht, stellt das Zufallsintervall sicher, dass sich ihre nächsten Sendungen nicht überschneiden. Der zufällige Seed für dieses Intervall wird von einem analogRead an einem unbenutzten analogen Port festgelegt, der Zufallswerte zurückgibt, um sicherzustellen, dass keine zwei Sender das gleiche Muster aufweisen.

Der Beispielcode, der die obige Ausgabe generiert, ist auf Fahrenheit eingestellt. Sie können die Kennung TF:60.79 in der Nachrichtenzeichenfolge sehen, die darauf hinweist, dass mein Labor tatsächlich nur ein Haar unter 61 Grad liegt. Die relative Luftfeuchtigkeit RH:44,00 beträgt jedoch angenehme 44 %. Aus der kühlen, feuchten Umgebung könnte man schließen, dass sich mein Labor in meinem Keller befindet. Einer könnte Recht haben.

Die Sender sind standardmäßig so eingestellt, dass sie zwischen den Übertragungen 2 bis 5 Minuten warten. Wenn Sie dies zu Debugging-Zwecken beschleunigen möchten, ändern Sie den delay()-Wert am Ende der Skizze so, dass er eher 5000 (ms) beträgt. Es wird dringend empfohlen, dass Sie dies wieder ändern und den Code erneut auf Ihre Sender hochladen, wenn Sie für die Vollzeitnutzung bereit sind.

Die Empfängerplatine ist dafür verantwortlich, die Broadcast-Nachricht auf ihrer RF-Empfängerkomponente zu empfangen und diese Nachricht über serielle Drähte an den Raspberry Pi zu senden. Das Arduino-Board wird aus einigen sehr wichtigen Gründen verwendet, um das Signal zu empfangen. Der VirtualWire-Code nutzt die Echtzeitnatur des Arduino, um das Modulieren und Demodulieren des Signals zu verwalten.

Dies bedeutet, dass die Empfangseinheit auf der gleichen Frequenz arbeiten muss. Außerdem gibt es auf dem empfangenden Prozessor wenig Platz für Jitter, für den der Raspberry Pi aufgrund seines präventiven, nicht in Echtzeit arbeitenden Betriebssystems anfällig ist. Ein Vergleich der Kosten eines Arduino Pro Mini plus HF-Empfängermodul mit denen eines Zigbee-Moduls, das direkt mit dem Raspberry Pi kommunizieren konnte, ergab, dass die Verwendung eines externen Arduino immer noch recht wirtschaftlich war.

Schließen Sie an dieser Stelle NICHT die 5V- und Massekabel vom Pi an das Steckbrett an. Halten Sie die Überbrückungsdrähte griffbereit, aber Sie möchten den Arduino nicht sowohl über den USB-Anschluss als auch über den Raspberry Pi mit Strom versorgen.

Beachten Sie, dass der Logikpegelwandler in der Materialliste oben nicht genau derselbe ist wie der in der Fritzing-Bibliothek, aber die Pinbelegung ist gut beschriftet, nur an anderen Stellen. Bitte stellen Sie sicher, dass die richtigen Drähte an die richtigen Pins des tatsächlichen Logikpegelwandlers angeschlossen sind.

Diese Komponente wird benötigt, um das serielle 5-V-Arduino-Signal in ein serielles 3,3-V-Raspberry-Pi-Signal umzuwandeln und den Pi nicht zu beschädigen. Weitere Hilfe finden Sie im Bild unten.

Weitere Informationen:Aufbau eines drahtlosen Sensornetzwerks in Ihrem Zuhause


Herstellungsprozess

  1. Drahtlose Sensornetzwerke:6 Dinge, die Sie beim Technologiewechsel beachten sollten
  2. Was ist ein drahtloses Sensornetzwerk mit geringem Stromverbrauch?
  3. Schnittstelle zum drahtlosen Einfahrtssensor
  4. Aufbau eines Sensornetzwerks für eine Getreidemühle aus dem 18. Jahrhundert
  5. So füttern und pflegen Sie Ihre drahtlosen Sensornetzwerke
  6. Drahtlose magnetische Datenübertragung
  7. CO2-Überwachung mit K30-Sensor
  8. Wie groß bist du?
  9. Kapazitiver Fingerabdrucksensor mit einem Arduino oder ESP8266
  10. Drahtloses Sensornetzwerk mit großer Reichweite