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

Raspberry Pi 2 Wetterstation

Unser Hackerspace (Bloominglabs) hat kürzlich eine ADS-WS1-Wetterstation von einem großzügigen Wohltäter erhalten. Darüber hinaus wurden wir von Instructables für den Raspberry Pi 2 Hackathon ausgewählt, sodass wir einige RPi2 zum Hacken bekamen. Für mein Projekt habe ich mich für ein RPi2 entschieden, um unsere Wetterstation online zu stellen.

Unsere Station kann Windrichtung, Windgeschwindigkeit, Regen, Temperatur und Luftfeuchtigkeit messen. Das Gerät kann Daten auf verschiedene Weise ausgeben, einschließlich seriell. Ich brauchte eine Möglichkeit, die Daten zu lesen und sie von der Stange in unser Netzwerk zu bringen. Der Raspberry Pi 2 macht dies gut mit einem PoE-Lauf zu einem wasserdichten Gehäuse am Mast.

Schritt 1:Teileliste

1) ADS-WS1 Wetterstation (jede Wetterstation, die serielle Datenausgabe unterstützt, funktioniert jedoch)
2) Raspberry Pi (jede Version funktioniert, wir haben Version 2)
3) Seriell-zu-USB-Adapter
4) Serielles Kabel mit mindestens einer DB9-Buchse
5) Ethernet – genug, um Ihre Wetterstation im Freien zu erreichen
6) 5V Netzteil, 1-2A
7) Außengehege

Optional, aber empfohlen:
8) Ethernet-Überspannungsschutz
9) Power-Over-Ethernet-Injektionsadapter

Das erste, was Sie erwerben müssen, ist eine Wetterstation. Ich habe eine ADS-WS1-Station von Argent Data verwendet, aber das ist nicht erforderlich. Dieses Gerät ist jedoch sehr gut dokumentiert und verfügt auch über einen integrierten TNC zum Senden von Wetterdaten über APRS (wenn Sie es an ein Amateurfunkgerät anschließen). Dies ist jedoch nicht erforderlich für das, was ich tue, ich brauche nur einen seriellen Port-Ausgang zum Einlesen von Daten. Die Stromaufnahme beträgt nur 50mA und kann somit vom RPi gespeist werden oder durch Abspaltung von der Versorgungsspannung zum RPi.
http://wiki.argentdata.com/index.php?title=ADS-WS1…

Schritt 2:Einrichten eines Betriebssystems auf dem Rasperry Pi 2

Sie können jedes Betriebssystem verwenden, ich habe jedoch Raspbian 7.1 auf einer 8-GB-SD-Karte verwendet. Folgen Sie den Anweisungen für das Betriebssystem, mit dem Sie arbeiten:

https://www.raspberrypi.org/documentation/installa…

Sobald Sie Ihre SD-Karte vorbereitet haben, installieren Sie sie im RPi2 und schalten Sie sie ein. Es hilft, eine lokale Konsole zu haben (Display, das HDMI unterstützt, und eine USB-Tastatur). Raspbian sollte standardmäßig DHCP verwenden und in Ihr Netzwerk gelangen, wenn Sie einen Router haben. Ich habe jedoch festgestellt, dass dies ein Hit-and-Miss ist.

Der Rest dieses Dokuments setzt voraus, dass Sie mit Linux vertraut sind. Die Raspberry Pi-Dokumentation ist sehr gut, wenn Sie Probleme haben, Ihr RPi2-Setup von hier aus zu erhalten:

https://www.raspberrypi.org/documentation/

Eine letzte Sache für diesen Schritt besteht darin, Ihren USB-zu-Seriell-Adapter anzuschließen. Angenommen, es handelt sich um ein Standard-FTDI oder ein anderes gängiges Serial-to-USB-Gerät, wird Raspbian es automatisch konfigurieren. Nachdem Sie es angeschlossen haben, sollten Sie ein neues /dev/ttyUSBx-Gerät sehen.

[E-Mail-geschützt] ~ $ ls /dev/ttyUSB*/dev/ttyUSB0

Angenommen, es ist das einzige angeschlossene USB-to-Serial-Gerät /dev/ttyUSB0. Der Befehl „lsusb“ zeigt alle Ihre USB-Geräte an, was Ihnen helfen kann, das Gerät zu identifizieren, wenn es nicht richtig angezeigt wird:

[email protected] ~ $ lsusb
Bus 001 Gerät 002:ID 0424:9514 Standard Microsystems Corp. Bus 001 Gerät 001:ID 1d6b:0002 Linux Foundation 2.0 Root hubBus 001 Gerät 003:ID 0424:ec00 Standard Microsystems Corp. Bus 001 Gerät 005:ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Seriell (UART) IC

Ich bevorzuge es, eine statische IP einzurichten, da man sich keine Sorgen weniger machen muss, wenn der RPi2 auf einem Mast am Himmel steht. Bearbeiten Sie /etc/network/interfaces und ändern Sie diese Zeile:

iface eth0 inet dhcp

Zu dieser Zeile:

iface eth0 inet statisch

Und füge diese Zeilen hinzu. Ersetzen Sie durch die IP-Adresse und das Gateway mit den entsprechenden Werten für Ihr Netzwerk:

Adresse 192.168.x.xNetzmaske 255.255.255.0Gateway 192.168.x.x

Installieren Sie nun die benötigte Software, Apache2 für einen Webserver und einige andere Dienstprogramme. Minicom ist ein gutes Werkzeug, um zu überprüfen, ob die serielle Kommunikation richtig funktioniert, und wget dient zum Herunterladen des Skripts weather.sh im nächsten Abschnitt.

apt-get install apache2apt-get install wgetapt-get install minicom

Für zukünftige Testzwecke empfehle ich, dieses Skript herunterzuladen:

wget -O weather.sh "http://server1.nuge.com/~weather/software/weather-...

Wenn der obige Link aus irgendeinem Grund fehlschlägt, finden Sie die neueste Version des Weather.sh-Skripts hier:

http://server1.nuge.com/~weather/

Zu guter Letzt müssen Sie möglicherweise Ihre Datei /etc/group bearbeiten und das Konto „pi“ oder das Konto, mit dem Sie testen möchten, zur Gruppe „dialout“ hinzufügen. Dadurch erhält das Konto die entsprechenden Berechtigungen zum Lesen und Schreiben auf das serielle Gerät (/dev/ttyUSBx).

Schritt 3:Installieren und konfigurieren Sie weewx, konfigurieren Sie die Dienste zum Starten beim Booten

Weewx ist ein Programm, das serielle Daten von mehreren Wetterstationsmarken einliest und eine Weboberfläche zur grafischen Darstellung der Daten bereitstellt.

apt-get install weewx

Jetzt möchten Sie es konfigurieren. Bearbeiten Sie /etc/weewx/weewx.conf und passen Sie die sinnvollen Variablen an. Die Konfigurationsdatei ist selbstdokumentiert, sodass sie leicht angepasst werden kann.

# $Id:weewx.conf 2901 2015-02-05 21:15:03Z tkeffer $## WEEWX-KONFIGURATIONSDATEI## Copyright (c) 2009-2014 Tom Keffer # Sehen Sie sich die Datei LICENSE.txt für Ihre vollen Rechte an .################################################ ############################## Dieser Abschnitt enthält allgemeine Konfigurationsinformationen# Auf 1 setzen für zusätzliche Debug-Informationen, andernfalls auskommentieren oder set to zero.debug =0# Root-Verzeichnis der weewx-Datendateihierarchie für diese Station.WEEWX_ROOT =/# Wie lange gewartet werden soll, bevor eine Socket-Verbindung (FTP, HTTP) überschritten wird:socket_timeout =20# Dies nicht ändern - es wird von setup.py beim Installieren und Aktualisieren verwendet.version =3.1.0################################## #############################################[Station] # This Abschnitt ist für Informationen über Ihre Station # Beschreibung des Stationsstandorts. location ="Bloominglabs - Bloomington, Indiana" # Breiten- und Längengrad in Dezimalgrad...

Zuletzt konfigurieren Sie Apache2 und weewx so, dass sie beim Booten gestartet werden:

update-rc.d Apache2-Standardeinstellungen 99 2update-rc.d weewx-Standardeinstellungen 99 2

Jetzt werden diese Dienste bei jedem Einschalten des RPi2 automatisch angezeigt. Das sollte alles sein, was Sie für Ihr RPi2 brauchen.

Schritt 4:Bereiten Sie das serielle Kabel und die Stromkabel vor

Sie benötigen nur 3 Drähte plus 2 Stromkabel, um den Controller zu verdrahten. Auf meinem Foto befinden sich Drähte in den oberen 5 Schraubklemmen, diese dienen zum Senden von TNC/APRS-Daten an ein Amateurfunkgerät und werden für dieses Tutorial nicht benötigt.

Zuerst müssen Sie also ein serielles Kabel an den Wetterregler anschließen. Verbinden Sie Ihr Kabel mit Ihrem Seriell-zu-USB-Adapter. Schneiden Sie nun das verbleibende Ende des seriellen Kabels ab, achten Sie darauf, dass Sie genug Spielraum haben, um das Kabel nach Bedarf zu verlegen, und ziehen Sie den Außenmantel über den Drähten mindestens 5 cm ab. Die einzelnen Drähte müssen nur etwa 1/4″ abisoliert werden. Sie müssen ein Multimeter verwenden, um die Pins des Kabels abzubilden und die Drähte zu finden, die mit den Pins 2, 3 und 5 der Pins in der DB9-Schale übereinstimmen. Wenn Sie genau hinschauen, werden normalerweise die Pin-Nummern neben den Pins aufgelistet.

Das Kabel für Pin 2 geht an TXD1 am Controller.
Das Kabel für Pin 3 geht an RXD1 am Controller.
Das Kabel für Pin 5 geht an Masse am Controller.

Sobald das alles verkabelt ist, benötigen Sie etwas Strom für den Controller. Zum Testen funktioniert eine 9-V-Batterie oder eine 5-V- oder 12-V-Versorgung. Verbinden Sie den Pluspol mit dem „DC in“ und den Massedraht mit dem unteren GND-Eingang des Controllers.

Ich habe für diese Installation ein Paar Power-over-Ethernet (PoE)-Adapter verwendet. Ich habe sowohl meinen RPi2 als auch den Wettercontroller mit 5 V versorgt und einen Adapter für das Remote-Ende entwickelt, um die Leistung zwischen ihnen aufzuteilen. Da dies in den Elementen sein wird, habe ich Schrumpfschläuche verwendet, um die Verbindung ordentlich und wetterbeständiger zu machen. Auch wenn dies alles in einer wetterfesten Box ist, schadet es nicht, zusätzliche Schutzschichten hinzuzufügen, falls ein Leck auftritt.

Zu guter Letzt reicht die 5V-Versorgung des RPi2 aus, um beide Geräte mit Strom zu versorgen. Tatsächlich können Sie den microUSB-Anschluss abschneiden und diesen am entfernten Ende des PoE-Adapters verwenden.

Schritt 5:Überprüfen Sie, ob Sie Daten von der Wetterstation einlesen können

Jetzt sollten Sie das RPi2 und den Controller einschalten können. Sobald beide eingeschaltet sind, verwenden Sie minicom, um zu überprüfen, ob die Kommunikation funktioniert. Wir mussten die Firmware in unserem ADS-WS1-Controller neu flashen, bevor sie richtig funktionierte. Am Controller befindet sich eine interaktive serielle Schnittstelle, die möglicherweise konfiguriert werden muss. Argent unterhält ein Wiki für den Controller, das die Befehle enthält, die Sie an das Gerät senden können:

http://wiki.argentdata.com/index.php?title=ADS-WS1…

Sobald der Controller regelmäßige Daten sendet, versuchen Sie es mit dem Skript Weather.sh. Das sollte bestätigen, dass Sie intelligente Daten erhalten.

Schritt 6:Ausrüstung für den Außeneinsatz vorbereiten

Jetzt müssen Sie alles in eine Art Behälter für einen Außenbehälter legen. Technisch gesehen sollten Sie einen Stephenson-Bildschirm bauen, um korrekte Außentemperaturmessungen zu gewährleisten. Die Temperatur- und Feuchtigkeitssensoren befinden sich im Gehäuse des Wetterreglers (mit einer Öffnung für Messwerte).

http://en.wikipedia.org/wiki/Stevenson_screen

Ich habe jedoch vorerst ein wasserdichtes Gehäuse aus PVC NEMA 4″ verwendet. Der Nachteil ist, dass wir keine Feuchtigkeitsmesswerte erhalten und die Tagestemperaturmesswerte um 10-15 Grad F erhöht werden können. Zu einem zukünftigen Zeitpunkt planen wir, einen Stephenson-Bildschirm zu bauen, um genaue Messwerte zu erhalten.

Für weitere Details:Raspberry Pi 2 Wetterstation


Herstellungsprozess

  1. Wetterstation basierend auf Raspberry Pi
  2. Raspberry Pi Wetterstation
  3. Wetterfernüberwachung mit Raspberry Pi
  4. DHT Tiny Breakout für den Raspberry Pi
  5. Beteiligen Sie sich mit Ihrer Wetterstation am IOT – CWOP
  6. Raspberry Pi Universal-Fernbedienung
  7. Ein Stück Himbeer-Pi
  8. Cycle Chaser
  9. Himbeer-Pi-Dieb-Detektor
  10. Raspberry Pi-Temperatursensor