Seite 3 von 7 ErsteErste 1234567 LetzteLetzte
Ergebnis 31 bis 45 von 94

Thema: SDS2DB schreibt SDS-Nachrichten in eine MySQL-Datenbank

  1. #31
    Registriert seit
    04.06.2013
    Beiträge
    38
    Guten Morgen habe das Problem gefunden und gelöst. Nun arbeite alles wie es sein soll.

    Wenn jemand Interesse an der OpenSuse-Industrie Version hat kann ich gerne ein TAR erstellen und hochladen.

    Auf dem Mini-PC ist noch ein anderes Programm gelaufen (USV-Überwachung).
    Jetzt da es abgeschaltet ist sind die String alle vollständig.

    Sep 18 08:15:16 linuxFR-Feinblech sds2db: -> +CTSDSR: 12,473010,0,491016,0,40
    Sep 18 08:15:16 linuxFR-Feinblech sds2db: -> 8206E40142
    Sep 18 08:15:16 linuxFR-Feinblech sds2db: <- AT+CTSDS=12,0,0,0,0
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: <- AT+CMGS=473010,32
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: <- 821000E4
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: -> OK
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: -> +CMGS: 0
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: -> OK
    Sep 18 08:15:17 linuxFR-Feinblech sds2db: -> +CMGS: 0,4,228
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: -> +CTSDSR: 12,473010,0,491016,0,40
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: -> 8206E50143
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: <- AT+CTSDS=12,0,0,0,0
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: <- AT+CMGS=473010,32
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: <- 821000E5
    Sep 18 08:15:19 linuxFR-Feinblech sds2db: -> OK
    Sep 18 08:15:20 linuxFR-Feinblech sds2db: -> +CMGS: 0
    Sep 18 08:15:20 linuxFR-Feinblech sds2db: -> OK
    Sep 18 08:15:20 linuxFR-Feinblech sds2db: -> +CMGS: 0,4,229


    Das Web-Front-End ist fast fertig (Zielgruppe Werksfeuerwehren)


    mfg
    CS

  2. #32
    Registriert seit
    04.06.2013
    Beiträge
    38
    So Leute das Grundgerüst des Webfrontend ist fertig.

    Dies könnte zum Beispiel durch den offenen Standard von Ruby on Rails auch als ein Teil von Leitstellensoftware verwendet werden. Oder man kann eine Logfunktion einbauen um zu sehen wer wann welchen Status mitgeteilt hat.

    Durch die Nutzung des Browser muss auch keine Spezialsoftware gekauft werden.
    Man kann einfach direkt und kostenlos loslegen.

    mfg
    CS
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	1.JPG 
Hits:	758 
Größe:	32,3 KB 
ID:	15920   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	2.JPG 
Hits:	698 
Größe:	31,9 KB 
ID:	15921  

  3. #33
    Registriert seit
    31.07.2012
    Beiträge
    231
    Hallo CSchumacher85,

    du hast in deiner pei.init ja die Status-SDS nicht für die Ausgabe auf der PEI registriert. Empfängst du die Statusmeldungen als Text-SDS? Warum nutzt du nicht die Status-SDS?

    Grüße

  4. #34
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hallo, ja ich habe in der Pei.init dies explizit ausgeschaltet, da in unserem Industrienetz die Statusgeschichte nicht wie geplant genutzt werden kann.
    (Situation ein Provider mehrer Kunden)

    Daher haben wir uns für den Weg der "SDS" Stati entschieden.

  5. #35
    Registriert seit
    31.07.2012
    Beiträge
    231
    Wie sieht das auf Seite der Einsatzmittel aus, die ihren Status senden sollen?
    Nachrichten-Menü -> neue Nachricht -> text eintippen -> senden an -> issi eintippen?
    Bestimmt nicht, oder?

  6. #36
    Registriert seit
    18.06.2006
    Beiträge
    1.728
    Zitat Zitat von CSchumacher85 Beitrag anzeigen
    (Situation ein Provider mehrer Kunden)
    VSE Net?

    1234567890

  7. #37
    Registriert seit
    04.06.2013
    Beiträge
    38
    Im Grunde ja es werden vordefenierte SDS auf die Tasten gelegt.
    Dies bietet den Vorteil das auch andere "Betriebe" andere Stati nutzen können.

    @meister Ja vse net

  8. #38
    Registriert seit
    03.02.2015
    Beiträge
    1

    SDS test error!

    I am trying to test SDS2DB.

    Error is>
    sds2db: Start sds2db begonnen
    Mar 23 14:36:04 sds2db: lösche Alive-Einträge der FuGs aus DB
    Mar 23 14:36:04 sds2db: lösche Alive-Einträge des Servers aus DB
    Mar 23 14:36:04 sds2db: starte sds2db
    Mar 23 14:36:04 sds2db: starte write spooler
    Mar 23 14:36:04 sds2db: erstelle Cronjob für regular run skript
    Mar 23 14:36:04 sds2db: initialisiere serielle Schnittstelle "ttyUSB0"
    Mar 23 14:36:04 sds2db: starte /usr/local/sds2db/bin/user.init
    Mar 23 14:36:04 sds2db: Stop! Userdefinierbares Init-Kommando fehlgeschlagen

    On my linux comp. there is no:/usr/local/nullmodem/bin/nullmodem ????

    Thanks!

  9. #39
    Registriert seit
    31.07.2012
    Beiträge
    231
    Don't worry. Nullmodem isn't necessary to run SDS2DB. Just comment out the call of "/usr/local/sds2db/bin/user.init" in sds2db.conf.

    Good luck

  10. #40
    Registriert seit
    31.07.2012
    Beiträge
    231
    Zitat Zitat von TLF1625
    hallo,

    habe gerade hier im Forum deinen Beitrag zu SDS2DB gefunden.

    Ich wollte mir die ZIP-Datei runterladen, leider wird mir auf zwei unterschiedlichen Rechnern angezeigt, dass die Datei im ersten Post 0KB hat. Somit lässt sie sich folglich auch nicht entpacken.
    Kannst du mir SDS2DB bitte ... mailen ?

    Ich möchte SDS2DB gerne in unserem ELW auf einem Raspberry nutzen. Neben dem Speichern der SDS in der MySQL würde ich gerne versuche SDS2DB so zu erweitern, dass ich weitere Daten abzuspeichern kann, z.B. Gespräche, aktuelle GPS-Position, ... usw.
    Wenn ich die Beschreibung richtig verstehe, kann ich über die pei.write auch eigene Kommandos an die PEI senden und die Antwort dann ähnlich einer SDS auswerten und wieder in der MySQL abspeichern ?

    DANKE !

    Gruß
    Chibbez
    Hallo,

    ich bin mal so indiskret deine PN in's Forum zu stellen. Dann haben auch andere Interessierte was davon...
    Die Dateien aus dem Eröffnungspost kann ich einwandfrei herunterladen. Es ist ein tgz-Archiv was man mit "tar xvzf ..." auf dem Zielrechner auspacken können sollte. Evtl. vermurkst die Dateiendung .zip da irgenwas? Ich musste das .zip dranhängen, um die Datei hochladen zu können.

    pei.write läuft als Daemon und schreibt den Inhalt der Spool-Dateien in .../var/spool/write/... an das passende Interface. Du siehst ja in den Skripten, wie ich die Spooldateien generiere.

    Bei den GPS-Positionen sehe ich keine große Herausforderung in der Auswertung, wenn sie als LIP-SDS empfangen werden. Ich habe einen Satz PHP-Funktionen zum Dekodieren der SDS geschrieben. Die sollten auch in diesem Thread zum Herunterladen stehen. Ich habe SDS2DB auch für meinen Einsatzzweck weiterentwickelt und rufe ein weiteres Processing-Skript auf, dem ich in Abhängigkeit einiger Parameter die empfange SDS zur weiteren Verarbeitung übergebe.

    Zur Dokumentation von Gesprächsdaten kann ich bis jetzt nichts beitragen. In meinem Fall ist das FRT auf eine reine Datengruppe geschaltet. Da wird nicht gesprochen. Wenn du es schaffst, dass das Gerät die Metadaten der Gruppenkommunikation als "unsolicited message" auf die PEI schreibt, sollten am Skript sds2db keine großen Ergänzungen dafür nötig sein.

  11. #41
    Registriert seit
    16.01.2012
    Beiträge
    18
    Hallo,
    ich komme irrgendwie nicht klar mit dem Einrichten.
    Ich habe ein MTP850 mittel Serial->USB an einen Raspberry. Wenn ich screen /dev/ttyUSB0 nutze sehe ich eingehende SDS, z.B. +CTSDSR: 13,xxxxxxx,0,xxxxxxx,0,16 8007.

    Leider habe ich mit sds2db kein Erfolg.
    Config der Schnittstelle in der sds2db.conf:
    serialdev_1="ttyUSB0"
    serialdev_1_init_1="$sttybin -F /dev/$serialdev_1 0:0:cbf:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16 :0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    ttyToListenTo="ttySDS2DB0"

    Die userinit_1 ist auskommentiert wie in Beitrag #39 empfohlen, da der gleiche Fehler wie in Beitrag #38 auftritt. Es tritt dann aber beim Starten von sds2db folgender Fehler auf:
    pi@raspberrypi ~ $ sudo /etc/init.d/sds2db start
    Starting sds2db... /etc/init.d/sds2db: line 115: ((: != 0 : syntax error: operand expected (error token is "!= 0 ")
    done!

    Die beiden Log-Dateien beinhalten folgende Meldungen:

    sds2db.log.null:
    Sep 20 23:24:34 raspberrypi sds2db: <- ATZ
    Sep 20 23:24:35 raspberrypi sds2db: <- AT+CTSP=1,2,20
    Sep 20 23:24:36 raspberrypi sds2db: <- AT+CTSP=1,3,10
    Sep 20 23:24:37 raspberrypi sds2db: <- AT+CTSP=1,3,130
    Sep 20 23:24:38 raspberrypi sds2db: <- AT+CNUMF?

    sds2db.log:
    Sep 20 22:38:21 raspberrypi sds2db: --------------------------
    Sep 20 22:38:21 raspberrypi sds2db: Start sds2db begonnen
    Sep 20 22:38:21 raspberrypi sds2db: lösche Alive-Einträge der FuGs aus DB
    Sep 20 22:38:22 raspberrypi sds2db: lösche Alive-Einträge des Servers aus DB
    Sep 20 22:38:22 raspberrypi sds2db: starte sds2db
    Sep 20 22:38:22 raspberrypi sds2db: starte write spooler
    Sep 20 22:38:22 raspberrypi sds2db: erstelle Cronjob für regular run skript
    Sep 20 22:38:22 raspberrypi sds2db: initialisiere serielle Schnittstelle "ttyUSB0"
    Sep 20 22:38:22 raspberrypi sds2db: starte read spooler auf "ttyUSB0"
    Sep 20 22:38:22 raspberrypi pei.init: initialisiere PEI Schnittstelle an "ttyUSB0"
    Sep 20 22:38:23 raspberrypi pei.init: registriere TE für Status-SDS
    Sep 20 22:38:24 raspberrypi pei.init: registriere TE für LIP
    Sep 20 22:38:26 raspberrypi pei.init: registriere TE für Text Messaging
    Sep 20 22:38:27 raspberrypi pei.init: lese MS Identität
    Sep 20 22:38:28 raspberrypi sds2db: konfiguriere Logfile-Rotation für "/usr/local/sds2db/var/log/sds2db.log.ttyUSB0"
    Sep 20 22:38:28 raspberrypi sds2db: Start sds2db abgeschlossen
    Sep 20 22:39:02 raspberrypi regular.run: Server "raspberrypi" Alive-Eintrag in DB "sds2db" hinzugefügt
    Sep 20 22:40:01 raspberrypi regular.run: Server "raspberrypi" Alive-Eintrag in DB "sds2db" aktualisiert
    .
    .
    .

    Habt Ihr Hinweise was ich hier falsch mache???

    Gruß Grisu911

    PS.: Es wurde des öffteren darüber geschrieben das es noch php-Projekte gibt, könnten die vielleicht mal hochgeladen werden???

  12. #42
    Registriert seit
    31.07.2012
    Beiträge
    231
    Zitat Zitat von grisu911 Beitrag anzeigen

    Die beiden Log-Dateien beinhalten folgende Meldungen:

    sds2db.log.null:
    Sep 20 23:24:34 raspberrypi sds2db: <- ATZ
    Sep 20 23:24:35 raspberrypi sds2db: <- AT+CTSP=1,2,20
    Sep 20 23:24:36 raspberrypi sds2db: <- AT+CTSP=1,3,10
    Sep 20 23:24:37 raspberrypi sds2db: <- AT+CTSP=1,3,130
    Sep 20 23:24:38 raspberrypi sds2db: <- AT+CNUMF?
    Ich sehe hier zwei Auffälligkeiten:

    1. Der Name der Logdatei
    - Das Logfile wird für jedes konfigurierte Interface geschrieben. Das "null" weist darauf hin, dass "/dev/ttyUSB0" nicht als Character Device existiert.

    2. Die fehlenden Antworten vom Funkgerät
    - Auf die Initialisierungskommandos müsste das Funkgerät eigentlich antworten, was hier nicht passiert.

    Welche Bezeichnung hat dein Kabel?

    Welchen RS232/USB Adapter benutzt du?

    Schaue doch mal mit "tail -f /var/log/messages" oder "tail -f /var/log/syslog" welche Logmeldungen geschrieben werden, während du das Kabel ansteckst. Mir ist so, als würde der Pi das Device nicht /dev/ttyUSB0 nennen, sondern /dev/ACM0 oder so ähnlich.

  13. #43
    Registriert seit
    16.01.2012
    Beiträge
    18
    Hallo,

    danke für die schnelle Antwort.
    Eingehangen wurde das Gerät schon auf /dev/ttyUSB0
    Sep 20 23:17:21 raspberrypi kernel: [ 8.134611] usb 1-1.3: pl2303 converter now attached to ttyUSB0
    Als Kabel wird das Datenkabel PMKN4025A genutzt, welches auch unter Windows z.B. bei TetraControl funktioniert. Ich bekomme ja bei "screen /dev/ttyUSB0" Daten über die Schnittstelle.

    Das was mich irritiert ist folgender Eintrag
    ttyToListenTo="ttySDS2DB0" muss hier auch "ttyUSB0" rein oder was anderes rein???
    Wenn ich es auf ttyUSB0 stelle geht es auch nicht.
    Irrgendwas schein an meiner config nicht zu stimmen, ich weiß nur nicht was!?!?!

    Hier noch mal die ganze Config:
    #!/bin/bash
    ################################################## ################################################## ###########
    # Titel: sds2db.conf
    # Autor: Michael Kaden
    # Datum: 30.12.2012
    #
    # Funktion:
    # Dieses Skript ist Bestandteil von sds2db. Hier werden Konfigurationsvariablen gesetzt und Funktionen
    # beschrieben, die durch das Einbinden des Skripts in allen sds2db-Skripten programmweit verfügbar sind.
    #
    # Zweck:
    # Das Skript ermöglicht die zentrale Konfiguration von sds2db.
    #
    # Copyright (C) 2013 Michael Kaden
    #
    # Dieses Programm ist freie Software. Sie können es unter Beachtung der Nutzungsbedingungen benutzen,
    # weitergeben und modifizieren.
    # Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird,
    # aber OHNE IRGENDEINE GARANTIE, sogar ohne die Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN
    # BESTIMMTEN ZWECK.
    ################################################## ################################################## ###########
    configfile="/usr/local/sds2db/etc/$skriptname.conf"
    programdir="/usr/local/sds2db/bin"
    skriptname="sds2db"
    program="$programdir/$skriptname"
    readspooler="pei.read"
    writespooler="pei.write"
    inithelper="pei.init"
    regular_run="regular.run"
    readspooldir="/usr/local/sds2db/var/spool/read"
    writespooldir="/usr/local/sds2db/var/spool/write"
    pidfiledir="/var/run"
    runfiledir="/usr/local/sds2db/var/run"
    logfile="/usr/local/sds2db/var/log/$skriptname.log"
    initscript="/etc/init.d/$skriptname"
    sttybin="/bin/stty"
    mysqlbin="/usr/bin/mysql"
    awkbin="/usr/bin/awk"
    inotifybin="/usr/bin/inotifywait"
    db="sds2db"
    dbuser="root"
    dbpass="root"
    db_sds_table="sds2db_sds"
    db_radios_table="sds2db_radios"
    db_servers_table="sds2db_servers"
    now=$(date +"%b %d %H:%M:%S")
    host=$(/bin/hostname)
    # Name der ersten zu konfigurierenden seriellen Schnittstelle (ohne "/dev/")
    # Beispiel: serialdev_1="ttyS0"
    #
    serialdev_1="ttyUSB0"
    #
    # Initialisierungskommandos für erste zu konfigurierende serielle Schnittstelle
    serialdev_1_init_1="$sttybin -F /dev/$serialdev_1 0:0:cbf:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16 :0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    #
    # Moxa serial device server starten
    #serialdev_1_init_1="/sbin/modprobe npreal2 ttymajor=33 calloutmajor=38 verbose=0"
    #serialdev_1_init_2="/usr/lib/npreal2/driver/mxloadsvr"
    # Parameter der seriellen Schnittstelle mittels "stty" konfigurieren (38400,8,n,1)
    #serialdev_1_init_3="$sttybin -F /dev/$serialdev_1 0:0:80000cbd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    #
    # Name der zweiten zu konfigurierenden seriellen Schnittstelle (ohne "/dev/"; auskommentieren, wenn nicht gebraucht)
    # Beispiel: serialdev_2="ttyS1"
    #
    #serialdev_2="ttyS0"
    #
    # Initialisierungskommandos für zweite zu konfigurierende serielle Schnittstelle
    # Beispiel: serialdev_2_init_1="$sttybin -F /dev/$serialdev_2 0:0:80000cbd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    #
    # Parameter der seriellen Schnittstelle mittels "stty" konfigurieren (9600,8,n,1)
    #serialdev_2_init_1="$sttybin -F /dev/$serialdev_2 0:0:80000cbd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    #
    # Schnittstellenparameter für stty
    # 115200,8,n,1: "0:0:80001cb2:0:3:1c:7f:15:1:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    # 57600,8,n,1: "0:0:80001cb1:0:3:1c:7f:15:1:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    # 38400,8,n,1: "0:0:80000cbf:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0" (RTS/CTS)
    # 38400,8,n,1: "0:0:cbf:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16 :0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0" (ohne Handshake)
    # 9600,8,n,1: "0:0:80000cbd:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f: 17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0"
    #
    # userdefinierbare Initialisierungskommandos (auskommentieren, wenn nicht gebraucht; Text zwischen []-Klammern erscheint im Logfile)
    #
    #userinit_1="/usr/local/sds2db/bin/user.init[starte /usr/local/sds2db/bin/user.init]"
    #
    # an welchen Interfaces soll sds2db lauschen? (mehrere durch Leerzeichen trennen)
    # Beispiel: ttyToListenTo="ttyS0 ttyS1"
    #
    ttyToListenTo="ttySDS2DB0"
    #
    # soll sds2db empfangene Statusmeldungen als Quittung zurücksenden?
    # Beispiel: confirmStatusSDS="yes"
    #confirmStatusSDS="yes"
    #
    # soll sds2db SDS-Empfangsquittungen senden, wenn sie angefordert werden?
    # Beispiel: SDSdeliveryReport="yes"
    #SDSdeliveryReport="yes"
    #
    # Funktion für Datenbankzugriff
    #
    exec_mysql() {
    $mysqlbin $db --protocol=TCP -u $dbuser -p$dbpass < $1;
    EOFMYSQL
    return $?
    }


    Gruß Grisu911

  14. #44
    Registriert seit
    31.07.2012
    Beiträge
    231
    Ja genau. So wie es im Kommentar der Konfig steht. ;-) Wenn dein Device ttyUSB0 heißt, muss natürlich das Programm auf dieses Gerät gebunden werden.
    ttyToListenTo="ttyUSB0"

    Wenn es trotzdem nicht geht, könntest du noch die Parameter der seiellen Verbindung prüfen, ob sie zur PEI-Konfig passt.

    Du setzt /dev/ttyUSB0 auf 38400 Bit/s,8 Datenbits, kein Paritätsbit, 1 Stopbit.

  15. #45
    Registriert seit
    16.01.2012
    Beiträge
    18
    Hallo,

    nach Änderung der ttyToListenTo zu "ttyUSB0" und der Parameter der seriellen Schnittstelle zu 9600,8,n,1 klappt es.
    Hatte ich gestern auch schon alles probiert, aber wahrscheinlich irrendwie nicht in der Kombination.

    Also Danle für die schnell Unterstützung.

    Nun noch die folgende Frage:
    pi@raspberrypi ~ $ sudo /etc/init.d/sds2db start
    Starting sds2db... /etc/init.d/sds2db: line 115: ((: != 0 : syntax error: operand expected (error token is "!= 0 ")
    done!

    Was hat diese Fehlermeldung beim Starten zu bedeuten?

    Gruß Grisu911

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •