Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
wetter:ws500:ws500_programmpaket_kurz_installations_anleitung [15.02.2009 20:29. ] – angelegt djangowetter:ws500:ws500_programmpaket_kurz_installations_anleitung [31.10.2023 18:31. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== WS500 Programmpaket Kurz(installations)anleitung ======
 +===== Grundinstallation =====
 +==== Testen, ob die nötigen Kernelmodule vorhanden sind ====
 +WS500 anstecken und syslog überprüfen:
 +  # tail -f /var/log/messages
 +Station mit Rechner Verbinden und Ausgabe beobachten.
 +<code>Sep 17 18:21:35 server kernel: usb 1-2.1: new full speed USB device using uhci_hcd and address 32
 +Sep 17 18:21:35 server kernel: ftdi_sio 1-2.1:1.0: FTDI USB Serial Device converter detected
 +Sep 17 18:21:35 server kernel: /usr/src/linux/drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM
 +Sep 17 18:21:35 server kernel: usb 1-2.1: FTDI USB Serial Device converter now attached to ttyUSB0</code>
 +Erfolgt kein automatisches Einbinden des benötigten Moduls, so ist das notwendige Kernel-Modul
 +zu installieren (nächster Punkt):
 +==== WS500 anstecken und syslog überprüfen ====
 +Nach dem Anstecken der WS500 an den Rechner sollte im sylog folgende Information auftauchen:
 +<code>Sep 17 18:21:35 server kernel: usb 1-2.1: new full speed USB device using uhci_hcd and address 32
 +Sep 17 18:21:35 server kernel: ftdi_sio 1-2.1:1.0: FTDI USB Serial Device converter detected
 +Sep 17 18:21:35 server kernel: /usr/src/linux/drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM
 +Sep 17 18:21:35 server kernel: usb 1-2.1: FTDI USB Serial Device converter now attached to ttyUSB0</code>
 +Die WS500 kann nun über die Gerätedatei "/dev/ttyUSB0" angesprochen werden.
 +====  Laden der FTDI-Treiber ====
 +Wird das benötigte Kernel-Modul //**ftdi_sio**// nicht automatisch geladen, erweitern wir unsere Konfiguration wie folgt. Als erstes ermitteln wir die Produkt- und Vendor-ID der Wetterstation.
 +Entweder mittels **lsusb**:
 +   lsusb
 +   Bus 003 Device 004: ID 0403:e0e9 Future Technology Devices International, Ltd 
 +oder via 
 +  # cat /proc/usb/devices
 +<code>T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
 +D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
 +P: Vendor=0403 ProdID=e0e9 Rev= 2.00
 +S: Manufacturer=ELV AG
 +S: Product=ELV WS 500
 +C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
 +I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
 +E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
 +E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms </code>
 +Wie wir sehen hat die Station die IDs: **__0403:e0e9__**. Nun können wir mittels
 +   # modprobe ftdi_sio vendor=0x0403 product=0xe0e9
 +das Kernel Modul laden.
 +Im **Syslog** wird dies entsprechend quittiert:
 +<code>Jan  7 20:43:17 nss kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI USB Serial Device
 +Jan  7 20:43:17 nss kernel: ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected
 +Jan  7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: Detected FT8U232AM
 +Jan  7 20:43:17 nss kernel: usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0
 +Jan  7 20:43:17 nss kernel: usbcore: registered new driver ftdi_sio
 +Jan  7 20:43:17 nss kernel: drivers/usb/serial/ftdi_sio.c: v1.4.3:USB FTDI Serial Converters Driver</code>
 +Damit das benötigte Kernel Modul bei jedem Systemstart automatisch geladen wird, legen wir uns eine eigene udev-Regel an:
 +   # vim /etc/udev/rules.d/99-custom.rules
 +   SYSFS{idProduct}=="e0e9", SYSFS{idVendor}=="0403", RUN+="/sbin/modprobe -q ftdi_sio product=0xe0e9 vendor=0x0403"
 +Wir können dann die Station über das Device **/dev/ttyUSB0** ansprechen.
 +===== Perl installieren =====
 +Perl wird am besten und einfachsten mit Hilfe des Distributionswerkzeuges wie z.B. **yum**, **yast** etc. pp. installiert.
 +==== Installation der Perl-Module ====
 +Folgende Perl-Modul (CPAN) sind nachzuinstallieren:
 +**Device::SerialPort**, **DBI**, **DBD::mysql**, **IO::File**
 +====  Programmpaket entpacken, installieren und Konfigurationsdateien verschieben ====
 +<code>cd /usr/local/src
 +tar xfvj ws500-0.1.2.tar.bz2 ws500-0.1.2
 +ln -s ws500-0.1.2 ws500
 +mkdir /var/log/Ws500
 +mkdir /etc/ws500
 +cp /usr/local/src/ws500/etc/ws500.conf /etc/ws500
 +ln -s /usr/local/src/ws500/ws500.pl /usr/local/bin</code>
 +===== erweiterte Installation ===== 
 +==== Anpassen der Konfigurations(datei) ====
 +In der Konfigurationsdatei **/etc/ws500/ws500.conf** können über einzelne Variablen die Ausgabe
 +in eine CSV-Datei, das Befüllen der MySQL-Datenbank und weitere Optionen eingestellt werden.
 +==== MySQL-Datenbank erstellen ====
 +Zuerst muss die Datenbank mit Hilfe des Datenbank Schemas von Rainer Krienke erstellt werden. Hierzu ist das beigefügte Datei "Datenbank_schema.txt" sehr hilfreich.
 +
 +Das wetter.cgi Script zum Auslesen der MySQL-Datenbank und Darstellen der Messwerte verwendet für die einzelnen Sensoren eindeutige IDs. Wie man der Datei WS500_Datenbankdefinitionen entnehmen kann, habe ich folgende Nummerierung vorgenommen:
 +
 +<code>ID  1 = Kombisensor 1
 +ID  2 = Kombisensor 2
 +ID  3 = Kombisensor 3
 +ID  4 = Kombisensor 4
 +ID  5 = Kombisensor 5
 +ID  6 = Kombisensor 6
 +ID  7 = Kombisensor 7
 +ID  8 = Kombisensor 8
 +ID  9 = Außensensor 
 +ID 10 = Innensensor
 +ID 20 = Luftdruckmesser
 +ID 40 = Regenmesser
 +ID 30 = Windmesser</code>
 +
 +Wenn eine andere Nummerierung notwendig sein sollte oder gewünscht wird, so ist im Auslesescript ws500.pl die Nummerierung entsprechend der Definition in der MySQL-Datenbank vorzunehmen. 
 +
 +Die entsprechende Definition erfolgt im Unterprogramm "write_MySQL" zum Übertragen der Wetterdaten in die MySQL-Datenbank. Ebenso ist dort bei Bedarf die Anzahl der Zusatzsensoren entsprechend zu ergänzen bzw. zu löschen!
 +==== Anpassen des Wetter.CGI-Scripts ====
 +Das CGI-Script wetter.cgi ist für die Visualisierung der Messwerte den eigenen Wünschen entsprechend anzupassen. Mit Hilfe der außergewöhnlich guten Scriptdokumentation sollte dies einfach von Statten gehen.
 +
 +Zum besseren Verständnis liegt dem Programmarchiv der von mir verwendeten Konfigurationsteil WS500_Wetter.cgi_Konfiguration bei.
 +===== Datenbank auslesen =====
 +Perl-Programm zum Auslesen der WS500 auf der Konsole starten: 
 +  $ ./ws500.pl
 +Webbrowser starten und Meßdaten der WS500 aus der MySQL auslesen und anzeigen lassen.
 +====== Anmerkung(en) ======
 +
 +Verbesserungsvorschläge und Änderungen werden gerne angenommen, müssen jedoch zukünftig selbst vorgenommen werden! LOL
 +Diese bitte einfach per eMail melden an: django@omni128.de bzw. an User [[https://www.wetterstationen.info/phpBB/profile.php?mode=viewprofile&u=3832|"Django"]] im [[https://www.wetterstationen.info|Wetterportal]].
 +
 +[[wetter:ws500:start|Inhaltsverzeichnis der WS500 Beschreibung]]