Dokumentationen & WIKI

SONNABEND GmbH & CF-SYSTEME

Benutzer-Werkzeuge

Webseiten-Werkzeuge


sw:wiresx2web:dokumentation

Dokumentation

Installation

⇒ Für ganz eilige geht es hier sofort zum Setup :-)

Die Installation der Software erfolgt direkt online. Die Online-Installation stellt sicher, dass man immer die aktuellste Version erhält und ist die bevorzugte Methode.

Achtung: Die aktuelle Version der Software ist korrekt signiert, aber je nach Sicherheitseinstellungen kann bei der Installation eine Warnmeldung erscheinen.

Wiresx2Web muss an einer angemeldeten Windows Session laufen. Das Programmfenster darf zwar in die Taskleiste minimiert, aber nicht geschlossen werden. Das ist aber unproblematisch, die Wires-X Software läuft ja auch nur so ;-)

Systemvoraussetzungen

Windows 7, 8, 10 mit .NET 4.7 Framework und MS-Installer 4.5. Sollte eine Komponente fehlen, wird diese von der Setup-Routine, auf Nachfrage, installiert.

Während der Installation muss eine Internetverbindung verfügbar sein. Für die spätere Funktion ist diese nur für die Updateprüfung und ggfs. für den FTP Transfer nötig.

Das Programm benötigt unbedingt ein Arbeitsverzeichnis mit dem Namen WiresX2Web. Dieses muss unterhalb vom Wires-X Verzeichnis, im Allgemeinen im Ordner WIRESXA, vorher erstellt werden!

Der Wires WebServer muss installiert und konfiguriert sein, Port und Passwort werden benötigt.

HTML Dateien

Das Programm erstellt fertige HTML Dateien, die direkt zum Webserver übertragen werden können. Ein einfacher FTP Upload ist implementiert.

Ab der Version 1.1.x können mehrere Templates erstellt sein, die alle abgearbeitet werden. Damit kann man entweder eine große/lange Status-Seite machen, oder mehrere kleine. Dabei muss die Vorlage als „tpl_xyz.html“ im Verzeichnis liegen. Daraus wird dann eine xyz.html.

Also aus:

  • tpl_status.html wird status.html
  • tpl_area.html wird area.html
  • u.s.w.

Reichweiten Karte

Die Reichweitenkarte nutzt die GPS Positionsdaten auf der HF Seite um eine Reichweiten Karte des Relais zu erstellen.

Realisiert wird dies durch eine Google Headmap Karte auf Javascript Basis. Für die Nutzung muss man sich für die jeweilige Domain einen API Schlüssel besorgen.

Das Programm prüft bei jeder Änderung des Wires-X Logs (aktuell wohl jede Minute) ob es neue Positionen gibt und speichert diese in der Datei HFgrid.dat. Es kann für jede Bogensekunde nur ein Eintrag in der Datei vorkommen. Es werden keine Rufzeichen mit notiert. Die Datei kann bei Bedarf mit einem Texteditor auch korrigiert werden.

Google API Key besorgen

Setup

  1. Wires WebServer installieren und ein Passwort vergeben, falls nicht bereits geschehen
  2. Verzeichnis ….\WIRESXA\WiresX2Web anlegen
  3. Software über obigen Link laden und starten (ggfs. Neustart nach .NET Installation notwendig)
  4. Beim ersten Start der Software muss der Pfad zum Wires-X Verzeichnis (WIRESXA) gesetzt werden
  5. Weitere Einstellungen vornehmen
    1. Entweder mit Hilfe des Programmes unter „Einstellungen ändern“
    2. Oder, Programm beenden und die angelegte INI-Datei bearbeiten
  6. Eine .HTML Vorlage erstellen, Muster siehe hier
    1. Achtung ab Version 1.1.x müssen Vorlagen mit „tpl_“ beginnen!
  7. Wenn alle Parameter korrekt sind, sollte ein „Einmal TEST Lauf“ durchgeführt werden.
    1. ggfs. Fehlermeldungen überprüfen
    2. Im Arbeitsverzeichnis wurde eine neue HTML Datei generiert
    3. Wenn FTP aktiv ist, sollte die Datei auch auf dem Webspace zu finden sein
  8. fertig. START drücken, jetzt wird jede Minute ein Update gemacht
    1. ggfs. Autostart aktivieren und die Software in den Windows Autostart-Ordner verlinken
    2. Achtung Windows 10 Den Autostart Ordner unter Windows 10 findet man unter folgenden Pfad „C:\Benutzer\Dein Name\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup“
  9. Optional Reichweiten-Karte
    1. Eine .html Vorlage erstellen, Muster siehe hier
    2. Google API Key besorgen und am Ende der Vorlage eintragen
    3. in der INI-Datei die Funktion im Block [MAP] aktivieren

Funktionen

Die Version 1.5.x verfügt über folgende Funktionen:

  • Anzeige Verbindungsstatus
  • Anzeige welche Relais/Nodes noch im Raum sind
  • Optional: Raum-QSL-Bild per FTP übertragen und anzeigen
  • Lastheard Listen
  • Optional: Automatische Erstellung einer Reichweiten-Karte
  • Positionsdaten Verarbeitung und Darstellung auf einer Karte
  • FTP Upload auf Webspace
  • Statuszeile mit Zeitstempel und Dauer des letzten Durchlaufs

Das Tool hat eine eingebaute Update-Funktion. Sollte es eine neuere Version geben, wird in der GUI ein entsprechender Hinweis mit Update-Button angezeigt.

Natürlich kann man auch jede andere Form einer PHP oder HTML Datei nutzen. Das Programm ersetzt dann die diese Variablen durch die entsprechenden Werte.

Deinstallation

Das Programm wird ganz normal über die Windows Systemsteuerung deinstalliert. Sollten Sie das Programm nicht erneut installieren wollen, sollte auch das Arbeitsverzeichnis „WiresX2Web“ komplett gelöscht werden.

Informationen

Variablen für HTML Seiten

##area_data##              Erzeugt Google Headmap Daten
##connection##             Aktuelle Wires-X Verbindung, oder "not connected"
##connection_id##          ID der aktuellen Wires-X Verbindung
##generation_datetime##    Zeitstempel wann die HTML Seite erzeugt wurde
##lastheard##              Lastheard Liste HF, gekürzt
##lastheard_net##          Lastheard Liste über NET, gekürzt
##lastheard_long##         Lastheard Liste HF, komplett bis zu 200 Zeilen
##lastheard_net_long##     Lastheard Liste über NET, komplett bis zu 200 Zeilen
##lastheard_callsign##     Letztes gehörtes Rufzeichen, egal ob über HF oder Netzwerk
##my_ext_ip##              Ausgabe der externen IP, mit der eine Verbindung zum Netzwerk besteht
##my_node##                Ausgabe des eigenen Rufzeichens
##my_nodefull##            Ausgabe der eigenen Rufzeichens mit Extension (z.B. -RPT)
##my_nodeid##              Ausgabe der eigenen node ID
##node_log##               Wires-X Log, gekürzt
##node_log_long##          Wires-X Log, komplett
##nodelist##               Liste der mit dem Raum verbundenen Nodes/Relais
##nodelist2##              wie oben; Alternative Darstellung zeilenweise
##pictinclude##            Raum QSL-Bild einfügen
##picture_file##           Dateiname des Bildes
##program##                Programm-Name und Dokumentationslink
##progversion##            Programmversion
##updatecheck##            Hinweis auf Updates, oder aktuelle Version
##wiresx_ver##             Gibt die laufende WIRES-X Version aus

Sollte der Variablen-Name im Klartext auf der generierten Webseite ausgegeben werden, kann die WiresX2Web Version zu alt sein. Bitte auf Update prüfen.

Debug Level

Im Programmverzeichnis kann eine Debug-Log-Datei geschrieben werden. Dies ist eigentlich nur dann notwendig, wenn man Problemen auf die Spur kommen möchte. Wenn das Log dauerhaft läuft, einen Level größer als 3 verwenden, sonst wird die Datei sehr schnell sehr groß.

Debug-Log-Level:

1: Information
3: File I/O Info
4: Update Info
5: Warning
7: Fehler
8: STOP Fehler
9: Programm-Informationen

HTML Status Beispiel

tpl_status.html
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="refresh" content="60">
    <title>Relais Status Seite</title>
 
</head>
<body>
<div>
    <div>
    <h1 style="margin-top: 10px;">Aktueller Relais Status</h1>
    <p>Diese Status-Seite wird automatisch jede Minute aktualisiert.</p>
    </div>
 
    <div>
    <p>
    Wires-X Verbindung: <b>##connection##</b></br>
    <img src="/pictures/##picture_file##" width="80%" alt="QSL"></br>
    Verbunden mit folgenden Repeatern/Nodes:</br><b>##nodelist##</b>
    </p>
    </div>
 
    <div>
    <h2 style="margin-top: 10px;">Lastheard on 438,3875 MHz</h2>
    ##lastheard##
    </div>
 
    <div>
    <h2 style="margin-top: 10px;">Lastheard via Network</h2>
    ##lastheard_net##
    </div>
 
    <div>
    <h2 style="margin-top: 10px;">Wires-X Node Log</h2>
    ##node_log##
    </div>
 
    <div>
    <h2 style="margin-top: 10px;">Wires-X Screenshot</h2>
    <img src="/pictures/SCREEN.PNG" width="100%" alt="Screenshot"></br>
    </div>
 
    <div>
    <p>
    Running Yaesu ##wiresx_ver## 
    </p>
    </div>
 
    <div>
    <p>
    Generiert von <i>##program## ##progversion##</i> - Made by dg3fbl 2016-2018</br>
    Stand: ##generation_datetime##
    </p>
    </div>
</div>
</body>
</html>

HTML Heatmap Beispiel

tpl_heatmap.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Heatmaps</title>
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
#floating-panel {
  position: absolute;
  top: 10px;
  left: 25%;
  z-index: 5;
  background-color: #fff;
  padding: 5px;
  border: 1px solid #999;
  text-align: center;
  font-family: 'Roboto','sans-serif';
  line-height: 30px;
  padding-left: 10px;
}
 
      #floating-panel {
        background-color: #fff;
        border: 1px solid #999;
        left: 25%;
        padding: 5px;
        position: absolute;
        top: 10px;
        z-index: 5;
      }
    </style>
  </head>
 
  <body>
    <div id="floating-panel">
      <button onclick="toggleHeatmap()">Toggle Map Daten</button>
      <button onclick="changeGradient()">Ändere Farbe</button>
      <button onclick="changeRadius()">Ändere Radius</button>
     </div>
    <div id="map"></div>
    <div>
      <p>
      Generiert von <i>##program## ##progversion##</i> - by dg3fbl 2016</br>
      Stand: ##generation_datetime##
      </p>
    </div>
 
<script>
var map, heatmap;
 
function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 9,
    center: {lat: 49.988203, lng: 8.591795},
    mapTypeId: google.maps.MapTypeId.TERRAIN
  });
 
  heatmap = new google.maps.visualization.HeatmapLayer({
    data: getPoints(),
    map: map
  });
}
 
function toggleHeatmap() {
  heatmap.setMap(heatmap.getMap() ? null : map);
}
 
function changeGradient() {
  var gradient = [
    'rgba(0, 255, 255, 0)',
    'rgba(0, 255, 255, 1)',
    'rgba(0, 191, 255, 1)',
    'rgba(0, 127, 255, 1)',
    'rgba(0, 63, 255, 1)',
    'rgba(0, 0, 255, 1)',
    'rgba(0, 0, 223, 1)',
    'rgba(0, 0, 191, 1)',
    'rgba(0, 0, 159, 1)',
    'rgba(0, 0, 127, 1)',
    'rgba(63, 0, 91, 1)',
    'rgba(127, 0, 63, 1)',
    'rgba(191, 0, 31, 1)',
    'rgba(255, 0, 0, 1)'
  ]
  heatmap.set('gradient', heatmap.get('gradient') ? null : gradient);
}
 
function changeRadius() {
  heatmap.set('radius', heatmap.get('radius') ? null : 20);
}
 
function changeOpacity() {
  heatmap.set('opacity', heatmap.get('opacity') ? null : 0.2);
}
 
// Heatmap data: 500 Points
function getPoints() {
  return [
    ##area_data##
    ];
}
 
    </script>
    <script async defer
        src="https://maps.googleapis.com/maps/api/js?key=MY_GOOGLE_API_KEY&signed_in=true&libraries=visualization&callback=initMap">
    </script>
  </body>
</html>

INI Datei

Bitte die INI-Datei nicht ändern während das Programm läuft, die Änderungen könnten dann überschrieben werden!

WiresX2Web.INI
[GLOBAL]
AutoStart=False
AutoUpdate=True
DebugLevel=0
Latitude=51,123456
Longitude=11,123456
WebServer=127.0.0.1
WebPort=46190
WebPassword=mysecret
UpdateCheck=120
Startup=2
StartupPos={X=1,Y=1}

[FTP]
Enable=False
ftpServer=myftp.server.com
ftpUser=username
ftpPassword=password
Interval=1
Screenshot=False
ScreenX1=0
ScreenY1=0
ScreenX2=0
ScreenY2=0
ScreenFile=SCREEN.PNG
ScreenInterval=0

[HTML]
PictInclude=<img src="/pictures/QSL##connection_id##.PNG" width="80%" alt="QSL"></br>
AnzLH=10
AnzLHnet=10
AnzLog=10

[MAP]
Type=0
HeatMapEnable=True

[COMMUNITY]
Enable=True
QRG=xxx,xxxx MHz (-7,6)
Info=Yaesu Fusion Relais mit WiresX2Web Software  
URL=http://wiresx2web.de
Email=sysop@mail.de
Type=relais

Stand: 24.05.2018 - Version 1.5.2(21)


Übersicht

sw/wiresx2web/dokumentation.txt · Zuletzt geändert: 24.05.2018 15:42 von Administrator