Jump to content

PixelHunter

Members
  • Gesamte Inhalte

    23
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von PixelHunter

  1. Ich habe jetzt die Master Bricks wieder auf die 2.5.0 geflasht.
    Für das E-Paper Bricklet konnte ich jetzt per BrickV die Firmware 2.0.5 updaten.
    grafik.png.d3a258330b05d90065ec8e42457c2a10.png

    Leider ist das Verhalten noch unverändert bei mir:
    Nur ein Draw ist möglich, danach bleibt das E-Paper Bricklet im Status Copying:

    Zitat

    Mode DEFAULT
    25.12.2021 15:46:44
    Before Draw Status: 0
    Wait Idle #0, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #1, Status: 1
    Errors: 0, 0, 0, 0
    After Draw Status: 2
    Mode DELTA
    25.12.2021 15:47:16
    Before Draw Status: 0
    Wait Idle #0, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #1, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #2, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #3, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #4, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #5, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #6, Status: 1
    Errors: 0, 0, 0, 0

     

  2. Die Master Bricks habe ich mit der Beta Firmware 2.5.1 geflasht.

    Leider kann ich die E-Paper Bricklet Firmware nicht auf 2.0.5 updaten:
    Im BrickV kommt ein Fehler: "Could not read *.zbin file: File is not a zip file"

    Im GitHub ist der \software\build Ordner leer, sodass ich das auch nicht manuell machen kann ohne mir die gcc Buildumgebung zu installieren, oder?

    grafik.png.fe239c74dfa48fb1530a5045d1ebbcf6.png

  3. Ich habe das Serverraum Kit 2 mit RedBrick hier.

    Nun bin ich dabei das gute Stück zu konfigurieren um es in Betrieb zu nehmen.

    Ich habe ein paar Fragen zum generellen Verständnis:

    Auf dem neusten RedBrick ist ja schon ein Nagios, dass sich leicht anpassen läßt. Ganz prima!
    Nur die Anzeigen (E-Paper und LED Segment) sind davon ja genrell unberührt.

    * So dass ich vermutlich selbst eine Software schreiben sollte, die dann anzeigt was ich anzeigen möchte, richtig?
    * Oder gibt es auch schon eine fertige Lösung, die ich nur anpassen und aktivieren muss?
    * Falls nicht, hat jemand schon eine C# .Net Vorlage die ich verwenden darf?

    Dann möchte ich das System an ein bestehendes Check_mk anbinden, die Frage habe ich aber schon in einem anderen Thread in Anfängerfragen gestellt, da es diese Frage dort schon gibt.

    Danke für Eure Tipps.

    Grüße Florian

  4. vor 2 Stunden schrieb rtrbt:

    Ich habe dein Programm mal getestet, mit dem E-Paper Bricklet hier funktioniert es und der DrawStatus springt auch zurück auf Idle. Trotzdem folgende Fragen:

    • Kannst du mit dem Brick Viewer mehrmals zeichnen?

    Der Brick Viewer 2.4.20 kann mehr als einmal zeichnen, wenn ich einmal vorher Resette.

    Interesannterweise sehe ich vor dem Reset im Buffer der Komponenten im BrickV das zuletzt gezeichnete erfolglose Bild aus meine Prg...
     

  5. Danke für den Tipp, leider ohne Erfolg.
    Das Prg. lief nun sicher alleine ohne BrickV und BrickD.

    Ich habe mein Testprg. leicht verändert - um die Stati vor und nach dem Draw besser zu sehen:
     

    using Tinkerforge;
    
    string host = "10.10.88.148";
    int port = 4223;
    string uidEPaper = "XRM"; // Change XYZ to the UID of your E-Paper 296x128 Bricklet
    string uidPctTemp = "V2Z";
    
    IPConnection ipcon = new IPConnection(); // Create IP connection
    BrickletEPaper296x128 ep = new BrickletEPaper296x128(uidEPaper, ipcon); // Create device object
    
    ipcon.Connect(host, port); // Connect to brickd
                               // Don't use device before ipcon is connected
    ep.Reset();
    ep = new(uidEPaper, ipcon);
    
    int i = 0;
    while (true)
    {
        if (i == 0)
        {
            ep.SetUpdateMode(BrickletEPaper296x128.UPDATE_MODE_DEFAULT);
            Console.WriteLine("Mode DEFAULT");
        }
        else
        {
            ep.SetUpdateMode(BrickletEPaper296x128.UPDATE_MODE_DELTA);
            Console.WriteLine("Mode DELTA");
    
        }
    
        // Use black background
        ep.FillDisplay(BrickletEPaper296x128.COLOR_BLACK);
    
        // Date and Time
        ep.DrawText(5, 15, BrickletEPaper296x128.FONT_24X32,
            BrickletEPaper296x128.COLOR_WHITE,
            BrickletEPaper296x128.ORIENTATION_HORIZONTAL, $"{DateTime.Now:d}");
        ep.DrawText(5, 50, BrickletEPaper296x128.FONT_24X32,
            BrickletEPaper296x128.COLOR_WHITE,
            BrickletEPaper296x128.ORIENTATION_HORIZONTAL, $"{DateTime.Now:T}");
        
        Console.WriteLine($"{DateTime.Now:G}");
    
        System.Console.WriteLine($"Before Draw Status: {ep.GetDrawStatus()}");
    
        ep.Draw();
    
        int j = 0;
        while (j < 100 && ep.GetDrawStatus() == BrickletEPaper296x128.DRAW_STATUS_COPYING)
        {
            System.Console.WriteLine($"Wait Idle #{j}, Status: {ep.GetDrawStatus()}");
            ep.GetSPITFPErrorCount(out long errorAckChecksum, out long errorCountMessageChecksum, out long errorCountFrame, out long errorCountOverflow);
            System.Console.WriteLine($"Errors: {errorAckChecksum}, {errorCountMessageChecksum}, {errorCountFrame}, {errorCountOverflow}");
            Thread.Sleep(500);
            j++;
        }
    
        System.Console.WriteLine($"After Draw Status: {ep.GetDrawStatus()}");
    
        Thread.Sleep(30000);
        
        i++;
    }
    ipcon.Disconnect();

    Folgende Ausgabe:

    Mode DEFAULT
    20.12.2021 16:48:41
    Before Draw Status: 0
    Wait Idle #0, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #1, Status: 1
    Errors: 0, 0, 0, 0
    After Draw Status: 2
    Mode DELTA
    20.12.2021 16:49:12

    Before Draw Status: 0
    Wait Idle #0, Status: 1

    Errors: 0, 0, 0, 0
    Wait Idle #1, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #2, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #3, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #4, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #5, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #6, Status: 1
    Errors: 0, 0, 0, 0
    Wait Idle #7, Status: 1
    Errors: 0, 0, 0, 0

    Da scheint bei mir mit der Hardware des Bricklets etwas nicht zu stimmen, oder?

  6. Bei weiteren Tests habe ich festgestellt, dass auch im Default Modus nur der erste Draw nach einem Reset funktioniert.

    Das 2. Draw nach min. 60 Sekunden Pause wird klaglos aktzeptiert,
    das Bricklet bleibt aber danach im dauerhaft Status Copying. Zeigt kein Flackern und auch sonst keine Reaktion.

    Die GetSPITFPErrorCount() Werte bleiben aber 0.

    Ist das normal bei Euch auch so?
    Ist meine Komponente defekt?

  7. using Tinkerforge;
    
    string host = "10.10.88.148";
    int port = 4223;
    string uidEPaper = "XRM"; // Change XYZ to the UID of your E-Paper 296x128 Bricklet
    string uidPctTemp = "V2Z";
    
    IPConnection ipcon = new IPConnection(); // Create IP connection
    BrickletEPaper296x128 ep = new BrickletEPaper296x128(uidEPaper, ipcon); // Create device object
    
    ipcon.Connect(host, port); // Connect to brickd
                               // Don't use device before ipcon is connected
    ep.Reset();
    ep = new(uidEPaper, ipcon);
    
    int i = 0;
    while (true)
    {
        if (i == 0)
            ep.SetUpdateMode(BrickletEPaper296x128.UPDATE_MODE_DEFAULT);
        else
            ep.SetUpdateMode(BrickletEPaper296x128.UPDATE_MODE_DELTA);
    
        // Use black background
        ep.FillDisplay(BrickletEPaper296x128.COLOR_BLACK);
    
        // Write big white "Hello World" in the middle of the screen
        ep.DrawText(5, 15, BrickletEPaper296x128.FONT_24X32,
            BrickletEPaper296x128.COLOR_WHITE,
            BrickletEPaper296x128.ORIENTATION_HORIZONTAL, $"{DateTime.Now:d}");
        ep.DrawText(5, 50, BrickletEPaper296x128.FONT_24X32,
            BrickletEPaper296x128.COLOR_WHITE,
            BrickletEPaper296x128.ORIENTATION_HORIZONTAL, $"{DateTime.Now:T}");
    
        ep.Draw();
    
        Thread.Sleep(30000);
        i++;
    }
    
    ipcon.Disconnect();

    Moin,

    Zum Testen eine Dauerschleife, die die Uhr anzeigt. 1. UPDATE_MODE_DEFAULT, ab 2. UPDATE_MODE_DELTA

    Das erste Draw klappt  wie erwartet.
    Der Update Modus im 2. Durchlauf versetzt das Bricket dauerhaft in

    ep.GetDrawStatus() == BrickletEPaper296x128.DRAW_STATUS_COPYING Zustand.

    Es ist ein ep.Reset() erfoderlich, sonst geht nichts mehr, auch kein UPDATE_MODE_DEFAULT.

    Mache ich etwas falsch?

  8. Hey Forum,

    ich mache meine ersten Versuche mit dem E-Paper Display.

    Dabei stelle ich fest, dass die Text Ausgabe mit:

    ep.DrawText(5, 17, BrickletEPaper296x128.FONT_12X16, BrickletEPaper296x128.COLOR_GRAY,  BrickletEPaper296x128.ORIENTATION_HORIZONTAL, $"{host}");

    Nicht wie erwartet einen grauen, sondern einen roten Text auf dem Display ausgibt.

    Erstaunlicherweise hat die Konstante im Tf Source BrickletEPaper296x128.COLOR_GRAY den Wert 2, genau wie COLOR_RED.
    Ich habe versucht den Wert 3 zu übergeben, dann kommt der Text auch in rot.

    Nur die Werte 0 (Black), 1 (White), 2 (Red) funktionieren wie erwartet, COLOR_GRAY (vermutlich =3) nicht.

    Hat jemand eine Idee woran das liegt?

  9. Ich möchte gerne das folgende Projekt zur Überwachung von bis zu 16 Aquarien realisieren.

     

    Je Aquarium

    • Wassertemperatur
    • Pumpenstrom
    • Durchflussmenge am Filterausgang
    • Leitwert des Wassers in µS

     

    Einmal

    • Raumtemperatur
    • Feuchtigkeit
    • Helligkeit
    • 220V Stromausfall
    • SMS/eMail bei Warnungen/Alarm

     

    Meine Fragen:

    • Mit welchen Komponenten würdet ihr die Wasser Durchflussmenge, Pumpenstrom und den Wasserleitwert und 220V Stromausfall messen?
    • 1 PC der 8 Master abfragt oder besser RED Bricks?
    • Wenn der Strom ausfällt brauche ich SMSe, da dann der Internet Router vermutlich auch nicht mehr geht. Geht das auch ohne PC?

     

    Freue mich auf Eure Ideen.

  10. Nun nochmal ein Update nach über 2 Jahren.

     

    Das System läuft immer noch recht stabil, alle paar Monate muss nochmal neu gebootet werden.

     

    Ich denke ich werde bei Gelegenheit nochmal ein Firmware Update machen. Auch an meiner Software musste ich seit Jahren nichts mehr ändern.

     

    Insgesamt bin ich sehr zufrieden, es läuft alle wie es soll.

  11. Das Problem ist soweit offenbar durch den Tausch des Master Bricks behoben.

     

    Seit mehr als einer Woche keinen Absturz mehr - soweit alles stabil. So soll es sein!

     

    :D

     

    Hin uns wieder gibt es ein Enumeration Event ohne erkennbaren Grund... das wäre jetzt noch eine letzte Frage warum das passiert.

     

    Vielen Dank für die Hilfestellung und Anregungen.

     

  12. Hast Du alternativ den Dauer-Betrieb mal nur über USB getestet ?

     

    Nein, das ist auch schwer zu realisieren da am Eingang kein Rechner weit und breit ist.

     

    Was sagen die Events-Logs von Windows und BrickD ? Vermutlich nutzt du aber gar nicht den BrickD Service in Windows sondern die Kommunikation geht nur über Ethernet ?

     

    Richtig die Kommunikation geht nur über Ethernet.

     

    Hast Du in der Anwendung ein Disconnect registrieren können ?

     

    Nein es gibt keinen Disconnect und auch sonst kein Fehlverhalten. Wie gesagt kann ich die Anwendung auch neu starten und es ändert nichts: Es werden keine Karten mehr eingelesen, es reagiert einfach nicht mehr - ohne einen Fehler.

     

    Deshalb mein Verdacht, dass sich das NFC oder der Masterbrick irgendwo aufhängt.

     

    Ev. baust du in Deine Application noch an allen wichtigen Stellen Logging und Exception-Handling ein, um der Ursache noch genauer auf den Grund zu gehen.

     

    Das habe ich eigentlich überall wo es Sinn macht, nur dass aus der Anwendung eben leider nichts festzustellen ist. :-\

     

    Ich bin nicht der Netzwerk-Experte aber ist das POE immer stabil und zuverlässig auch im 24/7 Betrieb zu erwarten ?

     

    Na das will ich doch hoffen, ist ja schließlich kein C64 mehr...  ;)

     

    Nun habe ich am Montag das Masterbrick getauscht, bisher läuft der Stack stabil... mal sehen wie lange. Ich halte euch auf dem Laufenden.

  13. Das NFC ist fest an der Wand ohne Zuglast am Kabel, der Stecker sitzt fest - den Verdacht hatte ich auch schon.

     

    EMV oder andere Störquellen meines Erachtens nicht in der Nähe, aber wie kann ich das ausschließen?

     

    In ca. 2m Entfernung ist ein Türsummer, kann das ein Problem sein?

     

    Meine Idee war noch einmal pro Nacht einen Reset auszuführen. Offenbar geht das auch per Software.

  14. Ich habe mir für die Firma ein Zeiterfassungssystem gebaut.

     

    Dafür ist zum Einsatz gekommen ein:

     

    Hardware

    • MasterBrick
    • LCD
    • NFC
    • Piezo
    • Ethernet mit POE
    • Wetterstation Case mit 4 Tasten Erweiterung

     

    Software

    Ein in Delphi entwickelter Windows Service, der per Poll alle 500ms das NFC abfragt. Die Daten werden dann direkt in eine SQL Datenbank geschrieben.

     

    Probleme

    Das läuft eigentlich wunderbar, nur dass ca. alle 3 Tage eine Komponente hängen bleibt. Der Effekt ist, dass das System nicht mehr reagiert. Auch ein Neustart der Software bringt nichts. Nur ein Stromlos machen der Hardware hilft.

     

    Ich habe jetzt einen neuen MasterBrick verbaut, mal sehen ob das hilft.

     

    Kommentare sind herzlich Willkommen.

     

    Gruß Florian

    Zeiterfassung.thumb.jpg.60799ea8db291ce56bf4adc345980a78.jpg

×
×
  • Neu erstellen...