Jump to content

Loetkolben

Members
  • Gesamte Inhalte

    1.191
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von Loetkolben

  1. JA! Es ist so!

     

    Wenn beim flashen der Brick angesteckt ist und bleiben soll:

    "Erase" druecken und festhalten, dann zusaetzlich einmal "Reset" druecken. Danach auch "Reset" loslassen.

     

    Wenn beim flashen der Brick mal abgesteckt werden kann, dann:

    Abstecken. "Erase" druecken und festhalten und dann an die Stromversorgung stecken. Danach auch "Reset" loslassen.

     

    Nun ist er im Bootloadermodus. Es gibt keinen Weg zurueck, der Brick muss nun geflasht werden. Sollte der Bootloader von Rechner nicht sofort erkannt werden, siehe /dev/... , dann nochmals "Reset" druecken oder ab- und anstecken. Danach wird spaetestens der Bootloadermodus zu 99,8% erkannt. Ansonsten ist hier ein Rechnerfehler.

     

    Kein anderer Weg. Ich kenne das!

     

    Der Loetkolben

  2. Und was habe ich davon, wenn ich die Spannung an der Niedervoltseite GEMESSEN habe?

     

    Du weisst jetzt in welchem Bereich du die Spannung auf der Niedervoltseite mit einer Elektronik regeln musst. Analog Out mit angepasster Schaltung!

     

    Linearpoti mit Servomotor steuern kommt nicht in Frage, da viel zu unelegant.

     

    So funktionieren eben viele Kopplungen, aber wenn es sche macht.

     

     

    Der Loetkolben

     

  3. Deshalb "bastel" ich ja auch nicht einfach drauf los, sondern informiere mich vorher. Wie ist denn deine Ansicht zum Thema Dimmen mit Solid State Bricklet?

     

    Da hast du den Kern meiner Aussage nicht verstanden! Mir ist es egal womit du dimmst, solange nicht an 230V gebastelt wird.

     

    Worin unterscheiden sich denn Drehreglerdimmer, Elektronische Dimmer oder Solidstatedimmer (wenn es denn geht) beim Anschluss voneinander? Durch nichts!! Sie haben immer eine 230V Seite und eine ungefaehrliche Regelseite.

     

    Klare Aussage: Technik innen egal, Hauptsache kommerzielles Produkt mit anwendertauglichem 230V Anschluss.

     

    Nochmals: Du hast alle Informationen: BASTELN! an 230V ist LEBENSGEFAEHRLICH! Da macht es keinen Unterschied welche Technik drinsteckt!

     

     

    Der Loetkolben

  4.  

    Mein Tipp: Kauf einen kommerziellen Dimmer und steuer den auf der Niederspannungsseite mit Tinkerforge. Wenn es ein Drehregler sein muss, dann per Stepper/Servor oder eben elektronisch wenn es ein elektronischer Regler sein soll.

     

    Aber bei 230V und 1000W ist schon lange die Bastelgrenze ueberschritten! DAS IST LEBENSGEFAEHRLICH!!

     

     

    Der Loetkolben

  5. Ich denke das bekommen wir hin.

     

    - Hast du auch die UID angepasst?

    - "No Packet machted" bedeutet, dass in der Antwort vom Stack keine passenden Informationen drin sind.

    - Hast die den Brickv aus? Wenn der auf dem Stack aktiv ist, kommt es evtl. zu "Daten-" Problemen.

     

    Bitte mal um Info.

     

    Ich kloeppel das mal die aktuelle Version des Scriptes ins Posting fuer Copy&Paste oder zum Vergleich. Hauptsaechlich kann man mehr Parameter uebergeben wie IP, etc und unten ist ein Puffer groesser geworden. Auch kann man die Daten die kommen automatisch abspeichern lassen.

     

    #!/bin/bash
    
    # 23.04.2013: Abfangen von langen Paketen. size 16384 und maching of receivepattern
    #    02.2014: -w auf 1MByte erweitert
    # 27.02.2014: "head -1" eingefuegt, da es mehrere Matches geben kann
    
    HOST=192.168.1.1
    PORT=4223
    tUID=XXX
    
    #echo "echo \$0             : $0"
    #echo "echo \$(which \$0)    : $(which $0)"
    #echo "echo \$(dirname \$0)  : $(dirname $0)"
    #echo "echo \$(basename \$0) : $(basename $0)"
    #echo "."
    
    LOGFILEOUTOUTFORMAT=0
    RECEIVEPACKETSTORE=0
    RECEIVEPACKETPATH=$(dirname $0)
    
    # -x -h host -p port -u uid -r -R receivepacketpath
    
    while [ $# -gt 0 ]       #Solange die Anzahl der Parameter ($#) größer 0
    do
    #  echo "Dollar1:$1"      #Ausgabe des ersten Parameters
      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 # Wenn -r angegeben ist werden die Paket in -R abgelegt. Siehe weiter unten.
      if [ "$1" = "-R" ] ; then RECEIVEPACKETPATH=$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
    #----------------------------------------------------------------------------------
    SENDPACKET=$HEXDECODEDSTR"\x08\x01\x18\x00"
    RECEIVEPATTERN=`echo -n -e $HEXDECODEDSTR"\x0a\x01\x18\x00" | od -A n -t x1 | tr -d " "`
    RECEIVEPACKET=`echo -n -e "$SENDPACKET" | nc -w1 $HOST $PORT | xxd -p`
    
    if [ "$RECEIVEPACKETSTORE" = "1" ] ; then
       echo -n -e "$RECEIVEPACKET" | xxd -r -p > $RECEIVEPACKETPATH/receivepacket/RECEIVEPACKET.temperatur.`date "+%Y%m%d_%H%M%S"`
    fi
    
    FOUNDSTART=`echo -e -n $RECEIVEPACKET | xxd -r -p | od -w1048576 -A n -t x1 | tr -d " " | grep -o -F $RECEIVEPATTERN -b | head -1 | cut -f1 -d ":"`
    
    if [[ "$FOUNDSTART" != "" ]] ; then
    
       FOUNDSTART=`expr $FOUNDSTART + 17`
       FOUNDEND=`expr $FOUNDSTART + 3`
    
       TEMP1=`echo -e -n $RECEIVEPACKET | xxd -r -p | od -w1048576 -A n -t x2 | tr -d " " | cut -b $FOUNDSTART-$FOUNDEND | tr "[:lower:]" "[:upper:]"`
       TEMP2=`echo "scale=2 ; ibase=16; $TEMP1 / 64" | bc`
    
       if [ "$LOGFILEOUTOUTFORMAT" = "1" ] ; then echo "`date +%Y%m%d_%H:%M:%S';'%s`;$TEMP2"
          else
            echo -e "\nDie Temperatur betraegt: $TEMP2 Grad.\nParameter -x gibt Logfileoutputformat.\n"
       fi
       else
         echo "No Packet machted" >&2
         echo "`date +%Y%m%d_%H:%M:%S';'%s`;"
    fi
    
    
    # DATAFORMAT: 20120514_08:42:02;1336977722;20.62

     

     

    Aber: Du kannst auch die Shellbindings nutzen um dieses Logfile zu erzeugen.  ;)  Dem draw-script ist es ja egal womit die Daten gesammelt worden sind.  :)

     

     

    Der Loetkolben

     

  6. Hallo Christian,

     

    alte Software einzuspielen sollte einfacher sein als zu flashen, da man noch jemand anders dazu braucht. Wie ich gerade gesehen habe hast du die offizielle Doku gefunden. (Ich finde diesen Eintrag in der Doku nie, da ich immer unter Bricks und Firmware schaue! Ich muss den Eintrag immer ueber das Forum suchen.) Die Anleitung funktioniert aber!

     

    Hier noch eine Anmerkung: Die Fern-Updates hatten bei mir seinerzeit funktioniert. Leider gab es beim letzten Update das Problem, dass sich der Rechner zwei mal nicht nachvollziehbar beim Verify aufgehaengt hatte und rebootet werden musste. Ich schiebe das mal zu 80% auf den Rechner und die Konstellation vor Ort. Dennoch magst du einfach den Thread lesen um evtl. beim gleichen Problem keine Panik zu bekommen. Commandlineflashing laesst Rechner abstuerzen

    Also keine Warnung, nur eine Info!  ;)

     

    Mein Vorschlag: Prozedur 2 oder 3 mal zu Hause ausprobieren, damit du weisst was auch dich/euch zukommt. Aus meiner Sicht eine machbare Sachen wenn Remote nicht drei linke Haende sind!  ::)

     

    Viel Erfolg

     

    Der Loetkolben

     

  7. Das ist doch das Gleiche!  :o  Was machst du denn mit dem (Um)schalter? Damit trennst du doch auch eine Leitung mit auf.

    Das ist richtig. Aber wenn ich nur eine Ader trennen müsste könnte ich das über das vorhandene Dual Relay Bricklet machen.

    Natuerlich reicht das. Fuer 50 Cent kannst du es doch ausprobieren indem du bei einem Netzwerkkabel mal eine Ader vom 100Mbit Signal (1,2,3,6) abklemmst.

     

    Nimm doch einfach einen Miniswitch und schalte da die 5 Volt Versorgungsspannung.

    Das wäre wohl am einfachsten. Nur weiß ich nicht ob so ein switch es gut verträgt öfter aus/ein geschaltet zu werden. Bzw. den Strom weg zu nehmen. Ich könnte mir vorstellen die sind lieber länger an oder aus. :)

    Fuer 8 Euro weisst du es genau. Deinen PC machst du doch auch 1 oder 2 mal am Tag an oder aus.

     

     

    Der Loetkolben

  8. Evtl. hole ich mir so einen umschalter, wenn ich der meinung bin das ich den mit TF steuern kann. :)

    Schade das man nicht einfach nur bei einer Ader die Verbindung trennen muss.

     

    Das ist doch das Gleiche!  :o  Was machst du denn mit dem (Um)schalter? Damit trennst du doch auch eine Leitung mit auf.

     

    Nimm doch einfach einen Miniswitch und schalte da die 5 Volt Versorgungsspannung.

     

     

    Der Loetkolben

  9.  

    Ich habe den "umgekehrten" Weg gewaehlt. Ich sammel alle x Minuten die Werte per Cron und baue eine Webseite auf.

     

    Diese kann man dann per Browser abrufen. D.h., dass beim Abruf der Webseite nichts aktives mehr passiert, da die Daten schon vorliegen.

     

    Ich habe das seinerzeit sogar ohne Shellbindungs, sondern einfach per Shell, gemacht, da es die Bindings noch nicht gab.

     

     

    Der Loetkolben.

  10. Das es ein Doppelstack (2* FW 2.1.2) war messe ich erstmal keine Bewandtnis zu.

    Der Masterbrick startet durch. (und startet immer wieder durch, wohl dadurch, dass der obere Masterbrick noch die alte FW hat) Als weitermachen.

     

    Versteh ich das Richtig?

    2 Master, beide als ein Stack (zusammen)

    Und der Untere hat sich immer wieder neu gestartet?

     

    Tritt das Problem auch auf wen du nur einen einzelnen Master flashst?

     

    Hallo Novae,

    alleine konnte ich den Brick nicht flashen, da sie zusammengebaut und verbaut sind. Ich gehe davon aus, dass es normal war, dass der untere immer wieder durchgestartet ist, WEIL der obere Brick noch die (sehr) alte Firmware hatte und die beiden Versionen nicht miteinander funktionieren.

    Nachdem ich auch den oberen Brick geflasht hatte, haben beide nur EINMAL durchgestartet und gut war es.

     

    Da sich der Rechner aber sowohl beim flashen des unteren Bricks (der dann immer wieder rebootete) aufgehaengt, als auch beim flashen des oberen Bricks, gehe ich davon aus, dass es nicht damit zusammenhaengt, dass 2 Bricks zusammen sind. 100% ausschliessen kann ich es aber nicht.

     

    Ich werde mal auf einer aehnlichen HW einen einzelnen Brick flashen.

     

    @photron:

    Danke dass du mal einen Blick auf das Logfile geworfen hast.

    Kannst du mir denn sagen warum die "Verifyanzeige" so schnell auf 96% springt und dann verharrt? Ist da bei 96% irgendein Sprung im Quellcode? (Denke wohl nicht).

     

    Hast du noch einen Tipp in welcher Richtung ich weitersuchen kann?

    RAM? (Es sind nur 64 MB + 32 MB Swap vorhanden, und im Idle nur 44 MB benutzt)

    USB Resetsequenz im cmd-line Tool?

     

    Der Loetkolben

     

     

  11. Hallo zusammen,

     

    ich habe nach langer Zeit mal wieder versucht einen Doppelmasterbrick (2* Masterbrick HW 2.0) zu flashen. Dabei hat sich 2 mal der Rechner weggehaengt. Warum? :gruebel:

     

    Zuerst Erase+Reset gedrueckt. Serielles Device /dev/ttyACM0 dann vorhanden.

    root: brick-flash-cmd -p /dev/ttyACM0 -f brick_master_firmware_latest.bin"
    Writing firmware: 100 % (Bis 100% wird langsam (passend) hochgezaeht. ok)
    Verifying written firmware:  96 % (96% erscheint sofort und nach ein paar Sekunden ist der Rechner nicht mehr richtig ansprechbar).
    Ein Abbruch mit CTRL-C ist nicht moeglich

     

    Das es ein Doppelstack (2* FW 2.1.2) war messe ich erstmal keine Bewandtnis zu.

    Der Masterbrick startet durch. (und startet immer wieder durch, wohl dadurch, dass der obere Masterbrick noch die alte FW hat) Als weitermachen.

     

    Anschliessend USB auf 2. Masterbrick umgesteckt. Rechner rebootet. 2. Masterbrick geflashed. Gleiches Phaenomen/Problem.  :(

     

    Nach dem naechsten reboot arbeitet der Doppelstack einwandfrei mit FW 2.3.0. Das flashen an sich hat also funktioniert.

     

    Ist das Commandolinetool mit der aktuellen "Debian/Python Version" nicht mehr kompatibel?

    # dpkg -l |grep brick
    ii  brick-flash-cmd                    1.0.0                              all          Flash firmware onto Bricks from a terminal
    ii  brickd                             2.2.0                              i386         Tinkerforge Brick Daemon
    # dpkg -l |grep -i python
    ii  python                             2.7.3-4+deb7u1                     all          interactive high-level object-oriented language (default version)
    ii  python-argparse                    1.2.1-2                            all          optparse-inspired command-line parsing library
    ii  python-minimal                     2.7.3-4+deb7u1                     all          minimal subset of the Python language (default version)
    ii  python-serial                      2.5-2.1                            all          pyserial - module encapsulating access for the serial port
    ii  python2.6                          2.6.8-1.1                          i386         Interactive high-level object-oriented language (version 2.6)
    ii  python2.6-minimal                  2.6.8-1.1                          i386         Minimal subset of the Python language (version 2.6)
    ii  python2.7                          2.7.3-6+deb7u2                     i386         Interactive high-level object-oriented language (version 2.7)
    ii  python2.7-minimal                  2.7.3-6+deb7u2                     i386         Minimal subset of the Python language (version 2.7)
    # uname -r
    3.2.0-4-486
    # cat /etc/debian_version
    7.7

     

    Noch ein paar Hinweise/Fragen:

    Die "Platte" ist ein USB-Stick. Davon wird natuerlich gebootet.

    Der Tinkerforgestack haengt natuerlich ebenfalls am USB.

     

    Kann sich bitte jemand mal die /var/messages Ausgabe ansehen und ggf. mir einen Tipp geben woran es lag.

     

    Warum wird beim "Verify" sofort auf 96% gesprungen und nicht langsam hochgezaehlt?

     

    Danke

     

    Der Loetkolben

     

     

     

    8.1.2015_cmd_flash_error.txt

  12. Autsch! Misslungener Smoketest.  :'(

     

    Na klar kann man den Elko tauschen, aber was einzeln nicht mehr geht, geht auch mit heilem Elko nicht mehr.  :(

     

    Ich denke nach der Fahrt zum lokalen Elektroschrottentsorger waere ein freundlicher Besuch beim Tinkerforgeshop ein freudiges Ereigniss.

     

    und vielleicht schreibst du Tinkerforge eine Bitte ins Forum beim naechsten Hardwareupdate die Strecker oder das Bricklet vertauschungssicher zu machen. Leider bist du nicht der Erste und auch ich wuerde mich nicht freisprechen, dass es auch mir mal passieren koennte. Also keine Schadenfreude!

     

     

    Der Loetkolben

     

×
×
  • Neu erstellen...