rtrbt
Administrators
-
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von rtrbt
-
RS232 Bricklet
Moin, Das funktioniert nicht out-of-the-Box, da müsste man einen eigenen Kerneltreiber schreiben. Ein Seriell-USB-Wandler + USB-Hub ist da einfacher. Alternativ kannst du ein GPS-Bricklet und dieses Programm benutzen.
-
Brickv Auto-Update Fehler
Moin, Das sollte mit 2.4.9 gefixt sein.
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Dafür musst du die Teile in dem Datumsstring auch durch Platzhalter ersetzen, die du dann mit String.Format einsetzt, z.B so: myProcess.StartInfo.Arguments = String.Format("/bin/date -s \"{0:00} {1} {2:0000} {3:00}:{4:00}:{5:00}\"", jahr, monat, tag, stunde, minute, sekunde); Den Monat musst du als String reingeben, also z.b. AUG oder SEP. Alternativ kannst du dir mal die anderen Formate ansehen, die date versteht, die sind z.B. hier dokumentiert.
-
Red-Brick Mobile Internet
Das sieht schon mal besser aus. Jetzt wäre wieder dmesg interessant. Außerdem kannst du mit lsusb -t nachsehen, ob überhaupt einer und wenn ja, welcher Treiber geladen wird.
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Ah, manchmal ist man einfach betriebsblind, sorry dafür. Das Problem ist, dass StartInfo den Namen der ausführbaren Datei und die Argumente getrennt will, da ja auch keine Shell benutzt wird (deshalb optionalerweise UseShellExecute = false). So funktioniert es bei mir: using (Process myProcess = new Process()) { myProcess.StartInfo.FileName = "/usr/bin/sudo"; myProcess.StartInfo.Arguments = String.Format("/bin/date -s \"22 AUG 2019 {0:00}:{1:00}:{2:00}\"", stund, minut, sekund); myProcess.Start(); }
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Was für eine Fehlermeldung bekommst du, wenn du myProcess.Start(); aufrufst?
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Was gerade noch aufgefallen ist: Datum/Zeit zu setzen geht nur mit Root-Rechten. Du kannst aber dem Standarduser (also tf) erlauben, das ohne Root-Passwort zu tun, in dem du auf der seriellen Konsole des RED-Brick einmalig folgenden Befehl ausführst: echo 'tf ALL=(root) NOPASSWD: /bin/date' | sudo tee -a /etc/sudoers Wenn du dann in deinem Programm /bin/date durch /usr/bin/sudo /bin/date ersetzt, sollte es klappen.
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Process kannst du verwenden, wie hier beschrieben. In deinem Fall müsste myProcess.StartInfo.FileName = "C:\\HelloWorld.exe"; stattdessen myProcess.StartInfo.FileName = String.Format("/bin/date -s \"22 AUG 2019 {0:00}:{1:00}:{2:00}\"", stunde, minute, sekunde); (o.Ä.) sein.
-
Red-Brick Mobile Internet
Am einfachsten mit Etcher, hier wird erklärt wie das geht. Damit wird allerdings alles auf der Micro-SD-Karte überschrieben, d.h. du solltest ein Backup von Daten, die du auf dem alten Image geändert hast, ziehen, oder alternativ eine andere Micro-SD-Karte benutzen.
-
Red-Brick Mobile Internet
Der Befehl heißt lsusb mit kleinem L nicht großem i. Abgesehen davon solltest du dein Image mal auf 1.14 aktualisieren (oder zumindest damit mal testen).
-
Red-Brick Mobile Internet
Moin, Wenn du den Stick angeschlossen hast, tauchen die ganzen USB-Resets auf. Du kannst mit lsusb (poste mal die Ausgabe davon) mal nachprüfen ob das wirklich der Stick ist, Bus 0X Device 01 sollte der entsprechende Hub-Chip sein, Bus 0X Device 0Y dann der Stick. In den Resetmeldungen siehst du dann "usb X-1:" das ist der Hub und dahinter "USB device number Y", die sollte der aus lsusb entsprechen. Da die Resets vermutlich an den Stick geschickt werden: Wie ist dein Aufbau insgesamt? Wie versorgst du ihn mit Strom? Welche Image-Version hast du auf dem RED-Brick? Vermutlich ist das (noch) kein Treiberproblem, da das USB-Device ansich ja nicht korrekt auftaucht. Der Treiber würde erst im nächsten Schritt geladen werden.
-
Red-Brick Mobile Internet
Moin, Interessant wären die Ausgaben von lsusb und dmesg. Da gerade dmesg auf der seriellen Konsole des RED-Bricks sehr unübersichtlich ist, kannst du die Ausgabe mit dmesg | tail -n 30 filtern.
-
Position + Messwert AirQuality
Die Selbsterwärmung des Sensors kann mit der Funktion set_temperature_offset kompensiert werden.
-
Brickv does not run on Raspberry - QXcbConnection
As there is a brickv folder in /usr/share, did you install the Brick Viewer Debian package or from source? The Debian package typically is installed to /usr/share/brickv. To start the Brick Viewer, you can run brickv from the terminal instead of calling main.py directly. The error message indicates, that Qt can not reach the X server. Are you running your graphical interface as root or as another user? If so, Brick Viewer should work if you run it as the "normal" user.
-
Fehlermeldung auf dem Red Brick: Could not find file "/etc/localtime"
Moin, das ist vermutlich auf einen Bug im Brick Viewer zurückzuführen, der mit Version 2.4.5 gefixt wurde. /etc/localtime ist ein Symlink auf die gewünschte Zeitzone in /usr/share/zoneinfo/. Vor Version 2.4.5 hat der Brick Viewer aber localtime auf nicht vorhandene Dateien gelinkt, C# gibt dann die FileNotFoundException aus. Wenn du mit dem aktuellen Brick Viewer die Zeitzone des RED-Brick neu setzt, sollte das Problem behoben sein. Um die Zeit des RED-Bricks zu setzen kannst du date auf der Kommandozeile oder mit System.Diagnostics.Process verwenden. Zum Beispiel mit date +%s -u -s @1565681174 (als Unix-Timestamp, so macht es der Brick Viewer) oder mit date -s "13 AUG 2019 09:25:30"
-
Compilefehler mit g++ 9.1.0
War doch einfacher als gedacht. Habe dir die gefixte Version mal angehangen, bei mir gibt g++ 9.1 die Warnung nicht mehr aus. tinkerforge_c_bindings_2_1_25.zip
-
Fehlermeldung bei QT5 (5.13)
Versuch es mal ohne die () hinter cb_enumerate und cb_connected.
-
Compilefehler mit g++ 9.1.0
Moin, Ich bin dem mal nachgegangen, das Problem ist nicht das Alignment innerhalb der Strukturen, sondern das der Strukturen selbst (also Packet, PacketHeader und den konkreten wie z.B. SpectrumLowLevel_Callback). Da sie als packed markiert sind, geht der Compiler (richtigerweise) davon aus, das sie nicht auf 4 Byte alignt sind und gibt die Warnung aus. Abgesehen davon gibt es tatsächlich Fälle, in denen die Paketstruktur so ist, dass Arrays an "krummen" Adressen liegen, z.B. beim RS232 Bricklet. Das sauber für alle Compiler zu fixen dauert noch etwas, falls du auf x86 oder einer anderen Architektur, die unalignte Zugriffe unterstützt, unterwegs bist, kannst du die Warnung erstmal mit -Wno-address-of-packed-member unterdrücken. Ich melde mich sobald ich das repariert habe.
-
RED-Brick Internetverbindung
Prinzipiell funktioniert das, hängt aber natürlich auch von deinem Handy ab. Im Settings-Network-Tab des Brick Viewers taucht es als Wired-Interface usb0 auf.
-
Installinfos Brickviewer 2.4.6 (2.4.5) und ein Bug?
Moin, Habe ich mal implementiert, kommt mit 2.4.7. Du kannst dann im Flashing-Window auf den Brick Viewer klicken, dann wird je nach Plattform das richtige Paket heruntergeladen. Hm das ist kaputt. Habe ich mal gefixt, kommt auch in der 2.4.7. Erik
-
HAT Brick
Die set_sleep_mode-Funktion fährt den Raspberry nicht von alleine heruntergefahren, sondern sagt nur dem HAT, dass der Strom weggenommen werden muss. Das Runterfahren (z.B. wie du es geschrieben hast mit shutdown) musst du selber machen. PS: Mir ist gerade aufgefallen, dass in den Beispielen die Zeit in Millisekunden mitgegeben wird. Das müssen aber wie dokumentiert Sekunden sein. Habe ich gerade gefixt, sollte in ein paar Minuten aktualisiert werden.
-
[Python] Sommerzeit auf dem RED Brick
Moin, Versuch es mal mit dieser Version. Ich habe das Zeitzonenhandling insgesamt überarbeitet, jetzt sollten auch echte Zeitzonen (anstatt von UTC-Offsets) angezeigt und gespeichert werden. Erik
-
Rust solution for rugged approach
Not supported in this case means "works in some cases, but not in enough to support it.": The firmware of bricklets with co-processor sends an enumerate when booting and bricks poll their ports with an exponentional decreasing rate, which in conjunction allows hot plugging. But bricks are not able to tell if a bricklet gets disconnected. So if your use case only requires adding co-processor bricklets and never removing them, you could reasonably expect this to work, but as I've said it is not supported.
-
Rust solution for rugged approach
You mean threads spawned in the enumerate callback to handle callbacks of the found devices? If you use the thread::spawn(move || { for x in receiver { //[...] } } pattern, then the thread will join, when the corresponding sender is dropped in the IpConnection, e.g. when the IpConnection is dropped. Another way would be to explicitly drop the receiver, but then you can not use the for loop pattern anymore. Dropping the bricklet does not close callback channels. Instead you have to either drop the IpConnection or the receiver. The device object does not hold any information abount the callback channels. Unfortunately, hot plugging devices to already powered stacks is not supported (for electrical reasons as well as in software). The EnumerationType::Disconnected is only sent, if the Brick Daemon on a PC notices that the USB connection to a stack is lost.
-
Haltbarkeit microSD-Karte
Moin, Bei manchen Karten wird angegeben, wie viele Daten geschrieben werden können. Wenn du da auf Nummer sicher gehen willst, kaufst du eine für den industriellen Einsatz geeignete Karte, die haben dann Datenblätter wie dieses hier (keine Werbung, das war das erstbeste Suchergebnis) Die Karte hält laut Datenblatt 600TB aus (unter Terabytes Written (Max.)). D.h. du kannst zwei Jahre lang pro Minute mehrere Hundert Megabyte schreiben, falls meine Schätzung stimmt. Du kannst natürlich immer Pech haben und eine Karte erwischen, die nach zwei Monaten hin ist, aber das Risiko hat man ja immer. Erik