Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:ws_300_pc_funk-wetterstation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
hardware:ws_300_pc_funk-wetterstation [2011/02/12 12:41]
wolf
hardware:ws_300_pc_funk-wetterstation [2020/06/16 18:51] (aktuell)
Zeile 35: Zeile 35:
  
 ===== Benötige Programme ===== ===== Benötige Programme =====
-  * [[Das WS300 Perl script von Django|http://​repository.nausch.org/​ws500/​ws500-0.1.2.tar.bz2]] (am besten mit wget auf den Dockstar laden)+  * [[Das WS300 Perl script von Django|http://​repository.nausch.org/​ws500/​ws500-0.1.2.tar.bz2]] (am besten mit wget auf den Dockstar laden) ​und laut der Anleitung entpacken und die entsprechenden Datei an ihren Platz bringen
   * per apt-get install folgenden Programme installieren   * per apt-get install folgenden Programme installieren
 <​code>​apt-get install gcc make ncftp patch bzip2 perl</​code>​ <​code>​apt-get install gcc make ncftp patch bzip2 perl</​code>​
Zeile 43: Zeile 43:
 Installieren mit: Installieren mit:
 <​code>​perl -MCPAN -e '​install Device::​SerialPort DBI DBD::mysql IO::​File'</​code>​ <​code>​perl -MCPAN -e '​install Device::​SerialPort DBI DBD::mysql IO::​File'</​code>​
 +
 +==== ws500.pl anpassen ====
 +Damit die WS300 PC Daten richtig in die mySQL Datenbank geschrieben werden muss das Script abgeändert werden.\\
 +Windrichtung und Windschwankung müssen auskommentiert werden (Dank an Arnim aus dem Wetterstationen.info Forum). ​
 +{{:​hardware:​ws500.pl|}}
 +
 +==== MySQL und phpmyadmin ====
 +MySQL und zur Verwaltung sollte phpmyadmin installiert sein (optional).\\
 +Am besten mit phpmyadmin nun die eine Datenbank namens Wetter anlegen und ebenso folgende Tabellen erzeugen:
 +<​code>​
 +
 +CREATE TABLE th_sensors (
 + id       ​ INT(10) UNSIGNED NOT NULL auto_increment,​
 + datetime DATETIME NOT NULL,
 + stationid ​      ​TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
 + sensid TINYINT(3) UNSIGNED,  ​
 + T FLOAT(5,​1),​
 + H TINYINT(2) UNSIGNED,
 + ok CHAR(1),​
 + KEY         (id),
 + INDEX dataindex(stationid,​sensid,​datetime)
 +);
 +
 +
 +/* pressure stores the !!relative!! air pressure.
 +*/
 +CREATE TABLE pressure (
 + id       ​ int(10) UNSIGNED NOT NULL auto_increment,​
 + datetime DATETIME NOT NULL,
 + stationid ​      ​TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
 + sensid TINYINT(3) UNSIGNED,
 + P         SMALLINT(4),​
 + ok CHAR(1),​
 + KEY         (id),
 + INDEX dataindex(stationid,​sensid,​datetime)
 +);
 +
 +
 +CREATE TABLE rain (
 + id       ​ int(10) UNSIGNED NOT NULL auto_increment,​
 + datetime DATETIME NOT NULL,
 + stationid ​      ​TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
 + sensid TINYINT(3) UNSIGNED,
 + counter SMALLINT(4) UNSIGNED,
 + diff INT UNSIGNED,
 + ok CHAR(1),​
 + KEY         (id),
 + INDEX dataindex(stationid,​sensid,​datetime)
 +);
 +
 +
 +CREATE TABLE station_descr (
 +        # Id of station. First station should have id 1  (not: 0)
 + stationid ​   TINYINT(3) UNSIGNED NOT NULL,
 + name         ​VARCHAR(80),​
 + descr ​       VARCHAR(80),​
 + manufacturer VARCHAR(80),​
 + model ​       VARCHAR(80),​
 + location ​    ​VARCHAR(80),​
 + rainbycount ​ SMALLINT UNSIGNED NOT NULL,
 + # Altitude of station above NN. A value < 0 means no value has been set
 + altitude ​    ​SMALLINT DEFAULT -1,
 + KEY      ​(stationid)
 +);
 +
 +
 +CREATE TABLE sensor_descr (
 + stationid TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
 + sensid  ​ TINYINT(3) UNSIGNED NOT NULL,
 + type    ENUM('​th',​ '​wind',​ '​rain',​ '​light',​ '​pressure'​) NOT NULL,
 + name VARCHAR(80),​
 + KEY (sensid,​ type)
 +);
 +
 +
 +CREATE TABLE lastids (
 + stationid ​      ​TINYINT UNSIGNED NOT NULL,
 + id_PS ​      ​ INT(10) unsigned,
 + id_RS ​      ​ INT(10) unsigned,
 + id_THS ​      ​ INT(10) unsigned,
 + id_WS ​      ​ INT(10) unsigned,
 + id_LS ​      ​ INT(10) unsigned
 +);
 +
 +</​code>​
 +
 +===== ws500.conf =====
 +Die ws500.conf unter /etc/ws500 an die entsprechende MySQL und an die Sensoren anpassen.
 +
 +===== ws500.pl =====
 +Das ws500.pl starten
 +<​code>​
 +perl /​usr/​local/​bin/​ws500.pl > /dev/null &
 +</​code>​
 +Mit dem > /dev/null leitet man die Ausgabe noch ins nichts und mit & läuft das Programm im Hintergrund weiter, auch wenn die Konsole geschlossen wird.\\
 +Nun sollten die Daten ausgelesen werden und in die MySQL Datenbank geschrieben werden. Das passiert nun alle 5min automatisch.
 +
 +====== Webfrontend ======
 +Da ich das cgi Script für das Webforntend nicht zu laufen gebracht habe. Hab ich angefangen mit mein eigenes in PHP zu schreiben.\\
 +Mehr Infos hier:
 +
 ====== Links ====== ====== Links ======
   *[[http://​www.elv.de/​ELV-WS-300-PC-Funk-Wetterstation%2c-Schwarz-inkl-Software-Weather-Professional-und-Temperatur-Feuchtesensor-S-300-TH/​x.aspx/​cid_74/​detail_10/​detail2_20745/​b_1|ELV WS 300 PC Funk-Wetterstation]]   *[[http://​www.elv.de/​ELV-WS-300-PC-Funk-Wetterstation%2c-Schwarz-inkl-Software-Weather-Professional-und-Temperatur-Feuchtesensor-S-300-TH/​x.aspx/​cid_74/​detail_10/​detail2_20745/​b_1|ELV WS 300 PC Funk-Wetterstation]]
Zeile 55: Zeile 156:
   ​   ​
   *[[http://​fhem.de/​fhem.html]]   *[[http://​fhem.de/​fhem.html]]
- 
hardware/ws_300_pc_funk-wetterstation.txt · Zuletzt geändert: 2020/06/16 18:51 (Externe Bearbeitung)