Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Loetkolben

Pages: 1 2 [3] 4 5 ... 13
31
Edit: Neue LED Bricklet Firmware 2.0.6 verfuegbar mit abschaltbarem Callback

Nach der freundlichen Ueberlegung hier "RGB LED Bricklet mit zusaetzlichen LEDs", dass man ggf. das Strip Bricklet erweitert habe ich mal meine Sorgen mit den Callbacks hier beschrieben und einen Loesungsvorschlag hinzugefuegt.

Wer sorgfaeltig liest versteht es hoffentlich, aber ansonsten beantworte ich gerne Fragen. Sollte ich Fehler gemacht haben, bitte mal eine Info schreiben.

Anbei (unten) das Programm mit dem man eine oder mehrere LED (mit gleicher Farbe) setzen kann.

Die Kurzform lautet:

#1 WS2812 setzen
#2 LED Wert rausschicken
#3 Redering aktivieren
Kritische Pause
#4 Rendering deaktivieren

Die Frameduration ist entscheidend zwischen den Punkten 3 und 4, denn:
Frage: Die Farbwerte werden erst dann auf die LED gebracht, wenn die Renderingzeit abgelaufen ist!?  >:(

Also als Beispiel: Rendering 1000ms=1Sekunde

- LED Farben uebertragen
- Rendering mit 1000ms aktivieren
- Nach 0,5 Sekunden das Rendering wieder deaktivieren.
->Es wird keine Farbe auf die LED gesetzt.

Man muss mindestens 1 Sekunde warten bis man das Rendering wieder deaktiviert, sonst erscheint keine Farbe auf der LED. Da muss man leider viel experimentieren bis man die Anzahl der Callbacks niedrig hinbekommt und das Programm doch noch funktioniert.

Das Problem um Callbacks gering zu halten:
Man muss den Renderingwert klein setzen, z.B. 10ms und dann nach ca. 500ms wieder stoppen. (Das shellscript hat ja auch seine Laufzeit) Dann hat man aber noch bis zu 50 Callbacks zu "verdauen".

Hilfreich (als Workaround) waere es, wenn nach aktivieren des Rendering sofort gerendert wird und dann erst die Zeit anfaengt zu laufen. Damit koennte man sofort das Rendering wieder deaktivieren und die Farben wuerden trotzdem auf die LED gebracht.

Code: [Select]
Statt:       ......R......R......R
Dieshier:   R......R......R......R

Vorschlag zur besseren Loesung:
1. Die Callbacks duerfen nicht automatisch starten, wenn man den ersten Wert gesetzt hat. (Nie automatisch) (Die alten Funktions ID 1 wird genutzt)
2. Es gibt einen API Befehl, der den uebertragenen Wert mit einem "Render-only-once" auf die LED bringt

oder

1. Einen kombinierten Befehl der die Farbwerte wie Funktions ID 1 annimmt und sofort einmalig auf die LED bringt. Dabei werden keine Callbacks ausgeloest.
  ;D
Wenn man in dem neuen Befehl auch gleich noch den Chiptypen setzen kann, erspart man sich die Initialisierung, da man den Chiptyp nicht im EEPROM speichern kann.


Hier der Code um eine oder mehrere LED (mit gleicher Farbe) zu setzen:
Code: [Select]
#!/bin/bash

HOST=192.168.1.99
PORT=4223
tUID=ABC

LEDINDEX=00
LEDLENGTH=04
LEDCOLOR=03,03,03

LOGFILEOUTOUTFORMAT=0
RECEIVEPACKETSTORE=0
RECEIVEPACKETPATH=$(dirname $0)

while [ $# -gt 0 ]       #Solange die Anzahl der Parameter ($#) größer 0
do
  if [ "$1" = "-x" ] ; then LOGFILEOUTOUTFORMAT=1 ;fi
  if [ "$1" = "-h" ] ; then HOST=$2 ;fi
  if [ "$1" = "-p" ] ; then PORT=$2 ;fi
  if [ "$1" = "-u" ] ; then tUID=$2 ;fi
  if [ "$1" = "-r" ] ; then RECEIVEPACKETSTORE=1 ;fi
  if [ "$1" = "-R" ] ; then RECEIVEPACKETPATH=$2 ;fi

  if [ "$1" = "-li" ] ; then LEDINDEX=$2 ;fi
  if [ "$1" = "-ll" ] ; then LEDLENGTH=$2 ;fi
  if [ "$1" = "-lc" ] ; then LEDCOLOR=$2 ;fi

  shift
done

#----------------------------------------------------------------------------------
ALPHABET="123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
BASECOUNT=`expr length $ALPHABET`
DECODED=0
MULTI=1
for ((i=`expr length $tUID - 1` ; i > -1 ; i--))
  do
    VALUE=${tUID:$i:1}
    DECODEDVALUE=`expr index $ALPHABET $VALUE`
    DECODEDVALUE=`expr $DECODEDVALUE - 1`
    DECODED=`expr $DECODED + $MULTI \* $DECODEDVALUE`
    MULTI=`expr $MULTI \* $BASECOUNT`
  done
HEXDECODEDSTR=""
HEXDECODED=`printf "%08x" $DECODED`
for i in {6,4,2,0}
  do
    DIGIT=${HEXDECODED:$i:2}
    HEXDECODEDSTR=$HEXDECODEDSTR"\x"$DIGIT
  done
#----------------------------------------------------------------------------------
#WS2812 setzen:
SENDPACKET=$HEXDECODEDSTR"\x0a\x09\x10\x00\xfc\x0a"
echo -n -e $SENDPACKET | nc -q0 $HOST $PORT
#----------------------------------------------------------------------------------

SENDPACKET=$HEXDECODEDSTR"\x3b\x01\x10\x00"
SENDPACKET=$SENDPACKET"\x$LEDINDEX\x00\x$LEDLENGTH"

# index -- uint16
# length -- uint8
# r -- uint8[16]
# g -- uint8[16]
# b -- uint8[16]

LEDCOLOR1=`echo $LEDCOLOR|cut -d "," -f1`
LEDCOLOR2=`echo $LEDCOLOR|cut -d "," -f2`
LEDCOLOR3=`echo $LEDCOLOR|cut -d "," -f3`

LEDLENGTHCOUNTDOWN=$LEDLENGTH

for i in {1..16}
    do
      if [ $LEDLENGTHCOUNTDOWN -ge 1 ]
         then
           LEDRED=$LEDRED"\x$LEDCOLOR1"
           LEDGREEN=$LEDGREEN"\x$LEDCOLOR2"
           LEDBLUE=$LEDBLUE"\x$LEDCOLOR3"
           LEDLENGTHCOUNTDOWN=`expr $LEDLENGTHCOUNTDOWN - 1`
         else
           LEDRED=$LEDRED"\x00"
           LEDGREEN=$LEDGREEN"\x00"
           LEDBLUE=$LEDBLUE"\x00"
       fi

    done

SENDPACKET=$SENDPACKET$LEDRED$LEDGREEN$LEDBLUE

# Der "Fram-Duration" Wert muss so sein:
# Bei sehr kleinem Wert kommen viele Callbacks, bis er wieder (in der nachsten Zeile) auf 0 gesetzt wird und die Callbacks aufhoeren zu "senden". Das muellt nur rum.
# Bei grossem Wert (> 1 Sekunde) muss ein Sleep 1 oder Sleep 2 folgen, sonst wird er in der naechsten Zeile wieder auf 0 gesetzt, bevor "gerendert" wurde
# und der Wert auf die LED gebracht wurde
#
#                               "...\xE8\x03" Callback = 1 Sekunde = Wert 1000 = 03E8 hex
# Ist der Wert "so halb", z.B.: "...\x70\x00", dann wird ein rendern mal ausgefuehrt und mal nicht. Warum???
# Ist der Wert                  "...\x30\x00", wird nur jedes 2. mal der RGB Wert auf die LEDs geschrieben. -> also noch kleiner machen
# Bei einem Wert                "...\x10\x00", wird jedesmal die LEDs gesetzt, "aber"/und es werden zwischen 1 und 3 Callbacks ausgeloest.
# Sofern alle anderen Programme mit den zwischenzeitlichen Callbacks klarkommen waere dies ein Workaround.
# 3.7.2016 - Den Wert auf ""...\x07\x00" gesetzt, da die Anzeige nicht ganz zuverlaessig funktioierte. Ab und zu wurde keine LED aktualisiert.
echo -n -e $SENDPACKET                              | nc -q0 $HOST $PORT # LED Wert rausschicken
echo -n -e "$HEXDECODEDSTR\x0a\x03\x10\x00\x07\x00" | nc -q0 $HOST $PORT # Redering aktivieren
echo -n -e "$HEXDECODEDSTR\x0a\x03\x10\x00\x00\x00" | nc -q0 $HOST $PORT # Rendering deaktivieren


echo "LED Start:$LEDINDEX, Laenge:$LEDLENGTH, Color:$LEDCOLOR1,$LEDCOLOR2,$LEDCOLOR3"


32
Hardware / WLAN 2.0 Extension mit zu greller LED
« on: August 16, 2016, 17:36:56 »
Hallo liebes Tingerforgeteam.

Das neue WLAN 2.0 Bricklet macht sich technisch erstmal ganz gut, aber der WAF ist nicht ganz so toll.

Insbesondere die gruene LED ist extrem grell und beleuchtet ein Schlaf oder Wohnzimmer schon ganz alleine.
Gut man kann die LED abschalten, aber dann sehe ich den Status nicht mehr. Ich will ja auch was von der Technik haben.  ;D

Man muss aber mal der Industrie ein Kompliment aussprechen, dass die aus so einem kleinen Sandkorn so viel Licht rausholen. Das ist schon enorm!

- Ihr habt noch ein Widerstandsarray benutzt. Koennte man nicht fuer die gruene LED 2 Widerstaende hintereinander oder falls das zu viel Ohm sind eine Mischung aus 3 Widerstanden schalten?

- Achtung Wiederholung: Wenn es 2 Loetpads mit Leiterbahnbruecke geben wuerde, koennte man diese mit einem Bastelmesser durchtrennen und man koennte einen passenden Widerstand dort anbringen. Platz waere "oben" ja genug.


Der Loetkolben

33
Hardware / RGB LED Bricklet mit zusaetzlichen LEDs
« on: August 16, 2016, 17:18:43 »
Hallo liebes Tinkerforgeteam.

Was muesste ich machen damit es eine Firmware gibt, die die Moeglichkeit hat 11 LEDs mit dem RGB LED Bricklet anzusprechen?

Warum 11? Es gibt 8er und 10er Streifen und ggf. sollte die Stromversorgung via Brickletkabel noch ausreichen. ;-)

Was macht eigentlich das RGB Matrix Bricklet?  ;) Wuerde die kommende Firmware helfen?

Das LED Strip Bricklet macht sehr viel Aerger und Aufwand um eine LED anzusprechen und die "automatischen" Callbacks zu unterdruecken. Da ist sonst Ruck-Zuck der DSL Upload zu.  >:(


Der Loetkolben

34
Hallo,

nachdem die RGB LED Bricklets angekommen sind musste ich feststellen, dass nach/bei jedem Reset des Masterbricks ein gruener "Blitz" von der RGB LED erzeugt wird. Kurz, hell, heftig. Sehr unangenehm.

Wenn ich mich noch recht erinnere gab es beim RGB Strip Bricklet auf irgendein Initialisierungsproblem, wo die erste? LED immer "zuckte"?!

Aber kann man das nicht bei dem RGB LED Bricklet abstellen.

Anbei die Hardwareliste, falls es weiterhilft.


Der Loetkolben

35
Hallo Tinkerforgeteam,

da werde ich mir mal das neue LED Bricklet ansehen. In der deutschen Shopbeschreibung sind noch C&P Fragmente vom Echtzeituhrbricklet. ;-) Bitte mal das vRadiergummi nutzen.

Noch was ernsthaftes:
Waere es moeglich am Schluss der Tabelle "Technische Spezifikation" im Shop einen Link zur Doku zu setzen. Das nervt ein wenig, wenn man waehrend des stoeberns im Shop etwas nachsehen will und man dazu erst das Bricklet im Dokubereich suchen muss.


Danke

Der Loetkolben

36
Hallo zusammen,

mit Freude habe ich gesehen, dass das neue Wifi Modul da ist und man deshalb ein Brickviewer Update machen sollte.

Aber das ist immer so ein Aufwand unter Linux, gerade wenn man den Rechner remote bedient. Teilweise hat man die X-Applikation auch nur entfernt per X-forward offen.

Zuerst muss man sich die Download URL zusammensuchen, einloggen und dann per console und wget runterladen, sofern man per Remote-Console die URL rueberbekommt.

Oder man muss auf dem Remote Rechner einen Browser starten, sofern moeglich, und dann runterladen, console oeffnen, Download suchen und installieren.


Hier mein Vorschlag:
Waere es nicht moeglich, dass sich der Brickviewer selbstaendig updated? Firefox unter Linux macht das vorbildlich.

Alternativ wuerde ich folgende Teil-Verbesserungen vorschlagen:
- Der Brickviewer zeigt die Download URL der neuen Version direkt an, so dass man sie fuer wget uebernehmen kann.
- Der Brichviewer kann die Datei schonmal runterladen und ggf. per Fileselectbox ablegen
- Der Brickviewer kann nach dem runterladen ein xfenster aufmachen und man kann somit bequem das Update eben "eintippen".

Das das Autoupdate aufwendig ist verstehe ich, aber ein download und ein oeffnen eines xfensters sollte doch mit 3 Zeilen machbar sein?!  ;D


Viele Gruesse

Der Loetkolben

37
Hardware / Vorteile der Zusatzantenne fuer GPS Bricklet?
« on: May 31, 2016, 14:59:00 »
Hallo zusammen,

was bringt mir eine Zusatzantenne am GPS Bricklet, da das Kabel nur 10cm lang ist.

Wird der Empfang durch die 2. Antenne verbessert oder ersetzt die Aussenantenne nur die Innenantenne?

Kann man das Kabel auch verlaengern und wenn ja wie lang?

Oder ist die Aussenantenne nur dazu da die Antenne aus einem Gehaeuse zu bekommen?


Der Loetkolben

38
Hardware / Fragen zu Real-Time Clock Bricklet
« on: March 25, 2016, 01:24:39 »
Hallo zusammen,

wie lange haelt die Batterie und um welchen Typ handelt es sich?
Warum gibt es keine "Batterie low" Abfrage?

Das sind sicherlich Fragen fuer die Zukunft, aber warum braucht man eine RTC? Genau, bei autonomen Systemen die unbeachtet vor sich hin werkeln. Dies sollen sie auch noch in 3 Jahren zuverlaessig tun?

Und wenn irgendwann mal die Uhrzeit ploetzlich "wech" oder auf "1.1.2000" steht, dann ist es zu spaet und das System arbeitet "ploetzlich" nicht mehr korrekt.

Im Datenblatt habe ich kein Feature wie "Battery low" des Uhrenchips gefunden, aber vielleicht faellt euch noch was ein.

An dieser Stelle auch die Frage, warum es keine Loetpads fuer externe Batterien gibt, zumal die Batterie auch aus diesem Halter rutschen kann, bzw. warum keine Loecher um die Batterie mechanisch zu sichern?

Oder bin ich da wieder zu pessimistisch?  ;)


Der Loetkolben

39
Nabend zusammen,

ich bin zum Datenaustausch auf MQTT (Message Queue Telemetry Transport) gestossen. Bei Google und Wikipedia findet sich jede Menge bezueglich steuern und Datenaustausch.

Bin ich da total falsch oder wuerde sich das mit Sensordaten gut ergaenzen?

Kann jemand, ggf. mit Erfahrung, das Thema mal darlegen?!

Danke

Der Loetkolben

40
Deutsch
Unnötige OTG Erkennung am Mini-USB Port aktiviert
[...]
•sunxi Mail GPU Treiber ins richtige Verzeichnis installiert

Englisch
•Disable unnecessary OTG detection on Mini-USB port
[...]
•Install sunxi Mail GPU driver into the correct directory


Bitte unnoetige Fehler deaktivieren.  ;D  Wichtig vor allem wenn man mal nach dem Stichwort "Mali GPU" sucht.


Der Loetkolben

41
Allgemeine Diskussionen / Tinkerforge auf der Cebit 2016
« on: February 13, 2016, 05:54:16 »
Na dann herzlichen Glueckwunsch zur Teilnahme an der Cebit!  :D


Aber wo seit ihr dort? Halle 011? Nur Standnamen haben einen fuehrenden Buchstaben.

Beim ersten lesen dachte ich Oh-11, koennte auch Null-11 sein, aber wo ist das?  ;)  Musste gleich mal nachsehen ob sich die Halllennamen geaendert haben.

Ich denke ihr seit in Halle Nix-11.

Cebit.de meint: Tinkerforge Messestand Halle 11, Stand D33, (19)

Eine Neuerung auf der Cebit: Letztes Jahr hat das Tagesticket 55 Euro gekostet, das Dauerticket 105 Euro. Dieses Jahr gibt es NUR noch das 55 Euro Ticket was ein Dauerticket ist! Wenn ich das also richtig sehe gibt es keine (regulaeren) Tagestickets mehr. Ausnahme: Ermaessigtes Tagesticket fuer Bezugsberechtigte fuer 25 Euro.
Viele Besucher haben aber auch gesponsorte Tickets.  ;D


Viele Gruesse und VIEL ERFOLG!

Der Loetkolben

42
Hardware / 30cm Kabel nicht verfuegbar.
« on: January 13, 2016, 14:47:24 »
Hallo zusammen,

leider sind immer noch keine 30cm Kabel vorhanden. Ich finde die Luecke zwischen 15cm und 50cm zu gross, gerade wenn man mal das Kabel nur ein wenig um die Ecke legen muss.

Koennt die diese Laenge bitte wieder in den Shop aufnehmen?  :'(

Danke


Der Loetkolben

43
Hardware / UV Licht Absorbtion des UV Light Bricklet Gehaeuses?
« on: January 08, 2016, 16:13:35 »
Hallo zusammen,

wie viel UV Licht absorbiert eigentlich das UV Light Bricklet Gehaeuse?  ;)
Das war beim Ambientlight Bricklet klar zu sehen, aber bei UV Licht?

Weiterhin bitte den Copy&Paste Fehler auf der UV Bricklet Seite beheben:

"Ein laser-geschnittenes Gehäuse für das Ambient Light Bricklet ist verfügbar."

Danke

Der Loetkolben

44

Hallo zusammmen,

die aktuelle WLAN Extension macht einen Reboot/Reconnect nach 30 Sekunden wenn die Verbindung zum AP nicht mehr vorhanden ist.

Ich habe folgendes festgestellt, wobei ich mir nicht 100% sicher bin ob es wirklich so ist.

Wenn man den AP unter beibehaltung ser SSID wechselt (Hardwareaustausch), dann verbindet sich die WLAN Extension nicht zum neuen AP.
Kann es sein, dass bei der Neusuche "nur" wieder nach der gleichen SSID gesucht wird, aber der AP (leider) zwangsweise die gleiche MAC Adresse haben muss?
Kann man die erneute Suche nicht so starten, dass auch die geaenderte MAC Adresse akzeptiert wird.

Das Problem tritt aber nicht nur beim Wechsel EINES AP auf, sondern wohl auch, wenn man 2 oder mehr AP mit gleicher SSID im Haus hat und nun der staerkere ausfaellt. Dann sollte die WLAN Extension noch eine Verbindung zum zweiten, ggf. schwaecheren AP herstellen, der zwar die gleiche SSID aber eine andere MAC Adresse hat.

Sollte ich hier auf dem Holzweg oder meine Beobachten falsch sein, dann bitte das hier anfuegen.

Danke


Der Loetkolben.

45
Hallo zusammen,

das mit dem Brick Logger ist ja eine feine Sache, aber wie funktioniert er?

Wird das durch Callbacks gemacht oder macht der brav und artig ein Polling in der eingestellten Zeit?

Kann man das Datums und Zeitformat auch selbst einstellen wie z.B. "20151014_1520"?


Der Loetkolben

Pages: 1 2 [3] 4 5 ... 13