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
    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

  2. #2
    Registriert seit
    30.07.2012
    Beiträge
    227
    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.

  3. #3
    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

  4. #4
    Registriert seit
    30.07.2012
    Beiträge
    227
    Wird die Fehlermeldung bei jedem Start angezeigt?

    Der bemängelte Vergleich in Zeile 115 des Init-Skriptes bezieht sich auf folgenden Abschnitt:

    # Wenn Initialisierung nicht erfolgreich war
    if (( "$ret_userinit" != 0 )); then
    # Fehlermeldung ins Logfile schreiben und Skript beenden
    echo "$(date +"%b %d %H:%M:%S") $host $skriptname: Stop! Userdefinierbares Init-Kommando fehlgeschlagen" >> $logfile
    echo "failed!"
    stop_deamon
    exit 1
    fi

    Welche Shell benutzt du? Bash? Ich sehe die Meldung zum ersten Mal. Du kannst ja tesweise in Zeile 115 die 0 in Anführungszeichen setzen. (( "$ret_userinit" != "0" )) oder die Anführungszeichen weglassen (( $ret_userinit != 0 ))

    Nachtrag: Mir ist in deinem Post der Konfig aufgefallen, dass in den Strings zum Initialisieren der RS232-Ports Leerzeichen stehen, die dort nicht hingehören. Stehen die wirklich in deiner Konfig, oder ist das ein Kopierfehler im Post?
    Geändert von flachrelais_48 (21.09.2015 um 23:41 Uhr)

  5. #5
    Registriert seit
    14.10.2012
    Beiträge
    16
    Hallo zusammen,

    gibt es eine aktualissierte/andere Version bereits als Download?

  6. #6
    Registriert seit
    30.07.2012
    Beiträge
    227
    Ähm. Nee. Habe es noch so erweitert, dass es so für andere nicht benutzbar wäre. Muss also mal eine Version "abspecken" und anonymisieren. Bin z.Zt. etwas eingespannt, da die 12V-Stromversorgung unseres Funkschranks plötzlich nach 24 Jahren ausgefallen ist.

  7. #7
    Registriert seit
    18.12.2001
    Beiträge
    4.989
    Sorry für's OT werden, aber:

    "plötzlich" und "nach 24 Jahren" passt ja nun mal gar nicht zusammen. ;-)

    Gruß Joachim

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
  •