Ergebnis 1 bis 15 von 94

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    30.07.2012
    Beiträge
    227
    Schön zu hören, dass SDS2DB auch im Industrie-Einsatz ist. Welche Anwendungen deckst du damit ab? Ich habe SDS2DB auch weiterentwickelt. Es gibt jetzt die Möglichkeit Empfangs- und Sende-ISSI-Whitelists zu konfigurieren um zu filtern, welche ISSIs ausgewertet werden. Ich werde es bei Gelegenheit hier einchecken.

    Ich habe ein PHP-Programm als Web-basiertes Einsatzführungstool geschrieben, das die Statusmeldungen in einer Statusübersicht der Einsatzmittel verarbeitet und in einem Journal protokolliert hatte. Mangels Zeit, konkurierender Projekte und fehlender Unterstützung ging die Entwicklung aber nur schleppend voran und die Anwender haben die Geduld verloren, auf weitere Funktionen zu warten. So ist es unvollendet geblieben.
    Jetzt setzen wir EDP4 als Einsatzführungstool ein und die SDS2DB-Datenbank wird von einem erweiterten monitord-Web-Frontend als Rückfallebene und Referenz-"Empfänger" genutzt.

    Für die Auswertung von digitalen Alarmierungen habe ich SDS2DB etwas modifiziert und POCSAG2DB daraus gemacht. Zusätzlich zum Sichern der Meldungen in der Datenbank, wird das Meldungsformat aufbereitet und per RS232 an den EDP4-Einsatzservice weitergeleitet um aus den Alarmierungen automatisiert Einsätze anlegen zu lassen. Das kann ich auch hochladen, falls jemand Interesse bekundet.

    Schöne Grüße

  2. #2
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hi flachrelais_48 anbei das Logfile:

    Hast du eine neuere Version von SDS2DB weil bei dir anstelle der Pfeile TR und RX steht?

    Inhalt vom Logfile ttyS1:
    Sep 16 08:23:40 linuxFR-Feinblech sds2db: <- ATZ
    Sep 16 08:23:41 linuxFR-Feinblech sds2db: <- AT+CTSP=1,3,130
    Sep 16 08:23:41 linuxFR-Feinblech sds2db: -> OK
    Sep 16 08:23:58 linuxFR-Feinblech sds2db: -> R: 12,473010,0,491016,0,40
    Sep 16 08:23:58 linuxFR-Feinblech sds2db: -> 82065F0141
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: <- AT+CMGS=473010,32
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: <- 8210005F^Z
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: -> +CME ERROR: 35
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: -> +CMGS: 0
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: -> OK
    Sep 16 08:23:59 linuxFR-Feinblech sds2db: -> +CMGS: 0,4,95
    Sep 16 08:24:01 linuxFR-Feinblech sds2db: -> +CTSDS0060,0,491016,0,40
    Sep 16 08:24:01 linuxFR-Feinblech sds2db: -> 8206620141
    Sep 16 08:24:05 linuxFR-Feinblech sds2db: -> +CTSDS3010,0,491016,0,40
    Sep 16 08:24:05 linuxFR-Feinblech sds2db: -> 8206600141

    Die erste SDS wurde fehlerfrei Empfangen und quittiert anschließend kamen die CTSDS rein.


    Inhalt der PEI.init:

    # Config-File einlesen
    source /usr/local/sds2db/etc/sds2db.conf

    # Initialisierung aller PEI Connections für den übergebenem Parameter ausführen
    device=$1
    if [ ! -c "/dev/$device" ]; then
    device="null"
    fi
    # Sequenzzähler der Write-Spooler-Dateien initial auf Zufallswert setzen
    seqnr=$RANDOM

    # PEI-Schnittstelle initialisieren
    echo "$(date +"%b %d %H:%M:%S") $host $inithelper: initialisiere PEI Schnittstelle an \"$device\"" >> $logfile
    printf "ATZ\r" > $writespooldir/$(date +%s).$seqnr.$device
    sleep 1
    #echo "$(date +"%b %d %H:%M:%S") $host $inithelper: registriere TE für Status-SDS" >> $logfile #wird nicht benötigt #GPS
    #printf "AT+CTSP=2,2,20\r" > $writespooldir/$(date +%s).$(($seqnr+1)).$device
    #sleep 1
    #echo "$(date +"%b %d %H:%M:%S") $host $inithelper: registriere TE für LIP" >> $logfile #wird nicht benötigt
    #printf "AT+CTSP=1,3,10\r" > $writespooldir/$(date +%s).$(($seqnr+2)).$device
    #sleep 1
    echo "$(date +"%b %d %H:%M:%S") $host $inithelper: registriere TE für Text Messaging" >> $logfile
    printf "AT+CTSP=1,3,130\r" > $writespooldir/$(date +%s).$(($seqnr+3)).$device
    sleep 1
    #echo "$(date +"%b %d %H:%M:%S") $host $inithelper: lese MS Identität" >> $logfile
    #printf "AT+CNUMF?\r" > $writespooldir/$(date +%s).$(($seqnr+4)).$device
    #sleep 1

    exit 0

    Alles Auskommentiert außer SDS (1,3,130)

    mfg
    CS

  3. #3
    Registriert seit
    30.07.2012
    Beiträge
    227
    Zitat Zitat von CSchumacher85 Beitrag anzeigen
    Hi flachrelais_48 anbei das Logfile:

    Hast du eine neuere Version von SDS2DB weil bei dir anstelle der Pfeile TR und RX steht?
    Sorry für's Doppelposting. Habe bei den vielen Antworten den Überblick verloren ;-).

    Ja, ich habe sds2db weiterentwickelt. Es gibt mittlerweile ISSI-Empfangs- und Sende-Whitelists und die pei.init wird auch beim Stoppen aufgerufen und kann das TE am FuG wieder deregistrieren. (Deshalb ist dein Nachrichteneingang blockiert, wenn du sds2db beendest.)

    Ich muss die aktuelle Version "nur" von meiner Konfig anonymisieren, bevor ich es hochlade. Mal schauen, ob ich die nächste Zeit dazu komme.

  4. #4
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hi ich habe jetzt ein Y-Kabel am Comport angeschlossen und sniffer alles mit.

    Anscheinend ist die stty konfig nicht 100% richtig ich suche jetzt dort weiter.


    PS Wie kannst du denn den Bedienkopf sperren?
    Ich habe keinen "Sperrbefehl" auf der Schnittstelle gesehen.

    mfg
    CS

  5. #5
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hallo ich bin schon ein gutes Stück weiter.

    bei stty muss anscheinend der Parameter inlcr gesetzt werden. Dann klappt die Initalisierung schon besser. Allerdings werden immer noch Zeichen bei mehrzeiligen Antworte verschluckt.

    Logfile ttyS1:
    Sep 17 10:32:47 linuxFR-Feinblech sds2db: <- ATZ
    Sep 17 10:32:47 linuxFR-Feinblech sds2db: -> OK
    Sep 17 10:32:48 linuxFR-Feinblech sds2db: <- AT+CTSP=2,2,20
    Sep 17 10:32:48 linuxFR-Feinblech sds2db: -> OK
    Sep 17 10:32:49 linuxFR-Feinblech sds2db: <- AT+CTSP=1,3,10
    Sep 17 10:32:49 linuxFR-Feinblech sds2db: -> OK
    Sep 17 10:32:50 linuxFR-Feinblech sds2db: <- AT+CTSP=1,3,130
    Sep 17 10:32:50 linuxFR-Feinblech sds2db: -> OK
    Sep 17 10:32:51 linuxFR-Feinblech sds2db: <- AT+CNUMF?
    Sep 17 10:32:51 linuxFR-Feinblech sds2db: -> : 0,2620015200491016 Eigentlich +CNUMF:0,2620015200491016
    Sep 17 10:32:52 linuxFR-Feinblech sds2db: -> 2,16777010
    Sep 17 10:32:52 linuxFR-Feinblech sds2db: -> 3,16777110
    Sep 17 10:32:52 linuxFR-Feinblech sds2db: -> OK

  6. #6
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hi flachrelais_48

    kannst du mal bitte deine tty Konfig posten?

    bitte mal das Ergebniss von

    stty -a -F /dev/ttyS1
    posten
    Danke

    Das würde mir sehr helfen.

  7. #7
    Registriert seit
    30.07.2012
    Beiträge
    227
    Da komme ich die nächsten Tage nicht ran. In der sds2db.conf stehen aber Beispiele als Kommentar. Da sollte auch eine Konfig für 9600,8,n,1 ohne Handshake dabei sein.

    Grüße

  8. #8
    Registriert seit
    04.06.2013
    Beiträge
    38
    Der SerialPort ttyS1 scheint auch richtig konfiguriert zu sein:

    stty -F /dev/ttyS1 -a
    speed 9600 baud; rows 0; columns 0; line = 0;
    intr = ; quit = ; erase = ; kill = ; eof = ^D;
    eol = ; eol2 = ; swtch = ; start = ; stop = ;
    susp = ; rprnt = ; werase = ; lnext = ;
    flush = ; min = 5; time = 0;
    -parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
    -ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff
    -iuclc -ixany -imaxbel -iutf8
    -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
    -isig icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
    -echoctl -echoke

    Noch ein Hinweis. Mir ist aufgefallen wenn ich die Software starte und beende ist das Nachrichten-Eingan Menü am Gerät gesperrt (auch wenn keine SDS über die Software empfangen wurde).
    Es erscheint die Meldung (Nachr. Empfang blockiert).

    Mir sagt das nichts.


    mfg
    Christian
    Geändert von Quietschphone (16.09.2014 um 10:57 Uhr) Grund: Beiträge zusammengeführt

  9. #9
    Registriert seit
    04.06.2013
    Beiträge
    38
    Hi ich konnte den Fehler weiter eingrenzen.

    Das Format der SDS verändert sich nicht es ist immer +CTSDSR:
    allerdings verschluckt meine SDS2DB Version teile dieses SDS-Strings.

    Vermutlich gibt es eine kleine Abweichung im der ttyS1 Konfiguration.

    ich suche mal weiter, bin kurz vor der Lösung

    ;-)

  10. #10
    Registriert seit
    04.06.2013
    Beiträge
    38
    Leider komme ich nicht darauf warum teile vom ttyS1 verschluckt werden
    hier ist meine stty konfig zum vergleichen:

    serialdev_1_init_1="$sttybin 9600 cs8 -parenb -cstopb ixon ixoff -F /dev/$serialdev_1"

  11. #11
    Registriert seit
    30.07.2012
    Beiträge
    227
    "ixon ixoff" ist ja Softwarehandshake. Bist du sicher, dass dein FuG (was für ein Gerät hast du angeschlossen?) das unterstützt? Vlt. liegt hier schon der Fehler?

    [-]parenb
    generate parity bit in output and expect parity bit in input
    --> Paritätsbit??? - ich weiß nicht, ob das passt


    [-]cstopb
    use two stop bits per character (one with '-')

    --> 1 Stopbit klingt gut

    [-]ixoff
    enable sending of start/stop characters

    [-]ixon
    enable XON/XOFF flow control

    --> Software Handshake??? - kann ich mir kaum vorstellen


    Teste doch mal ohne "XON/XOFF" und ohne Parität.

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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