Ergebnis 1 bis 15 von 301

Thema: multimon (der Vorgänger des monitord) auf Raspberry Pi

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    18.03.2015
    Beiträge
    67
    Zitat Zitat von JHC Beitrag anzeigen
    Das ist für die Entwicklung ganz nett, für eine produktive Umgebung würde ich load_once bevorzugen... ;-)
    Das sind aber meiner Meinung nach alles Dinge, die man im Nachhinein ändern kann. Mit der prinzipiellen Funktion eines Plugin Systems hats ja nix zu tun. Ob ich die Module nun EINMALIG lade oder öfters. Würde erst mal priorisieren das so umzusetzen, dass der Code ausgelagert ist, und es funktioniert.

    Dann kann man über den "produktiv" Feinschliff nachdenken, oder hast du da eine andere Meinung?

    Gruß

  2. #2
    Registriert seit
    03.03.2015
    Beiträge
    45
    Nein, ich hätte ja noch kleiner mit Funktionen angefangen, bevor ich die Funktionen in Module ausgelagert hätte. Deswegen habe ich nichts gegen schrittweise Vorgehen.

    config.ini
    Code:
    useMySQL = 1
    Pflicht für Plugin-Name: MySQL

    Plugins ausführen:
    Code:
    for i in pluginloader.getPlugins():
            if int(config.get("Modules", "use"+i["name"]))
               print("Loading plugin " + i["name"])
               plugin = pluginloader.loadPlugin(i)
               plugin.run()
    Edit: Fehler im Code bereinigt

    Wäre die minimale Anpassung config.ini um eine neue Zeile ergänzen.
    Geändert von JHC (18.05.2015 um 09:40 Uhr)

  3. #3
    Registriert seit
    18.03.2015
    Beiträge
    67
    Oke das würde ich so kaufen :-D Die Idee ist gut. Ich mach mich später mal dran, das Grundlegende einzubauen.

    Naja wir machen jetzt ja nichts anderes, als die Dinge in eine Funktion zu packen. Nur das die Funktionen jetzt eben driekt in eigenen Dateien liegen :-) Und bis auf die paar Zeilen loader Srcipt ist es ja kein Unterschied...

  4. #4
    Registriert seit
    18.03.2015
    Beiträge
    67
    Würde das wohl reichen, jedem Plugin folgende 6 Daten zu übergeben, oder hab ich was wichtiges vergessen?

    Code:
    ZVEI:
    =====
    typ	=	zvei
    time	=	datetime
    frequenz=	empfangsfrequenz
    data1	=	zvei code
    data2	= 
    data3	=
    
    FMS:
    ====
    typ	=	fms
    time	=	datetime
    frequenz=	empfangsfrequenz
    data1	=	fms kennung	
    data2	=	status
    data3	=	richtung
    
    POCSAG 1200:
    ============
    typ	=	poc1200
    time	=	datetime
    frequenz=	empfangsfrequenz
    data1	=	ric
    data2	=	sub_ric	
    data3	=	text

  5. #5
    Registriert seit
    03.03.2015
    Beiträge
    45
    Moin, moin,

    1.) Warum die Zeit übergeben? Wird ja nicht "über Funk" übertragen. Ermittlung wenn nötig im Modul, bzw. bei MySQL die DB machen lassen.

    2.) Ist später eine Unterscheidung in POCSAG 512/1024/2048 nötig?
    Wird doch nur für die Stringzerlegung benötigt.

    Ich würde nicht data1-3 nennen, das finde ich zu unverbindlich.
    Bisher werden im Script id, function/status, msg/richtung genutzt.
    Wenn inhaltlich etwas anderes genutzt wird, müsste man in meinen Augen auch einen neuen Parameter definieren.

    Grüße
    Jens

  6. #6
    Registriert seit
    18.03.2015
    Beiträge
    67
    Zitat Zitat von JHC Beitrag anzeigen
    Moin, moin,

    1.) Warum die Zeit übergeben? Wird ja nicht "über Funk" übertragen. Ermittlung wenn nötig im Modul, bzw. bei MySQL die DB machen lassen.

    2.) Ist später eine Unterscheidung in POCSAG 512/1024/2048 nötig?
    Wird doch nur für die Stringzerlegung benötigt.

    Ich würde nicht data1-3 nennen, das finde ich zu unverbindlich.
    Bisher werden im Script id, function/status, msg/richtung genutzt.
    Wenn inhaltlich etwas anderes genutzt wird, müsste man in meinen Augen auch einen neuen Parameter definieren.
    1.) Macht Sinn, die zeit kann wirklich weg...
    2.) Hab hier kein Pocsag, und kenn mich damit auch nicht aus. Keine Ahnung inwiefern eine Unterscheidung im nachhinein nötig ist.

    Die Daten werden an die Plugins ja auch nur an eine Funktion übergeben. Also brauchen wir eine FEST definierte Anzahl an Parametern. Und wie die dann heißen ist eigentlich egal, das ändert sich ja auch nie mehr, denn dann müssten alle Plugins umgeschrieben werden.
    Oder wie sollte ich sie denn sonst nennen, um die Daten an die Plugin.run() zu übergeben?
    Geändert von Schrolli (18.05.2015 um 13:04 Uhr)

  7. #7
    Registriert seit
    18.03.2015
    Beiträge
    67
    Servus zusammen,

    JHC und ich entwickeln zusammen gerade an einem Plugin-System für BOSWatch.
    Also nicht das Ihr denkt, hier geht nix weiter. Wir koordinieren uns nur privat, da es viel zu viel zu besprechen gibt.

    Das ganze arbeitet inzwischen auch recht sauber.
    Wir beginnen jetzt die einzelnen Module zu programmieren.

    Vorgesehen sind aktuell auf jeden Fall:
    - MySQL
    - BosMon
    - HTTP-Request (einacher URL Aufruf, evtl mit Parametern)
    - E-Mail

    Evtl gibt's ja noch weitere Wünsche, deren Umsetzbarkeit man prüfen sollte?

    Gruß Basti

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
  •