Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.189
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    52

Alle erstellten Inhalte von photron

  1. ExampleScanForTags already uses callbacks, that's not the point here. The point is that ExampleScanForTags just outputs every tag that was found, even if that tag doesn't change, it just repeats the output over and over again. Here is a modified ExampleScanForTags that doesn't repeat the output if the tag didn't change: import com.tinkerforge.IPConnection; import com.tinkerforge.BrickletNFC; public class ExampleScanForTags { private static final String HOST = "localhost"; private static final int PORT = 4223; // Change XYZ to the UID of your NFC Bricklet private static final String UID = "X5a"; // Note: To make the example code cleaner we do not handle exceptions. Exceptions // you might normally want to catch are described in the documentation public static void main(String args[]) throws Exception { IPConnection ipcon = new IPConnection(); // Create IP connection // Note: Declare nfc as final, so the listener can access it final BrickletNFC nfc = new BrickletNFC(UID, ipcon); // Create device object ipcon.connect(HOST, PORT); // Connect to brickd // Don't use device before ipcon is connected // Add reader state changed listener nfc.addReaderStateChangedListener(new BrickletNFC.ReaderStateChangedListener() { private String lastTag = ""; public void readerStateChanged(int state, boolean idle) { if(state == BrickletNFC.READER_STATE_REQUEST_TAG_ID_READY) { try { int i = 0; StringBuilder tagBuilder = new StringBuilder(); BrickletNFC.ReaderGetTagID ret = nfc.readerGetTagID(); for (int v: ret.tagID) { tagBuilder.append(String.format("0x%02X", v)); if (i < ret.tagID.length - 1) { tagBuilder.append(" "); } i++; } String tag = tagBuilder.toString(); if (!lastTag.equals(tag)) { System.out.format("Found tag of type %d with ID [%s]\n", ret.tagType, tag); lastTag = tag; } } catch (Exception e) { return; } } if (idle) { try { nfc.readerRequestTagID(); } catch (Exception e) { return; } } } }); // Enable reader mode nfc.setMode(BrickletNFC.MODE_READER); System.out.println("Press key to exit"); System.in.read(); ipcon.disconnect(); } }
  2. Brick Logger 2.1.9 Add support for GPS Bricklet 3.0 Downloads: Windows, Linux, macOS, RED Brick
  3. Brick Viewer 2.4.22 Add support for GPS Bricklet 3.0 and ESP32 (Ethernet) Brick Add Data Logger support for GPS Bricklet 3.0 Improve plot color palette for dark themes Rework plot timing logic to greatly reduce jitter Draw a vertical line to indicate time jumps in plots Fix driver installation on Windows Upgrade bundled Python to 3.9 on Windows (Windows 8.1 required) Downloads: Windows, Linux, macOS
  4. Brick Logger 2.1.9 Unterstützung für GPS Bricklet 3.0 hinzugefügt Downloads: Windows, Linux, macOS, RED Brick
  5. Brick Viewer 2.4.22 Unterstützung für GPS Bricklet 3.0 und ESP32 (Ethernet) Brick hinzugefügt Data Logger Unterstützung für GPS Bricklet 3.0 hinzugefügt Plot-Farbpalette für Dark Themes verbessert Plot-Timinglogik überarbeitet um Jitter deutlich zu verringern Vertikale Linien zeigen Zeitsprünge in Plots an Treiberinstallation auf Windows repariert Gebündeltes Python auf Version 3.9 aktualisiert auf Windows (benötigt Windows 8.1) Downloads: Windows, Linux, macOS
  6. Bindings: C/C++ 2.1.33, C/C++ for Microcontrollers 2.0.1, C# 2.1.31, Delphi/Lazarus 2.1.32, Go 2.0.12, Java 2.1.32, JavaScript 2.1.34, LabVIEW 2.1.30, Mathematica 2.1.30, MATLAB/Octave 2.0.32, MQTT 2.0.16, Perl 2.1.31, PHP 2.1.30, Python 2.1.30, Ruby 2.1.30, Rust 2.0.20, Saleae 2.0.7, Shell 2.1.32, Visual Basic .NET 2.1.30 Add support for GPS Bricklet 3.0 [all] Add set/get_display_driver functions and DISPLAY_DRIVER constants to E-Paper 296x128 Bricklet API [all] Add simple_get_tag_id function and MODE_SIMPLE constant to NFC Bricklet API [all] Add set/get_rtc_driver functions and RTC_DRIVER constants to HAT Brick API [all] Fix out-of-bounds read when passing string literals [C/C++] Set correct buffer to null when streaming out single chunks [C/C++] Fix short write for bool stream-in [C/C++] Only include stdbool.h if compiling for C [C/C++] Use correct snprintf function with older MSVC versions [C/C++] Add .NET 5/6 and .NET Standard 2.0 to NuGet package [C#] Fix race condition in TTimedSemaphore Acquire/Release logic that affected callback handling [Delphi/Lazarus] Use recommended order of modifiers [Java] Fix chunk padding for char streams [MQTT] Fix relative import error handling in Python 3 [Python] Download: C/C++, C/C++ for Microcontrollers, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Saleae, Shell, Visual Basic .NET
  7. Bindings: C/C++ 2.1.33, C/C++ for Microcontrollers 2.0.1, C# 2.1.31, Delphi/Lazarus 2.1.32, Go 2.0.12, Java 2.1.32, JavaScript 2.1.34, LabVIEW 2.1.30, Mathematica 2.1.30, MATLAB/Octave 2.0.32, MQTT 2.0.16, Perl 2.1.31, PHP 2.1.30, Python 2.1.30, Ruby 2.1.30, Rust 2.0.20, Saleae 2.0.7, Shell 2.1.32, Visual Basic .NET 2.1.30 Unterstützung für GPS Bricklet 3.0 hinzugefügt [alle] set/get_display_driver Funktionen und DISPLAY_DRIVER Konstanten zur E-Paper 296x128 Bricklet API hinzugefügt [alle] simple_get_tag_id Funktion und MODE_SIMPLE Konstante zur NFC Bricklet API hinzugefügt [alle] set/get_rtc_driver Funktionen und RTC_DRIVER Konstanten zur HAT Brick API hinzugefügt [alle] Out-of-bounds Zugriff auf übergebene String Literale korrigiert [C/C++] Richtigen Buffer nullen beim streamen einzelner Chunks [C/C++] Short-Write für bool In-Streams korrigiert [C/C++] Verwendung von stdbool.h auf C beschränkt [C/C++] Richtige snprintf Funktion bei älteren MSVC Versionen verwenden [C/C++] .NET 5/6 und .NET Standard 2.0 zum NuGet Package hinzugefügt [C#] Race Condition in TTimedSemaphore Acquire/Release Logik und der dazugehörigen Callback Behandlung behoben [Delphi/Lazarus] Empfohlene Modifier-Reihenfolge verwendet [Java] Chunk Padding für char Streams korrigiert [MQTT] Fehlerbehandlung für relative import Fehler in Python 3 korrigiert [Python] Download: C/C++, C/C++ for Microcontrollers, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Saleae, Shell, Visual Basic .NET
  8. Did you try different baud rates? See section "3.1 Guessing the baud rate." here: https://www.instructables.com/How-to-Hack-and-Upgrade-Your-Car-Using-CAN-Bus/
  9. Das ist der eigentliche Fehler. Das hat nie was mit der Python Version zu tun gehabt. Die Fehlermeldung ist leider nicht sehr leserlich. Ich habe das falsche Datumformat korrigiert und die Fehlermeldung verbessert.
  10. Debian Bullseye hat npm 8.5.5 in den Backports: https://backports.debian.org/Instructions/ In Kurz: Bullseye Backports Repo zu apt hinzufügen, apt aktualisieren und dann npm aus den Backports installieren: echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list.d/bullseye-backports sudo apt update sudo apt install -t bullseye-backports npm
  11. Wenn du an der Wallbox den Taster drückst, leutet dann der Taster? In der Wallbox sind 2 Feinsicherungen auf der untere Platine (EVSE Bricklet 2.0) verbaut. Wenn es aber schon den Switch erwischt hat, dann hat es villeicht die obere Platine (ESP32 Ethernet Brick) erwischt. Trenn die Wallbox vom Strom, schraub den Deckel runter, achte dabei darauf den Taster und die Erdung der Frontplatte abzustecken. Dann kannst du die Sicherungen in den beiden grünen Haltern auf der unteren Platine kontrolliern. Wenn die okay sind, dann wieder Strom an für die Wallbox und schauen ob Status LED leuchten. Es sollten auf beiden Platinen jeweils eine blaue LED leuchten.
  12. In einem Bricklet zusammen gibtes das nicht. Aber ein IO-4 Bricklet 2.0 und ein Analog In Bricklet 3.0 zusammen können das.
  13. Das IO-16 Bricklet 2.0 wird von sich aus nicht genug Strom pro Ausgang liefern können, um die KFZ Relais durchschalten zu können. Ausserdem sind KFZ Relais für 12V am Eingang gemacht. Da musst du dann noch Transistoren zwischen die Ausgänge des IO-16 Bricklet 2.0 und die KFZ Relais schalten. Willst du 65 Mal Spannung messen und 65 Mal Strom gleichzeitig? Also eigentlich 130 Mal Spannung messen? Du könntest 65 Voltage/Current Bricklet 2.0 nehmen, allerdings kann ein Voltage/Current Bricklet 2.0 nur bis 20A messen. Du könntest auch 65 Industrial Dual Analog In Bricklet 2.0 nehmen. Mit dem einen Kanal die Spannung messen und mit dem anderen den Strom über einen Shunt Widerstand. Dazu relevant ist auch ob alle zu messenden Spannungen und Ströme den gleichen Massebezug haben, oder ob die 65 bzw 130 analogen Messungen alle galvanisch von einander getrennt sein müssen. Für analoge Messungen haben wir keine Bricklets mit vielen Kanälen im Sortiment, da kommst du leider nicht darum herum, entweder viele Brickelts zu nehmen, oder dir vielleicht einen Multiplexer zu bauen, um zeitlich versetzt mit weniger Bricklets mehrere Spannungen und Ströme zu messen. Eine wichtige Frage ist auch: Welche Genauigkeit müssen die analogen Messungen haben?
  14. Wir können das Problem hier auf einem RPi 400 nachstellen. Allerdings tritt es hier nicht direkt auf, sonder es tritt erst auf, wenn das RPi 400 "schläft" (Bildschirm ist dunkel). Wenn ich es wecke, dann sieht es wie auf deinem Screenshot aus. Die neuen Daten laufen dann aber wieder normal ein. Testet mal bitte die neue angehängt Brick Viewer Version. brickv-2.4.21+snapshot~d29d35a_all.deb
  15. A vertical line indicates a gap in the plot. The plot stops recording data if you switch away from the tab.
  16. Teste mal bitte die angehängt Brick Viewer Version. Diese behebt die oben verlinkten Probleme auf macOS. Möglicherweise ist dass das gleiche Problem hier, auch wenn es optisch etwas anders aussieht. brickv-2.4.21+snapshot~c489c93_all.deb
  17. Please try the attached Brick Viewer vrsion, that has these problems fixed. brickv_macos_2_4_21_snapshot_685f6c0.dmg
  18. Das es ~/cron.log nicht gibt ist schon mal in sich ein Hinweis. Was kommt denn bei raus, wenn du den Befehl mal von Hand ausführst, anstatt ihn mit cron ausführen zu lassen (natürlich mit den XXX durch die richtigen Werte ersetzt)? /usr/bin/python3 /usr/local/bin/tinkerforge_mqtt --debug --broker-host XXX --broker-username XXX --broker-password XXX --init-file /usr/local/bin/outdoor_weather_config.txt
  19. Nicht "crontab -e", sondern den Inhalt der Datei ~/cron.log auf dem Raspberry Pi. Das Video Tutorial dem du gefolgt bist fügt den Befehlt zum Start der MQTT Bindings in crontab ein. Die Meldungen die tinkerforge_mqtt ausgibt werden dann durch den verwendeten Befehl nach ~/cron.log umgeleitet. Die Meldungen würde ich gerne sehen, um zu verstehen was da potentiel nicht richtig funktoniert. Du kannst dir die ~/cron.log Datei am einfachsten mit "cat ~/cron.log" auf dem Raspberry Pi ausgeben lassen.
  20. Was steht denn in ~/cron.log?
  21. Das Problem, bzw. ein ähnliches, tritt auch auf macOS auf. Die Ursache ist gerade noch unklar, wir gehen dem nach.
  22. I've fixed the contrast issues with the plot widget. This was due to some hardcoded color choices. I can reproduce the plot overlapping itself when resizing the window. I need to look into more detail their why that happens. Alsmost looks like one misplaced datapoint that makes the plot jump back and forth once. Thanks for reporting.
  23. Okay, du solltest libegl1-mesa und libegl1-mesa-dev ohne Probleme einfach deinstallieren können. Für die aktuelle Debian Version sagt die Beschreibung des libegl1-mesa Paketes: Dieses Übergangspaket kann gefahrlos entfernt werden. Nur hast du gerade apt in die Ecke gedrängt und es lässt dich jetzt wahrscheinlich libegl1-mesa nicht deinstallieren, weil du mit den Qt Paketen da so halb hängst. Hast du das auf einem frischen Image veruscht und kannst einfach von vorne anfangen, oder musst du das jetzt retten? Ansonsten ist es villeicht das einfachste du fängst mit eibnem frischen Image an und deinistallierst zu erst libegl1-mesa.
  24. Da stehen sich die Pakete libegl1 und libegl1-mesa auf den Füssen. Beide beinhalten /usr/lib/arm-linux-gnueabihf/libEGL.so.1, dadurch müssen die beiden Pakete eigentlich also Conflicting/Replacing markiert sein, dass scheint aber nicht der Fall zu ein. Daher klappt es nicht das apt/dpkg das selbst auflösen. Qt hängt hier von libegl1 ab. Aus irgendeinem Grund ist aber bereits libegl1-mesa installiert. Versuch mal über "sudo apt remove libegl1-mesa" das paKet zu deinstallieren, damit dir apt anzeigt wer von libegl1-mesa abhängt und dann mit deinstalliert würde.
  25. I think I found out the problem. According to my tests the problem should be fixed in Brick Viewer 2.4.21.
×
×
  • Neu erstellen...