du musst die Scripte in irgend ein Verzeichnis kopieren und dort ausführen. Das PHP Script wird ja direkt aus dem Bash Skript angesprochen. Den Bash Script kannst du z.B. mit ./scriph.sh starten.
Beiträge von budofighter
-
-
-
Mir geht es so, wenn ich die Windows Konsole öffne^^
Grundsätzlich sollte der Teil aber sicher auch irgendwie mit z.B. vbs/vba möglich sein.
Im Prinzip müsst ihr nur auf den Post lauschen, die Daten welche über den Port kommen in eine Datei schreiben und die Datei auslesen.
Die Ausgelesenen Daten so formatieren, dass nur Fahrzeugkennung und Status übrigbleibt und als Variablen per PHP oder einem anderen Script an die Schnittstelle schicken.
Leider kenn ich mich in dem Windows Script Bereich nicht so aus, da ich eben eher Linux gewohnt bin.... (Daher mein Weg über eine VM, damit ich nen Heimspiel hab )
-
Hallo Markus,
Du kannst auch anstelle der virtuellen Maschine mit Cygwin arbeiten. Find ich persönlich aber bisschen Umständlich um die Pakete wie PHP, Screen, Netcat usw zu installieren. Ansonsten einfach in der VMware z.B. Debian installieren und die benötigten Pakete installieren.
2. Netcat musst du anschließend innerhalb der Debian Umgebung laufen lassen.
3. Das Script würde ich in ein Vrz. unterhalb von /home/user/ legen, welches du als Arbeitsverzeichnis verwenden kannst kannst du in einem Screen z.B. unter /home/user/
Du kannst sowohl den Bash Script und auch den PHP Script dort ablegen. Den Bash Script und Netcat kannst du z.B. in einem Screen laufen lassen, damit das im Hintergrund läuft.4. Ich bin mir nicht sicher, ob das auch mit FMS32 läuft. Wenn du die Demo hast, geh mal in die Einstellungen Extras --> Optionen --> Sonstiges --> Betriebsmodus --> Server mit Port. Wenn die Einstellung vorhanden ist, sollte das laufen. Es gibt aber auch online eine FMS32pro Demo.
Den Status siehst du genau wie bei TETRA. Also beim Einsatz, bzw in der App unter den Fahrzeugen.
-
Die API funktioniert ja so, dass du die Daten per POST Befehl an die Schnittstelle schicken. (Ich mach das per php)
Wo du die Daten herbekommst, und wir du das an die Schnitstelle übergibst ist eigentlich egal.
Die API nimmt den Status entgegen und zeigt das in connect und dem Monitor an.
Du musst also nur die Daten die du hast irgendwie weiterverarbeiten und an die API schicken, dass dein Monitor den Status anzeigt.
-
Hallo Markus,
Wie genau macht ihr das den aktuell? Also mit welchem Programmen und Protokollen wird der Status übergeben? Und wie zeigt ihr das aktuell an? Ihr verwendet Xampp als Webserver? Eventuell kann man ja an irgend nem Punkt die Daten abfangen?
-
Leider habe ich mit Radio Operator keine Erfahrungen. Aber wenn du die Daten über irgend ne Schnittstelle übergeben kannst, wäre es theoretisch möglich.
Vermutlich müsste man dann aber auch den Script anpassen, da das Parsen für FMS32 ausgelegt ist.
-
Damit installierst du praktisch ein neues Betriebssystem in einem Comtainer. Der kann dann parallel zum Windows laufen.
-
Genau! Ich verwende VMware und hab einfach ein Debian Grundsystem installiert.
Braucht auch nicht viele Resourcen, da nur diese drei Scripte laufen müssen.
-
Hallo Zusammen,
Ich habe mal etwas gebastelt und es funktioniert zumindest mal. (Geht sicher besser und schöner, aber ich bin kein Profi und es klappt wenigstens mal) Wenn jemand Optimierungen hat.... sehr gerne )
Aufbau:
1. Windows Rechner auf welchem FMS32pro läuft und ein Scanner angeschlossen ist, welche die FMS überwacht und auswertet.
Hier ist im FMS32pro der Port 9300 im Servermodus freigegeben, auf welchen gelauscht werden kann.
2. VM Linuxsystem auf welchem mittels Netcat auf den entsprechenden Port gelauscht wird (warum Linux??? Weil ich mich damit besser auskenne^^)
Anstelle der VM kann natürlich auch Cygwin, oder die im Windows Store angebotenen Linux Dist´s verwendet werden. :
3. In einem Screen läuft mein BASH-Script, welcher die Daten von der status.txt liest und weiterverarbeitet, sodass die Daten an ein PHP-Skript übergeben werden können:
Bash
Alles anzeigenwhile true # Endlosschleife do last_stat_lines=$(less statuszeile.txt) # Aktuellen Zeilen der Statusdatei einlesen new_stat_lines=$(wc -l status.txt | cut -d" " -f1 ) # letzte Zeile aus letztem Durchgang auslesen diff_stat_lines=$(($new_stat_lines-$last_stat_lines)) # Berechnung der Zeilendifferenz seit letzter ausführung new_lines=$(tail --lines=$diff_stat_lines status.txt) # Aktuelle Daten zum verarbeiten zwischenspeichern export IFS=$'\n' #Steuerzeichen zu Zeilenumbrüche in Array umwandeln for line in $new_lines # Arrayeinträge nacheinander abarbeiten do if [[ $line = *"FMST"* ]]; then k=$(echo $line| cut -c 8-15) # Variable k für PHP Script setzen (Kennung Funk) s=$(echo $line| cut -c 31-31) # Variable s für PHP Script setzen (Status) php api.php -k $k -s $s # an PHP Script übergeben und anzeigen sleep 0.2 # Sleep für PHP Script #echo $k; echo $s # zur Nachverfolgung fi done echo $new_stat_lines > statuszeile.txt # Letzte bearbeitete Zeile für nächsten Durchlauf zwischenspeichern sleep 0.2 # Sleep für Endlosschleife done
PHP
Alles anzeigen<?php //Aufruf kann mit "php api.php -k (kennung) -s (Status)" direkt in der shell aufgerufen werden. $args_arr = getopt("k:s:"); $kennung = $args_arr['k']; // $modus kannst du dann z.b. dort angeben wo du manuell den status eingibst $status = $args_arr['s']; echo "Kennung: " . $kennung . " Status: " . $status . "\n"; $priv_token = "hier kommt euer Token rein"; $URL = "https://connectapi.feuersoftware.com/interfaces/public/vehicle/".$kennung."/status"; $postData = array( 'Status' => $status ); $ch = curl_init($URL); curl_setopt_array($ch, array( CURLOPT_POST => TRUE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_HTTPHEADER => array( 'Authorization: bearer '.$priv_token, 'Accept: application/json', 'Content-Type: application/json' ), CURLOPT_POSTFIELDS => json_encode($postData) )); $data = curl_exec($ch); if($data === FALSE){ die("Fehler:".curl_error($ch)); } $responseData = json_decode($data, TRUE); print_r ($responseData); ?>
Wenn jemandem optimierungen oder andere Vorschläge einfallen, sehr gerne!
Natürlich dürfen die Scripte als Grundlage für eigene Lösungen verwendet werden.
-
Hallo Markus,
Die Auswertung des FMS macht bei uns aktuell FMS32 pro, welches an einen Scanner mit diskr. Angeschlossen ist.
Dank der Schnittstelle muss ich jetzt nur noch was basteln, was mir den entsprechenden Status mit Fahrzeugkennung an die API schickt.
Ich kenne zwar Radio Operator nicht, aber sobald ich was lauffähiges hab, kann ich dir das gerne zukommen lassen.
VG,
Christian
-
Das ist ja flott gegangen
Herzlichen Dank!
-
Andreas : Das wäre genial!!
Ich denke das wäre für alle Regionen wo der Digitalfunk noch in weiter Ferne steht eine optimale Ergänzung.
Danke, dass Ihr auf unsere User-wünsche versucht einzugehen, auch wenn das manchmal nicht so einfach ist
-
Eventuell könnte man bei Connect eine Kennung bei den entsprechenden Fahrzeugen definieren, welche man dann per API ansteuern kann?
(die FMS Kennung würde sich natürlich bei diesem Zweck gut anbieten)
-
-
Ich habe die Lösung gefunden, falls jemand das selbe problem haben sollte:
"Aus Sicherheitsgründen ist die Installation von ClickOnce Anwendungen in vielen Fällen standardmäßig blockiert. Um die Installation zu erlauben, startet bitte regedit.
Geht zu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel.
Dort gibt es mehrere Keys, die das Installieren von ClickOnce Paketen beeinflussen. Sind diese auf "Disabled" gesetzt, ist die Installation solcher Pakete von der jeweiligen Quelle verboten."
Quelle: https://answers.microsoft.com/de-de/windows/…d4-7543bcd7e848 -
Danke für deine Rückmeldung. Das dachte ich eigentlich auch, allerdings ist meine Benutzerkontensteuerung bereits auf "Nie Benachrichtigen (nicht empfohlen)"
Auch Kaspersky habe ich testweise komplett abgeschalten --> kein Erfolg
-
Hallo Zusammen,
Für ein paar Tests wollte ich mir eben die aktuelle Version es EM herunterladen und auf meinem privaten Rechner installieren.
Windows 10 behauptet nun, die Datei sei unsicher, weshalb ich diese nicht installieren kann
Würde mich an sich nicht weiter stören, wenn das die Kiste mich die Datei trotzdem installieren lassen würde.... trotz Admin-ausführung und starten per cmd, habe ich keine Chance die Installation durchzuführen.
Hatte schon jemand das Problem, bzw. kennt jemand einen Workaround um die Installation durchzuführen?
-
Hallo,
Wollte nochmals nachfragen, ob etwas in diese Richtung geplant ist, oder ob dies eher unwahrscheinlich ist.
Falls jemand eine andere Idee zur Umsetzung hat, bin ich auch über jeden Vorschlag froh!Danke!
-
Hallo Zusammen,
Leider wurde bei uns (LK Waldshut-Tiengen, BW) der Digitalfunk auf unbestimmte Zeit verschoben. Selbst der KBM zweifelt daran, dass dieser mittelfristig bei uns eingeführt wird.
Aus diesem Grund ist das Thema FMS-Auswertung leider wieder aktuell geworden.
Warum wir diese Auswertung überhaupt benötigen:
Da wir tagsüber personelle Probleme haben rücken wir grundsätzlich von zwei Standorten aus. Da auch die Standorte der einzelnen Wachen taktisch nicht sinnvoll gewählt wurden, ist das Thema Hilfsfrist ein allgegenwärtiges Thema.
Wenn jetzt beispielsweiße auf Wache A noch zu wenig Leute für das LF vorhanden sind und parallel das Staffelfahrzeug aus Wache B bereits auf Status 3 steht, würde die DLK aus Wache A, vor dem LF ausrücken.
FMS32pro funktioniert bereits mit der FMS Auswertung, jetzt wäre es aber natürlich praktisch, wenn wir die Anzeige auch im Einsatzmonitor hätten. Daher habe ich mich gefragt, ob es evtl. ohne viel Aufwand möglich wäre, die Anzeige von Tetra Control auch mit dem FMS32 zu verbinden.
Wäre (zumindest für uns) eine enorme Vereinfachung!