Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wetter:boltek:stormforce_xr_c7 [09.01.2017 11:23. ] – [Installation] django | wetter:boltek:stormforce_xr_c7 [31.10.2023 18:40. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
{{ : | {{ : | ||
- | {{ : | + | {{ : |
Zum Verbinden der Antenne mit dem LD-250 nimmt man am besten ein abgeschirmtes Netzwerkkabel und nicht da der Lieferung beiligendem ungeschirmten Kabels. | Zum Verbinden der Antenne mit dem LD-250 nimmt man am besten ein abgeschirmtes Netzwerkkabel und nicht da der Lieferung beiligendem ungeschirmten Kabels. | ||
Zeile 11: | Zeile 11: | ||
===== USB/ | ===== USB/ | ||
- | Die Verbindung zwischen dem Boltec LD-250 und dem Server erfolgt mittels eines freien Anschlusses des 4-port USB/ | + | Die Verbindung zwischen dem Boltec LD-250 und dem Server erfolgt mittels eines freien Anschlusses des 4-port USB/ |
Mit Hilfe der installierten **usbutiuls** können Details zum USB_Adapter abgefragt werden. | Mit Hilfe der installierten **usbutiuls** können Details zum USB_Adapter abgefragt werden. | ||
Zeile 33: | Zeile 33: | ||
Build Host : worker1.bsys.centos.org | Build Host : worker1.bsys.centos.org | ||
Relocations : (not relocatable) | Relocations : (not relocatable) | ||
- | Packager | + | Packager |
Vendor | Vendor | ||
- | URL : | + | URL : |
Summary | Summary | ||
Description : | Description : | ||
Zeile 99: | Zeile 99: | ||
Packager | Packager | ||
Vendor | Vendor | ||
- | URL : | + | URL : |
Summary | Summary | ||
Description : | Description : | ||
Zeile 123: | Zeile 123: | ||
Dann nächstes holen wir uns die aktuelle Stormforce von der **[[https:// | Dann nächstes holen wir uns die aktuelle Stormforce von der **[[https:// | ||
# cd / | # cd / | ||
- | | + | |
===== Software ===== | ===== Software ===== | ||
- | ==== Stormforce | + | ==== GitHub |
- | Nun können | + | === Download === |
- | # | + | Aktuell((Stand Januar 2017)) |
- | < | + | |
- | stormforce/png/ | + | Bevor wir uns nun dieses Projekt auf unseren Rechner clonen, wechseln wir in das Verzeichnis |
- | stormforce/ttf/ | + | # |
- | stormforce/ogg/ | + | |
- | stormforce/README | + | Nun clonen wir das Projekt direkt in das Verzeichnis **stormforce-xr**. |
- | stormforce/XML-README | + | |
- | stormforce/xmldevice.py | + | # git clone https:// |
- | stormforce/netdevice.py | + | |
- | stormforce/LICENSE | + | Cloning into 'stormforce-xr' |
- | stormforce/gpsdevice.py | + | remote: Counting objects: 22, done. |
- | stormforce/ | + | remote: Total 22 (delta |
- | stormforce/boltek-stormtracker/ | + | Unpacking objects: 100% (22/22), done. |
- | stormforce/boltek-stormtracker/st2sf/ | + | |
- | stormforce/boltek-stormtracker/boltek-sdk/ | + | === Update === |
- | stormforce/boltek-stormtracker/boltek-sdk/Documentation | + | Möchten wir unsere lokale Installation updaten, so gehen wir in folgenden Schritten vor. Als erstes wechseln wir in das Programmverzeichnis von **stormvorce-xr** auf unserem Server. |
- | stormforce/boltek-stormtracker/boltek-sdk/libboltek/ | + | # cd / |
- | stormforce/boltek-stormtracker/boltek-sdk/driver/ | + | |
- | stormforce/boltek-stormtracker/boltek-sdk/driver/boltek.c | + | Anschliessend führen wir einen **pull** gegen das [[https:// |
- | stormforce/boltek-stormtracker/boltek-sdk/driver/Makefile | + | |Projekt]] bei [[https:// |
- | stormforce/boltek-stormtracker/boltek-sdk/driver/77-boltek.rules | + | # git pull |
- | stormforce/boltek-stormtracker/boltek-sdk/libboltek/Makefile | + | |
- | stormforce/boltek-stormtracker/boltek-sdk/libboltek/demo.c | + | |
- | stormforce/boltek-stormtracker/boltek-sdk/libboltek/libboltek.c | + | ==== Dokumentation ==== |
- | stormforce/boltek-stormtracker/boltek-sdk/libboltek/stormpci.h | + | Hinweise zu den weiteren Voraussetzungen und zur Konfiguration finden sich in den beiden Dateien **README**. |
- | stormforce/boltek-stormtracker/st2sf/stormpci.h | + | # less / |
- | stormforce/boltek-stormtracker/st2sf/st2sf.c | + | |
- | stormforce/boltek-stormtracker/st2sf/Makefile | + | < |
- | stormforce/boltek-stormtracker/st2sf/libboltek.c | + | ===================================================== |
- | stormforce/boltek-stormtracker/st2sf/LICENSE | + | Link: https:// |
- | stormforce/boltek-stormtracker/st2sf/README | + | |
- | stormforce/ogg/kde_click3.ogg | + | For license and copyright, please see the LICENSE file. |
- | stormforce/ogg/kde_digital2.ogg | + | |
- | stormforce/ogg/kde_error2.ogg | + | |
- | stormforce/ttf/micron55.ttf | + | Preface |
- | stormforce/ttf/aldo.ttf | + | ======= |
- | stormforce/ttf/7linedigital.ttf | + | StormForce XR is a complete rewrite of StormForce v0.6.0 designed to be more modern and provide a universal interface to allow easier integration with third-party software. |
- | stormforce/ttf/lcd1.ttf | + | |
- | stormforce/ttf/lcd2.ttf | + | The server component only requires THREE external Python modules to be installed: psycopg2, serial, and twisted - these are required. |
- | stormforce/ | + | The client component only requires ONE external Python module to be installed: pygame >= 1.8 - this is required. |
+ | |||
+ | StormForce XR is aiming to use less external packages for easier installation. | ||
+ | |||
+ | |||
+ | However, StormForce XR will not support the StormTracker - this is due to the library only working on Linux. | ||
+ | |||
+ | GPS support has been removed since StormForce didn't use any of the data provided by the unit. | ||
+ | |||
+ | |||
+ | *** Bug fixes will no longer be made to StormForce, only to StormForce XR. *** | ||
+ | |||
+ | |||
+ | Notes (S = server, C = client) | ||
+ | ============================== | ||
+ | v0.5.0 - 15th March 2014 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Log messages now use my new logging class DanLog provided by danlog.py. | ||
+ | 2. (C) Log messages now use my new logging class DanLog provided by danlog.py. | ||
+ | 3. (S) Refactored the main code into a new class. | ||
+ | 4. (S) New database class to handle database operations. | ||
+ | 5. (C) Incorrectly used " | ||
+ | 6. (C) Refactored the main code into a new class. | ||
+ | 7. (S) The TRAC update period (ie. how often it's run) is now set in the settings XML file. Defaults to two minutes. | ||
+ | 8. (S) TRAC now has multiple detection methods, take a look at the new section below which gives the values to set in the settings XML file. | ||
+ | 9. (S) Refactored the TRAC code into a new class. | ||
+ | 10. (S) The default TRAC detection method (zero) has been made more efficient - it no longer scans grid which don't have any strikes in them and the offset is sent in a single SQL statement. | ||
+ | 11. (S) TRAC didn't log the absolute distance into the database (tblTRACHeader) instead it logged the pre-absolute distance, corrected. | ||
+ | 12. (S) The storm offset calculation in TRAC was wrong when calculating the BL sector, corrected. | ||
+ | 13. (S) The database updating code has been improved not to throw exceptions if the table and/or columns already exist. | ||
+ | 14. (S) PostgreSQL 9.3 is now the minimum version since 9.0 is getting a bit old now (it's EOL in September 2015). | ||
+ | 15. (S) TRAC now runs as a function in PostgreSQL (fnTRAC) written in PLPGSQL. | ||
+ | 16. (S) Close storms in TRAC should no longer cause excessive overlapping. | ||
+ | |||
+ | v0.4.1 - 12th May 2012 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (C) The graphing class now disposes it's objects, should help with matplotlib' | ||
+ | 2. (S) The vwStrikesPeak view wasn't quite right when used with TRAC, this has been corrected and renamed to vwTRACStrikesPeak. | ||
+ | 3. (S) TRAC's peak strike count was based on the last minute, this has been changed to the last five minutes to match the TRAC run period. | ||
+ | 4. (S) runTRAC() XMLRPC call removed. | ||
+ | 5. (C) Removed more obsolete commands from the client. | ||
+ | 6. (S) testTRAC() XMLRPC call removed. | ||
+ | 7. (C) Two new strike shapes, both based on a plus sign. New section below indicating the values to set in the settings XML file - should have done this earlier. | ||
+ | 8. (C) TRAC's grid is now displayed when running in debug mode. | ||
+ | 9. (S) TRAC's intensity detection wasn't right, should now be correct. | ||
+ | |||
+ | v0.4.0 - 6th May 2012 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Introspection has been added to the XMLRPC server. | ||
+ | 2. (S) fakeStrikes() XMLRPC call removed. | ||
+ | 3. (S) insertIntoPersistence() XMLRPC call removed. | ||
+ | 4. (S) strikePersistence() XMLRPC call returned data altered, please review the XMLRPC document. | ||
+ | 5. (S) rotateLogs() XMLRPC call removed. | ||
+ | 6. (S) There is no longer the concept of strike persistence, | ||
+ | 7. (C) Using the new strike age field, strikes are now colour coded in five minute slots rather than the old ten minute slots. | ||
+ | 8. (C) Mini client now displays the strike age when requesting the persistence. | ||
+ | 9. (S) TRAC now runs every five minutes. | ||
+ | 10. (S) SQL view vwTRACPersistence is now correctly dropped and recreated on server startup. | ||
+ | 11. (C) Client no longer attempts to send demo strikes back to server, the XMLRPC calls have been removed anyway. | ||
+ | 12. (S) The XMLRPC server will only serve on it's child URL "/xmlrpc", | ||
+ | 13. (C) Improved the cron() routine should exceptions occur. | ||
+ | 14. (S) Altered XMLRPC call lastHourOfStrikesByMinute() to provide the strike age in minutes. | ||
+ | 15. (C) Mini client altered to display the above. | ||
+ | 16. (C) The screen capture file is now located in the new " | ||
+ | 17. (C) Default capture time is now 15 seconds. | ||
+ | 18. (C) A strike history graph is now shown for the last 60 minutes. | ||
+ | 19. (C) The " | ||
+ | |||
+ | v0.3.1 - 23rd April 2012 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) TRAC now logs the most active storms distance as well as the closest, XMLRPC calls now return extra columns please read the XMLRPC document for more information. | ||
+ | 2. (C) UI code changed to show the above. | ||
+ | 3. (S) New XMLRPC call lastHourOfStrikesByMinute() provides a strike summary grouped per minute. | ||
+ | 4. (C) Mini client can now show the strikes per minute. | ||
+ | 5. (S) Some imports from the old XMLRPC server was left behind - now cleaned up. | ||
+ | 6. (C) Mini client can now list storms TRAC is monitoring. | ||
+ | |||
+ | v0.3.0 - 19th April 2012 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) The XMLRPC server now runs using Twisted and will now handle multiple clients simultaneously. | ||
+ | |||
+ | v0.2.2 - 12th August 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (C) Now has a new mini version of the client which provides text based representation of the data. Useful for when running SXR over DDP or you don't require a UI. NOTE: Not all the features (e.g. screen capture, etc) are not present in the mini client. | ||
+ | 2. (S) The strikePersistence() XMLRPC call could have returned data in an incorrect order, this has been corrected. | ||
+ | 3. (S) The strikePersistence() XMLRPC call now includes the relative values of the strikes based on the map centre. | ||
+ | |||
+ | v0.2.1 - 10th August 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Tweaked connection parameters to the database. | ||
+ | 2. (S) Changed SQL parameters to named parameters. | ||
+ | 3. (C) Strike copyright is now read from the server. | ||
+ | 4. (S) serverDetails() XMLRPC call had it's index wrong when returning the data, corrected. | ||
+ | 5. (C) The server details are now displayed on the top left of the screen. | ||
+ | |||
+ | v0.2.0 - 7th August 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Moved from MySQL to PostgreSQL v9.X. | ||
+ | 2. (C) Tweaked connection hostname for the client as the server doesn' | ||
+ | 3. (S) Improved the receiver status, now reports the receiver missing if it hasn't heard from it for five seconds or more. | ||
+ | |||
+ | v0.1.3 - 27th May 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Corrected serial code when running under Windows. | ||
+ | 2. (C) Forgot to add the range circles to the settings XML. | ||
+ | |||
+ | v0.1.2 - 22nd May 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Corrections to the EFM-100 handling code. | ||
+ | |||
+ | v0.1.1 - 21st May 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (C) Client component. | ||
+ | |||
+ | v0.1.0 - 16th May 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. (S) Initial release, server component only. | ||
+ | |||
+ | v0.0.0 - 14th May 2011 | ||
+ | ^^^^^^^^^^^^^^^^^^^^^^ | ||
+ | 1. Development started. | ||
+ | |||
+ | |||
+ | Usage | ||
+ | ===== | ||
+ | On the command line: - | ||
+ | |||
+ | % python sxr_client.py | ||
+ | % python sxr_mini_client.py | ||
+ | % python sxr_server.py | ||
+ | |||
+ | |||
+ | Current Features (S = server, C = client) | ||
+ | ========================================= | ||
+ | 1. (S) XMLRPC server served on a single port which can be changed in the settings XML file. | ||
+ | 2. (S) Records strikes into PostgreSQL as soon as they are received from the Boltek LD-250. | ||
+ | 3. (S) Records the electric field strength into PostgreSQL as soon as it is received from the Boltek EFM-100. | ||
+ | 4. (S) Basic storm tracking using my implementation of TRAC, TRAC can also have it's storm searching parameters changed in the settings XML file. | ||
+ | 5. (C) Completely stateless client, the server provides all the data so parameters like the strikes, TRAC, uptime, etc are kept even if you restart the client or start another on another computer. | ||
+ | 6. (C) Periodic screen capture for uploading. | ||
+ | 7. (C) Screen update times (known as the " | ||
+ | 8. (C) Mini client provides quick access to the data and doesn' | ||
+ | 9. (C) Strike history graph provided by matplotlib (if installed). | ||
+ | 10. (C) Strike shapes can be changed in the settings XML file. | ||
+ | |||
+ | |||
+ | Future Features | ||
+ | =============== | ||
+ | 1. SSBT. | ||
+ | 2. Boltek LD-350 support. | ||
+ | |||
+ | |||
+ | Client Strike Shapes | ||
+ | ==================== | ||
+ | 0 = Square | ||
+ | 1 = Triangle (pointing down) | ||
+ | 2 = Circle | ||
+ | 3 = Plus with black outline, coloured fill | ||
+ | 4 = Plus with coloured outline, transparent fill | ||
+ | |||
+ | |||
+ | TRAC Detection Methods | ||
+ | ====================== | ||
+ | 0 = Uses a fixed-grid to determine whether the number of strikes exceeds a threshold | ||
+ | 1 = Uses a freestyle-grid to determine whether the number of strikes exceeds a threshold | ||
+ | |||
+ | |||
+ | Installation | ||
+ | ============ | ||
+ | FreeBSD | ||
+ | ^^^^^^^ | ||
+ | Here are the packages I've currently got installed for StormForce XR to work: - | ||
+ | |||
+ | ================================================================================================================================ | ||
+ | Name | Download From | Directory | ||
+ | ====================+===================+======================================================================================= | ||
+ | py27-game | Ports | / | ||
+ | py27-matplotlib | Ports | /usr/ | ||
+ | py27-scimath | Ports | / | ||
+ | py27-psycopg2 | Ports | /usr/ | ||
+ | py27-serial | Ports | / | ||
+ | py27-twisted | Ports | / | ||
+ | python27 | Ports | / | ||
+ | ====================+===================+======================================================================================= | ||
+ | postgres93-server | Ports | / | ||
+ | postgres93-client | Ports | / | ||
+ | postgres93-contrib | Ports | / | ||
+ | ================================================================================================================================ | ||
+ | |||
+ | You can install them in any order, you might want to make sure the your ports collection is up-to-date. | ||
+ | |||
+ | |||
+ | Linux | ||
+ | ^^^^^ | ||
+ | *** This section needs updating. *** | ||
+ | |||
+ | |||
+ | MacOS | ||
+ | ^^^^^ | ||
+ | Untested - But no problems are expected. | ||
+ | |||
+ | |||
+ | Microsoft Windows | ||
+ | ^^^^^^^^^^^^^^^^^ | ||
+ | Install Python 2.7 (https:// | ||
+ | |||
+ | |||
+ | Please note that the psycopg2 package is not a official build, have a look on the website for more information: | ||
+ | |||
+ | *** Remember that you only need certain packages installed depending on which component of StormForce XR you want to use. **** | ||
+ | |||
+ | |||
+ | PostgreSQL | ||
+ | ========== | ||
+ | All that StormForce XR needs is the actual database and username setup, the tables, views, indices, and functions will be handled by the program itself. | ||
+ | |||
+ | Run the following commands: - | ||
+ | |||
+ | # su pgsql | ||
+ | $ createdb stormforce_xr | ||
+ | $ psql stormforce_xr | ||
+ | =# CREATE USER stormforce_user WITH password ' | ||
+ | =# GRANT ALL PRIVILEGES ON DATABASE stormforce_xr TO stormforce_user; | ||
+ | =# ALTER DATABASE stormforce_xr OWNER TO stormforce_user; | ||
+ | =# CREATE EXTENSION pgcrypto; | ||
+ | |||
+ | |||
+ | Then give StormForce XR the connection details in the settings | ||
+ | |||
+ | |||
+ | FAQ | ||
+ | === | ||
+ | Q. What are the dependencies for this program? | ||
+ | A. Python v2.7 or greater. | ||
+ | |||
+ | Q. What operating systems does it support? | ||
+ | A. I develop and test StormForce XR with FreeBSD 9.1, it should work in other POSIX compliant operating systems as well other distros of Linux. | ||
+ | |||
+ | Q. Can I create (port) of StormForce XR? | ||
+ | A. By all means! Be sure to read the LICENSE first. | ||
+ | |||
+ | Q. I've found a bug! What do I do? | ||
+ | A. Let me know by raising it as an issue so I can fix it in the next version. | ||
+ | |||
+ | Q. I would like a feature that's not in StormForce XR... | ||
+ | A. I'm currently not accepting feature requests. | ||
+ | |||
+ | Q. Can StormForce XR send it's strike data to Blitzortung? | ||
+ | A. Unfortunately this is not possible due the strikes needing microsecond accuracy which the Boltek LD-250 doesn' | ||
+ | |||
+ | |||
+ | Legal | ||
+ | ===== | ||
+ | I am in no way affiliated or in partnership with either Boltek, Google, NASA, Microsoft, or anyone else. | ||
+ | |||
+ | < | ||
+ | |||
+ | ===== Pakete (nach)installieren ===== | ||
+ | Für den reibungslosen Betrieb von [[https:// | ||
+ | # yum info python | ||
+ | |||
+ | < | ||
+ | 326 packages excluded due to repository priority protections | ||
+ | Installed Packages | ||
+ | Name : python | ||
+ | Arch : x86_64 | ||
+ | Version | ||
+ | Release | ||
+ | Size : 79 k | ||
+ | Repo : installed | ||
+ | From repo : anaconda | ||
+ | Summary | ||
+ | URL : https://www.python.org/ | ||
+ | License | ||
+ | Description : Python is an interpreted, | ||
+ | : language often compared to Tcl, Perl, Scheme or Java. Python includes | ||
+ | : modules, classes, exceptions, very high level dynamic data types and | ||
+ | : dynamic typing. Python supports interfaces to many system calls and | ||
+ | : libraries, as well as to various windowing systems (X11, Motif, Tk, | ||
+ | : Mac and MFC). | ||
+ | : | ||
+ | : Programmers can write new built-in modules for Python in C or C++. | ||
+ | : Python can be used as an extension language for applications that need | ||
+ | : a programmable interface. | ||
+ | : | ||
+ | : Note that documentation for Python is provided in the python-docs | ||
+ | : package. | ||
+ | : | ||
+ | : This package provides the " | ||
+ | : implementation is within the " | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Server ==== | ||
+ | Gemäß der **// | ||
+ | # yum install python-twisted-core python-twisted-web pyserial python-psycopg2 | ||
+ | |||
+ | ==== Client ==== | ||
+ | Für den Stormforce-XR Client wir das Python Paket **pygame** benötigt. Leider gibt es weder im originalen CentOS Repository, noch im Repository **EPEL** ein passendes RPM. Abhilfe schafft hier das **Nux Dextop Repository**, | ||
+ | |||
+ | Zunächst importieren wir den PGP-Key mit dem die Pakete des **Nux Dextop Repositories** signiert wurden. | ||
+ | # rpm --import https:// | ||
+ | |||
+ | Anschliessend binden wir das **Nux Dextop Repo** auf unserem Server ein. | ||
+ | # yum -y install epel-release && rpm -Uvh https:// | ||
+ | |||
+ | Zu guter Letzt installieren wir das Python Paket **pygame**. | ||
+ | # yum install pygame -y | ||
+ | |||
+ | |||
+ | ===== PostgreSQL-Datenbank ===== | ||
+ | Im Gegensatz zum Entwicklungszweig **stormforce**, der aktuell nicht mehr weiterentwickelt und gepflegt wird, wird beim neuen Release-Version **stormforce-xr** nur noch eine **[[https:// | ||
+ | |||
+ | ==== Datenbank-Daemon installieren und konfigurieren ==== | ||
+ | Den benötigten Datenbank-Daemon installieren wir, wie soll es anders sein, einfach via **yum**. | ||
+ | - **Installation des Postgresql-Datenbank-Daemon** < | ||
+ | - **Konfiguration des Datenbankdaemon** < | ||
+ | # PostgreSQL configuration file | ||
+ | # ----------------------------- | ||
+ | # | ||
+ | # This file consists of lines of the form: | ||
+ | # | ||
+ | # name = value | ||
+ | # | ||
+ | # (The " | ||
+ | # "#" | ||
+ | # values can be found in the PostgreSQL documentation. | ||
+ | # | ||
+ | # The commented-out settings shown in this file represent the default values. | ||
+ | # Re-commenting a setting is NOT sufficient to revert it to the default value; | ||
+ | # you need to reload the server. | ||
+ | # | ||
+ | # This file is read on server startup and when the server receives a SIGHUP | ||
+ | # signal. | ||
+ | # server for the changes to take effect, or use " | ||
+ | # parameters, which are marked below, require a server shutdown and restart to | ||
+ | # take effect. | ||
+ | # | ||
+ | # Any parameter can also be given as a command-line option to the server, e.g., | ||
+ | # " | ||
+ | # with the " | ||
+ | # | ||
+ | # Memory units: | ||
+ | # MB = megabytes | ||
+ | # GB = gigabytes | ||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # FILE LOCATIONS | ||
+ | # | ||
+ | |||
+ | # The default values of these variables are driven from the -D command-line | ||
+ | # option or PGDATA environment variable, represented here as ConfigDir. | ||
+ | |||
+ | # | ||
+ | # (change requires restart) | ||
+ | #hba_file = ' | ||
+ | # (change requires restart) | ||
+ | #ident_file = ' | ||
+ | # (change requires restart) | ||
+ | |||
+ | # If external_pid_file is not explicitly set, no extra PID file is written. | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | |||
+ | |||
+ | # | ||
+ | # CONNECTIONS AND AUTHENTICATION | ||
+ | # | ||
+ | |||
+ | # - Connection Settings - | ||
+ | |||
+ | # | ||
+ | # comma-separated list of addresses; | ||
+ | # defaults to ' | ||
+ | # (change requires restart) | ||
+ | #port = 5432 # (change requires restart) | ||
+ | # Django : 2017-01-09 | ||
+ | # default: unset | ||
+ | listen_addresses = ' | ||
+ | # Note: In RHEL/Fedora installations, | ||
+ | # adjust it in the service file instead. | ||
+ | max_connections = 100 # (change requires restart) | ||
+ | # Note: Increasing max_connections costs ~400 bytes of shared memory per | ||
+ | # connection slot, plus lock space (see max_locks_per_transaction). | ||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | #bonjour = off # advertise server via Bonjour | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | |||
+ | # - Security and Authentication - | ||
+ | |||
+ | # | ||
+ | #ssl = off # (change requires restart) | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Kerberos and GSSAPI | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - TCP Keepalives - | ||
+ | # see "man 7 tcp" for details | ||
+ | |||
+ | # | ||
+ | # 0 selects the system default | ||
+ | # | ||
+ | # 0 selects the system default | ||
+ | # | ||
+ | # 0 selects the system default | ||
+ | |||
+ | |||
+ | # | ||
+ | # RESOURCE USAGE (except WAL) | ||
+ | # | ||
+ | |||
+ | # - Memory - | ||
+ | |||
+ | shared_buffers = 32MB # min 128kB | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # Note: Increasing max_prepared_transactions costs ~600 bytes of shared memory | ||
+ | # per transaction slot, plus lock space (see max_locks_per_transaction). | ||
+ | # It is not advisable to set max_prepared_transactions nonzero unless you | ||
+ | # actively intend to use prepared transactions. | ||
+ | #work_mem = 1MB # min 64kB | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Disk - | ||
+ | |||
+ | # | ||
+ | # in kB, or -1 for no limit | ||
+ | |||
+ | # - Kernel Resource Usage - | ||
+ | |||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | |||
+ | # - Cost-Based Vacuum Delay - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Background Writer - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Asynchronous Behavior - | ||
+ | |||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # WRITE AHEAD LOG | ||
+ | # | ||
+ | |||
+ | # - Settings - | ||
+ | |||
+ | #wal_level = minimal # minimal, archive, or hot_standby | ||
+ | # (change requires restart) | ||
+ | #fsync = on # turns forced synchronization on or off | ||
+ | # | ||
+ | # off, local, remote_write, | ||
+ | # | ||
+ | # supported by the operating system: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Checkpoints - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Archiving - | ||
+ | |||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # placeholders: | ||
+ | # %f = file name only | ||
+ | # e.g. 'test ! -f / | ||
+ | # | ||
+ | # number of seconds; 0 disables | ||
+ | |||
+ | |||
+ | # | ||
+ | # REPLICATION | ||
+ | # | ||
+ | |||
+ | # - Sending Server(s) - | ||
+ | |||
+ | # Set these on the master and on any standby that will send replication data. | ||
+ | |||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Master Server - | ||
+ | |||
+ | # These settings are ignored on a standby server. | ||
+ | |||
+ | # | ||
+ | # comma-separated list of application_name | ||
+ | # from standby(s); ' | ||
+ | # | ||
+ | |||
+ | # - Standby Servers - | ||
+ | |||
+ | # These settings are ignored on a master server. | ||
+ | |||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # when reading WAL from archive; | ||
+ | # -1 allows indefinite delay | ||
+ | # | ||
+ | # when reading streaming WAL; | ||
+ | # -1 allows indefinite delay | ||
+ | # | ||
+ | # 0 disables | ||
+ | # | ||
+ | # query conflicts | ||
+ | |||
+ | |||
+ | # | ||
+ | # QUERY TUNING | ||
+ | # | ||
+ | |||
+ | # - Planner Method Configuration - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Planner Cost Constants - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Genetic Query Optimizer - | ||
+ | |||
+ | #geqo = on | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | #geqo_seed = 0.0 # range 0.0-1.0 | ||
+ | |||
+ | # - Other Planner Options - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # JOIN clauses | ||
+ | |||
+ | |||
+ | # | ||
+ | # ERROR REPORTING AND LOGGING | ||
+ | # | ||
+ | |||
+ | # - Where to Log - | ||
+ | |||
+ | # | ||
+ | # stderr, csvlog, syslog, and eventlog, | ||
+ | # depending on platform. | ||
+ | # requires logging_collector to be on. | ||
+ | |||
+ | # This is used when logging to stderr: | ||
+ | logging_collector = on # Enable capturing of stderr and csvlog | ||
+ | # into log files. Required to be on for | ||
+ | # csvlogs. | ||
+ | # (change requires restart) | ||
+ | |||
+ | # These are only used if logging_collector is on: | ||
+ | # | ||
+ | # can be absolute or relative to PGDATA | ||
+ | log_filename = ' | ||
+ | # can include strftime() escapes | ||
+ | # | ||
+ | # begin with 0 to use octal notation | ||
+ | log_truncate_on_rotation = on # If on, an existing log file with the | ||
+ | # same name as the new log file will be | ||
+ | # truncated rather than appended to. | ||
+ | # But such truncation only occurs on | ||
+ | # time-driven rotation, not on restarts | ||
+ | # or size-driven rotation. | ||
+ | # off, meaning append to existing files | ||
+ | # in all cases. | ||
+ | log_rotation_age = 1d # Automatic rotation of logfiles will | ||
+ | # happen after that time. 0 disables. | ||
+ | log_rotation_size = 0 # Automatic rotation of logfiles will | ||
+ | # happen after that much log output. | ||
+ | # 0 disables. | ||
+ | |||
+ | # These are relevant when logging to syslog: | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # This is only relevant when logging to eventlog (win32): | ||
+ | # | ||
+ | |||
+ | # - When to Log - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # and their durations, > 0 logs only | ||
+ | # statements running at least this number | ||
+ | # of milliseconds | ||
+ | |||
+ | |||
+ | # - What to Log - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # e.g. '< | ||
+ | # Django : 2017-01-09 | ||
+ | # default: unset | ||
+ | log_line_prefix = '%t %u %d' | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # than the specified size in kilobytes; | ||
+ | # -1 disables, 0 logs all temp files | ||
+ | log_timezone = ' | ||
+ | |||
+ | |||
+ | # | ||
+ | # RUNTIME STATISTICS | ||
+ | # | ||
+ | |||
+ | # - Query/Index Statistics Collector - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # - Statistics Monitoring - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # AUTOVACUUM PARAMETERS | ||
+ | # | ||
+ | |||
+ | #autovacuum = on # Enable autovacuum subprocess? | ||
+ | # requires track_counts to also be on. | ||
+ | # | ||
+ | # their durations, > 0 logs only | ||
+ | # actions running at least this number | ||
+ | # of milliseconds. | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # | ||
+ | # vacuum | ||
+ | # | ||
+ | # analyze | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # | ||
+ | # autovacuum, in milliseconds; | ||
+ | # -1 means use vacuum_cost_delay | ||
+ | # | ||
+ | # autovacuum, -1 means use | ||
+ | # vacuum_cost_limit | ||
+ | |||
+ | |||
+ | # | ||
+ | # CLIENT CONNECTION DEFAULTS | ||
+ | # | ||
+ | |||
+ | # - Statement Behavior - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # only default tablespace | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | #xmlbinary = ' | ||
+ | #xmloption = ' | ||
+ | # | ||
+ | |||
+ | # - Locale and Formatting - | ||
+ | |||
+ | datestyle = 'iso, mdy' | ||
+ | # | ||
+ | timezone = ' | ||
+ | # | ||
+ | # abbreviations. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # You can create your own file in | ||
+ | # share/ | ||
+ | # | ||
+ | # | ||
+ | # encoding | ||
+ | |||
+ | # These settings are initialized by initdb, but they can be changed. | ||
+ | lc_messages = ' | ||
+ | # strings | ||
+ | lc_monetary = ' | ||
+ | lc_numeric = ' | ||
+ | lc_time = ' | ||
+ | |||
+ | # default configuration for text search | ||
+ | default_text_search_config = ' | ||
+ | |||
+ | # - Other Defaults - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # LOCK MANAGEMENT | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | # Note: Each lock table slot uses ~270 bytes of shared memory, and there are | ||
+ | # max_locks_per_transaction * (max_connections + max_prepared_transactions) | ||
+ | # lock table slots. | ||
+ | # | ||
+ | # (change requires restart) | ||
+ | |||
+ | |||
+ | # | ||
+ | # VERSION/ | ||
+ | # | ||
+ | |||
+ | # - Previous PostgreSQL Versions - | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # - Other Platforms and Clients - | ||
+ | |||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # ERROR HANDLING | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # | ||
+ | |||
+ | |||
+ | # | ||
+ | # CUSTOMIZED OPTIONS | ||
+ | # | ||
+ | |||
+ | # Add settings for extensions here</ | ||
+ | - **PostgreSQL Client Authentication Konfiguration** < | ||
+ | # =================================================== | ||
+ | # | ||
+ | # Refer to the " | ||
+ | # documentation for a complete description of this file. A short | ||
+ | # synopsis follows. | ||
+ | # | ||
+ | # This file controls: which hosts are allowed to connect, how clients | ||
+ | # are authenticated, | ||
+ | # databases they can access. | ||
+ | # | ||
+ | # local DATABASE | ||
+ | # host | ||
+ | # hostssl | ||
+ | # hostnossl | ||
+ | # | ||
+ | # (The uppercase items must be replaced by actual values.) | ||
+ | # | ||
+ | # The first field is the connection type: " | ||
+ | # socket, " | ||
+ | # " | ||
+ | # plain TCP/IP socket. | ||
+ | # | ||
+ | # DATABASE can be " | ||
+ | # database name, or a comma-separated list thereof. The " | ||
+ | # keyword does not match " | ||
+ | # must be enabled in a separate record (see example below). | ||
+ | # | ||
+ | # USER can be " | ||
+ | # comma-separated list thereof. | ||
+ | # you can also write a file name prefixed with " | ||
+ | # from a separate file. | ||
+ | # | ||
+ | # ADDRESS specifies the set of hosts the record matches. | ||
+ | # host name, or it is made up of an IP address and a CIDR mask that is | ||
+ | # an integer (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that | ||
+ | # specifies the number of significant bits in the mask. A host name | ||
+ | # that starts with a dot (.) matches a suffix of the actual host name. | ||
+ | # Alternatively, | ||
+ | # columns to specify the set of hosts. | ||
+ | # can write " | ||
+ | # or " | ||
+ | # directly connected to. | ||
+ | # | ||
+ | # METHOD can be " | ||
+ | # " | ||
+ | # " | ||
+ | # it sends encrypted passwords. | ||
+ | # | ||
+ | # OPTIONS are a set of options for the authentication in the format | ||
+ | # NAME=VALUE. | ||
+ | # authentication methods -- refer to the " | ||
+ | # section in the documentation for a list of which options are | ||
+ | # available for which authentication methods. | ||
+ | # | ||
+ | # Database and user names containing spaces, commas, quotes and other | ||
+ | # special characters must be quoted. | ||
+ | # " | ||
+ | # its special character, and just match a database or username with | ||
+ | # that name. | ||
+ | # | ||
+ | # This file is read on server startup and when the postmaster receives | ||
+ | # a SIGHUP signal. | ||
+ | # to SIGHUP the postmaster for the changes to take effect. | ||
+ | # use " | ||
+ | |||
+ | # Put your actual configuration here | ||
+ | # ---------------------------------- | ||
+ | # | ||
+ | # If you want to allow non-local connections, | ||
+ | # " | ||
+ | # listen on a non-local interface via the listen_addresses | ||
+ | # configuration parameter, or via the -i or -h command line switches. | ||
+ | |||
+ | |||
+ | |||
+ | # TYPE DATABASE | ||
+ | |||
+ | # Django : 2017-01-09 | ||
+ | # default: # " | ||
+ | # local | ||
+ | # # IPv4 local connections: | ||
+ | # host all | ||
+ | # # IPv6 local connections: | ||
+ | # host all | ||
+ | # | ||
+ | # " | ||
+ | local | ||
+ | # IPv4 local connections: | ||
+ | host all | ||
+ | # IPv6 local connections: | ||
+ | host all | ||
+ | # Allow replication connections from localhost, by a user with the | ||
+ | # replication privilege. | ||
+ | # | ||
+ | #host replication | ||
+ | #host replication | ||
+ | - **Datenbank Initialisieren** < | ||
+ | - **Datenbank-Daemon starten** < | ||
+ | - **Status des Datenbank-Daemon abfragen** < | ||
+ | <font style=" | ||
+ | | ||
+ | | ||
+ | Process: 15243 ExecStart=/ | ||
+ | Process: 15237 ExecStartPre=/ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Jan 09 14:33:01 vml000127.dmz.nausch.org systemd[1]: Starting PostgreSQL database server... | ||
+ | Jan 09 14:33:02 vml000127.dmz.nausch.org systemd[1]: Started PostgreSQL database server.</ | ||
+ | </ | ||
+ | - **Datenbank-Daemon Systemstart aktivieren** < | ||
+ | - **Datenbank-Systemuser erstellen**: | ||
+ | - **StormForce XR _ Datenbanknutzer anlegen**: < | ||
+ | psql (8.4.9) | ||
+ | Type " | ||
+ | |||
+ | postgres=#</ | ||
+ | - **Datenbanktabelle(n) anzeigen**: < | ||
+ | List of databases | ||
+ | | ||
+ | ---------------+----------+----------+-------------+-------------+----------------------- | ||
+ | | ||
+ | | ||
+ | : postgres=CTc/ | ||
+ | : stormforce_user | ||
+ | : =CTc/ | ||
+ | | ||
+ | : postgres=CTc/ | ||
+ | | ||
+ | : postgres=CTc/ | ||
+ | (4 rows) | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Datenbank-Zugang testen ==== | ||
+ | Als nächstes überprüfen wir, ob der zuvor angelegt User/Zugang auch funktioniert. | ||
+ | $ psql -h localhost -d stormforce_xr -U stormforce_user -W | ||
+ | |||
+ | | ||
+ | |||
+ | < | ||
+ | Type " | ||
+ | |||
+ | stormforce_xr=> | ||
+ | </ | ||
+ | stormforce_xr=> | ||
+ | |||
+ | ===== Stormforce-XR ===== | ||
+ | ==== Server ==== | ||
+ | === erster manueller Start === | ||
+ | Nun ist es an der Zeit, **stormforce-xr** das erste mal zu starten. Als erstes starten wir mal den Server-Part der Anwendung an: | ||
+ | $ cd / | ||
+ | $ python sxr_server.py | ||
+ | |||
+ | < | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/License Notice (BSD License) | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </b></ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | |||
+ | <font style=" | ||
+ | |||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2008-2012, 2014, Daniel Knaggs - 2E0DPK/ | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # * This Software is not to be used for safety purposes. | ||
+ | # # | ||
+ | # * You agree and abide the Disclaimer for your Boltek products. | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | |||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | </ | ||
+ | |||
+ | === Server Konfigurationsdatei bearbeiten === | ||
+ | Wie uns das Programm freundlich mitteilte, müssen wir nun noch die **Server-XML**-Konfigurationsdatei // | ||
+ | |||
+ | # vim / | ||
+ | <file xml / | ||
+ | < | ||
+ | <Setting ServerPort=" | ||
+ | <Setting LD250Port="/ | ||
+ | <Setting LD250Speed=" | ||
+ | <Setting LD250Bits=" | ||
+ | <Setting LD250Parity=" | ||
+ | <Setting LD250StopBits=" | ||
+ | <Setting LD250Squelch=" | ||
+ | <Setting LD250UseUncorrectedStrikes=" | ||
+ | <Setting EFM100Port=""/> | ||
+ | <Setting EFM100Speed=" | ||
+ | <Setting EFM100Bits=" | ||
+ | <Setting EFM100Parity=" | ||
+ | <Setting EFM100StopBits=" | ||
+ | <Setting PostgreSQLServer=" | ||
+ | <Setting PostgreSQLDatabase=" | ||
+ | <Setting PostgreSQLUsername=" | ||
+ | <Setting PostgreSQLPassword=" | ||
+ | <Setting CloseDistance=" | ||
+ | <Setting TRACDetectionMethod=" | ||
+ | <Setting TRACSensitivity=" | ||
+ | <Setting TRACStormWidth=" | ||
+ | <Setting TRACUpdateTime=" | ||
+ | <Setting StrikeCopyright=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Server erneut manuell starten === | ||
+ | Nachdem wir nun die Stormforce-XR konfigurationsdatei erstellt haben, werden wir nun erneut den Daemon manuell starten um zu sehen, ob alles glatt gelaufen ist oder ob noch Fehler in der Konfiguration und/oder Installation vorhanden sind. | ||
+ | $ cd / | ||
+ | $ python sxr_server.py | ||
+ | |||
+ | < | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/License Notice (BSD License) | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </b></ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </ | ||
+ | <font style=" | ||
+ | |||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2008-2012, 2014, Daniel Knaggs - 2E0DPK/M6DPK # | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # * This Software is not to be used for safety purposes. | ||
+ | # # | ||
+ | # * You agree and abide the Disclaimer for your Boltek products. | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | |||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/License Notice (BSD License) | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | #########################################################################</ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | </ | ||
+ | |||
+ | Auf einer zweiten Konsole fragen wir die offenen Ports ab, de nun von den einzelnen Daemon gehalten werden. | ||
+ | # netstat -tulpen | ||
+ | < | ||
+ | Proto Recv-Q Send-Q Local Address | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | tcp 0 0 127.0.0.1: | ||
+ | tcp 0 0 0.0.0.0: | ||
+ | </ | ||
+ | |||
+ | Der Port **7397** wird von dem Python Programm**stormforce-xr** gehalten. Der postgresql-Datenbanl-server selbst lauscht auf Port **5432** auf **localhost**. | ||
+ | |||
+ | === systemd service files === | ||
+ | Da wir den Stormforce-XR Server später nicht manuell starten wollen, sondern über den Systemd-Daemon **systemd** benötgen wir noch eine passende Service-Datei. Diese legen wir uns nun im Verzeichnis | ||
+ | # vim / | ||
+ | |||
+ | <file bash /etc/ | ||
+ | Description=Stormforce XR Server Daemo | ||
+ | After=postgresql.service | ||
+ | |||
+ | [Service] | ||
+ | ExecStart=/usr/bin/python / | ||
+ | # | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target</ | ||
+ | |||
+ | Damit der Stormforce-XR Daemon die Konfigurationsdatei lesen und die Backup-Datei anlegen kann, müssen wir das Ser ver-script unserer umgebung anpassen. Unser Stormforce-XR Installationsverzeichnis lautet // | ||
+ | # vim / | ||
+ | |||
+ | < | ||
+ | |||
+ | | ||
+ | |||
+ | ...</code> | ||
+ | |||
+ | Nun können wir unseren Stormforce-Xr Daemon mit Hilfe von systemd starten. | ||
+ | # systemctl start stormforce-xr.service | ||
+ | |||
+ | Damit der Deamon beim Neustart des Servers gleich mitgestartet wird, enablen wir noch den Autostart von stormforce-xr. | ||
+ | # systemctl enable stormforce-xr.service | ||
+ | |||
+ | Created symlink from /etc/ | ||
+ | |||
+ | Den Serverstatus können wir wie gewohnt abfragen. | ||
+ | # systemctl status | ||
+ | |||
+ | < | ||
+ | <font style=" | ||
+ | | ||
+ | Active: <font style=" | ||
+ | Main PID: 22791 (python) | ||
+ | | ||
+ | | ||
+ | |||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | Jan 09 18:52:48 vml000127.dmz.nausch.org python[22791]: | ||
+ | </ | ||
+ | |||
+ | ==== Client ==== | ||
+ | === erster manueller Start === | ||
+ | Nachdem unser **stormforce-xr Server** installiert und konfiguriert ist und erfolgreich läuft, können wir nun das erste mal den Stormforce-XR-Client starten. Hierzu öffnen wir, nachdem wir uns an der laufenden X-Session angemeldet haben, ein Shell-Fenster, | ||
+ | $ cd /usr/ | ||
+ | $ python sxr_server.py | ||
+ | |||
+ | < | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | </ | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2012-2014, Daniel Knaggs | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | |||
+ | <font style=" | ||
+ | |||
+ | ######################################################################### | ||
+ | # Copyright/ | ||
+ | ######################################################################### | ||
+ | ######################################################################### | ||
+ | # Copyright (c) 2008-2012, 2014, Daniel Knaggs - 2E0DPK/ | ||
+ | # All rights reserved. | ||
+ | # # | ||
+ | # Redistribution and use in source and binary forms, with or without | ||
+ | # modification, | ||
+ | # are met: - # | ||
+ | # # | ||
+ | # * Redistributions of source code must retain the above copyright | ||
+ | # | ||
+ | # # | ||
+ | # * Redistributions in binary form must reproduce the above copyright # | ||
+ | # | ||
+ | # the documentation and/or other materials provided with the # | ||
+ | # | ||
+ | # # | ||
+ | # * Neither the name of the author nor the names of its contributors | ||
+ | # may be used to endorse or promote products derived from this # | ||
+ | # | ||
+ | # # | ||
+ | # * This Software is not to be used for safety purposes. | ||
+ | # # | ||
+ | # * You agree and abide the Disclaimer for your Boltek products. | ||
+ | # # | ||
+ | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
+ | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # | ||
+ | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
+ | # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # | ||
+ | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT # | ||
+ | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # | ||
+ | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # | ||
+ | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # | ||
+ | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # | ||
+ | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
+ | ######################################################################### | ||
+ | |||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | <font style=" | ||
+ | </ | ||
+ | |||
+ | === Client Konfigurationsdatei bearbeiten === | ||
+ | Das Programm hat uns freundlich daraufhin gewiesen, dass wir nun noch die **Client-XML**-Konfigurationsdatei // | ||
+ | |||
+ | # vim / | ||
+ | <file xml /usr/ | ||
+ | < | ||
+ | <Setting StormForceXRServer=" | ||
+ | <Setting DemoMode=" | ||
+ | <Setting StrikeShape=" | ||
+ | <Setting ShowCrosshair=" | ||
+ | <Setting ShowRangeCircles=" | ||
+ | <Setting UpdatePeriodCapture=" | ||
+ | <Setting UpdatePeriodCurrentTime=" | ||
+ | <Setting UpdatePeriodEFM100=" | ||
+ | <Setting UpdatePeriodGraphs=" | ||
+ | <Setting UpdatePeriodLD250=" | ||
+ | <Setting UpdatePeriodStrikes=" | ||
+ | <Setting DebugMode=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Starten wir nun erneut unseren Client wird uns der erste Startbildschirm des StormForce XR Clients präsentiert. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Mit der Taste " | ||
+ | |||
+ | |||
+ | === Startscript für Programmstart === | ||
+ | Für den Programmstart des Client erstellen wir uns erst einmal ein rudimentäres Shellscript, | ||
+ | |||
+ | # vim /usr/local/ | ||
+ | <file bash / | ||
+ | # Django : 2012-05-03 | ||
+ | # Schellscript zum vereinfachten Starten des StormForce Clients | ||
+ | |||
+ | cd / | ||
+ | python sxr_client.py | ||
+ | </ | ||
+ | |||
+ | Zum Starten statten wir das Script nun noch mit den **x**-Dateirechten aus. | ||
+ | # chmod +x / | ||
+ | |||
+ | === Starter anlegen === | ||
+ | Zum Starten von Stormforce legen wir uns am Desktop einen entsprechenden Starter an. Das Icon => {{: | ||
+ | |||
+ | * **Typ** : Anwendung | ||
+ | * **Name** : StormForce XR | ||
+ | * **Befehl** : / | ||
+ | * **Kommentar** : Visualisierung des Boltek LD-250 mit StormForce XR | ||
+ | |||
+ | === Kartenhintergrund === | ||
+ | Einen passenden Kartenhintergrund können wir uns entweder über das [[https://www.openstreetmap.org|freie Kartenprojekt von Openstreetmap]], | ||
+ | mit Hilfe des [[https:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Die Karte hat eine Größe von 600 x 600 Pixel, mit dem Standort in der Bildmitte. Die Karte selbst hat dabei eine Ausdehnung (Radius um den Standort) von 300 Meilen bzw. ca. 480 Kilometer. | ||
+ | |||
+ | Unsere eigene neue Karte speichern wir dann als **// | ||
+ | # | ||
+ | | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | === storm2web.sh === | ||
+ | Zum Kopieren unserer, von Stormforce alle 10 Sekunden akutalisierten, | ||
+ | # vim /usr/local/bin/storm2web.sh | ||
+ | |||
+ | <file bash / | ||
+ | # Script zum " | ||
+ | # zur Weiterleitung an den virtuellen Host " | ||
+ | # (c) Michael Nausch | ||
+ | # Version 0.01: 2008-12-29 | ||
+ | # 0.02: 2009-11-07 | ||
+ | # 0.03: 2012-05-04 | ||
+ | # 0.04: 2013-02-16 | ||
+ | # 0.05: 2014-01-06 | ||
+ | # 0.06: 2017-01-09 | ||
+ | |||
+ | QUELLE="/ | ||
+ | ZIEL=" | ||
+ | QUELLE2="/ | ||
+ | |||
+ | convert -geometry 280x183 $QUELLE $QUELLE2 | ||
+ | rsync -av $QUELLE $ZIEL" | ||
+ | rsync -av $QUELLE2 $ZIEL" | ||
+ | </file> | ||
+ | |||
+ | Anschliessend versehen wir unser kleines shell-script noch mit dem **" | ||
+ | # chmod +x / | ||
+ | |||
+ | In der **crontab** unseres Wetterusers hinterlegen wir nun eine Konfigurationszeile, | ||
+ | $ crontab -e | ||
+ | |||
+ | <code># Django : 2017-01-09 - Alle 60 Sekunden das Stormforce-Bild auf den Webserver kopieren | ||
+ | */1 * * * * / | ||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[wetter: | ||
+ | * **[[wiki: | ||
+ | * **[[https:// | ||
- | Für die spätere einfache Versionierung ändern wir den **stormforce**-Pfad auf // | ||
- | mv / | ||
- | Wir haben es dann zukünftig leichter, wenn wir mehrere Versionen zum testen parallel vorhalten wollen. | ||
- | Anschließend setzen wir wieder einen symbolischen Link mit dem gewünschten Zielpfadnamen auf unser neues Verzeichnis. | ||
- | ln -s / | ||