GPN13 Vortrag

July 2, 2013 in Allgemein, Software

Moin Moin,

 

nachdem ich in letzter Zeit kaum etwas gepostet habe.  Hier endlich mal wieder was.

 

Ich habe einen Vortrag auf der GPN gehalten:

Hier noch ein link zur GPN Wiki Seite:

GPN Wiki

Und zu guter letzt noch der Link zu den Folien:

Folien

Login Script

April 26, 2013 in Linux, Software

Moin Moin,

wie eben schon angekündigt läuft der Blog jetzt auf einem root server.

Bei einer Unterhaltung mit meinem Mitbewohner kam mir die Idee eine Seite einzurichten die Anzeigt ob gerade jemand am Server arbeitet.

Sofort habe ich angefangen zwei kleine Scripts zu basteln, die beim Login und beim Logout die Seite mit Inhalt befölkern.

Das, im Home folder aller User liegende, .bashrc liegende Script habe ich um folgende Zeilen erweitert.

 

echo " "
echo " " 
echo "Hallo dies ist das automatische Login Script. Es soll verhindern das an einem Problem parallel gearbeitet wird."
echo " Bitte gib jetzt deinen Namen ein. "   
read Name
echo " An was möchtest du jetzt Arbeiten?"
read arbeit
echo " Bitte gib nun noch an Wie du erreichen bist. "
read verfgbar

echo "$Name : $arbeit : $verfgbar" >> /pathtowebsite/log.login
echo "$Name : $arbeit : $verfgbar" >> log.login

Das Script fragt über eine Reihe von read Abfragen ab was gearbeitet wird wer Arbeitet und wie man ihn im Notfall erreichen kann.

In den beiden letzen Zeilen wir die Antwort einmal lokal abgelegt und ein mal an die Datei angehängt die zur Website führt.

Weiter ging es mit ein wenig HTML C&P.

<html>

<title>Hardware ist kuhler als Software</title>

<head>
<h1>Für eine näher Beschreibung siehe blog.tofuman.org</h1>
</head>
<body>
<iframe src="log.login" frameborder="0" width="90%" height="150" name="Logged on"></iframe>
</body>

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</html>

Mit hilfe von iframe wird der Inhalt einer txt-Datei dargestellt. Da der Server ein wenig mit dem UTF-8 coding nervte habe ich mir die vor letze Zeile gesucht.

Jetzt müssen wir beim Logout noch wieder Aufräumen.

current=$(cat ./log.login)
sed -e "/$current/ d" /var/www/vhosts/zulu155.server4you.de/site2/log.login | tee /pathtowebsite/log.login
rm ./log.login 
touch log.login

Ich bin mir sicher das ginge schöner aber nach einer halben Stunde unverständnis von sed hatte ich keine Lust mehr.

Der aktuelle Benutzer wird aus der lokalen Datei geholt und per Sed aus der globalen Datei gelöscht. Da sed nur auf die Konsole schreibt muss der Output noch zurückgeschrieben werden. Zu guter letzt räumt man noch die Lokale Datei auf und ist fertig.

Server Umzug

April 26, 2013 in Allgemein

Moin Moin,

durch eine glückliche Fügung ist mein Blog von seinem Webspace bei 1blu umgezogen auf einen Root-Server. Ich hoffe soweit funktioniert alles. Sollte noch etwas buggen bitte bei mir melden.

Die neue Adresse ist http://www.blog.tofuman.org .

 

Türklingel Update v1.2.

January 25, 2013 in Allgemein, Hardware Hacks

Moin moin,

Nachdem die alte LED Leiste ihren Geist aufgegeben hat, habe ich jetzt richtige LEDs organiesiert und verbaut.

LED update

Zu sehen sind 5 1W LEDs in Grün. Ich habe sie auf Winkel aus dem Baumarkt geklebt und mit 5 Watt Wiederständen versehen.

Hier noch die relativ einfache schaltung:

Schaltung LEds

und auch ein Video gibt es für euch:

Gruß tofu

Leuchtendes Fluid Blender

January 3, 2013 in Blender Render

Moin Moin,

nachdem der C3 sicher überstanden ist, habe ich endlich wieder einen Post für euch.

In der Woche vor Weinachten habe ich mich zusammen mit einem guten Freund (oY Neo Yo) angefangen in Blender einzuarbeiten. Nachdem wir eine kleine Animation mit Würfeln gemacht hatten, wagten wir uns an einen leuchtenden Becher in den wir ein blutrotes Fluid gießen.

Später habe ich mir noch ein Blog Logo zusammen gerendert.

logo

Adapter – 8 Pin Din 262° auf Mini-Din

December 21, 2012 in Allgemein

Moin,

Heute habe ich endlich mein lang ersehntes Reichelt-Paket bekommen. Sofort habe ich mich dran gemacht endlich den Adapter von dem C64 zum VGA-Wandler zu löten.
Die schönste Konstruktion ist es nicht, aber sie tut. Ich habe die vermutung das der C64 in sich einen kleinen Wackelkontakt hat. Genaueres werde ich in Hamburg überprüfen. Hier noch 2 Bilder des Kabels:

Commodore 64 – erster Test bis 42″-TV

December 20, 2012 in C64, Hardware Hacks

Moin,

wie einige schon gehört hatten haben ich mit viel Hilfe von oNNy und Benibr (Großen Dank euch noch mal | hier gehts zu ihrem Blog) einen altern C64 auf getrieben.

Wir glaubten nicht das der Brotkasten einfach laufen würde, sondern wir ein Projekt zum daran rumlöten hätten. Ein Besuch bei Retro Games zeugte aber, dass die alte Kiste noch immer läuft. Allein die Power LED ist Kaput. Ein Ersatz ist bestellt und kommt morgen an.

Nun stellte sich das Problem, dass keiner von uns mehr einen Fernseher mit Antennen- oder DIN-Eingang besitzt. Logischer weise entstand der Plan einen VGA-Wandler zu verwenden, um so unser normalen TFT-Monitore verwenden zu können.

Noch am selben Abend bestellt ich also, mehr als euphorisch, ein Netzteil, welches wir leider nicht mit dem C64 bekommen hatten, und ein S-VHS auf VGA Wandler. Genialer weise dachte ich nicht daran nachzulesen ob denn auch die Kabel passen würden. Natürlich passten sie nicht. Allerdings gelang es uns mit Hilfe von “wilder Draht-Action” eine provisorische Verbindung herzustellen.

Später bestellte ich noch schnell Stecker (8 Pin Din 262° (C64), Mini-Din(Wandler), 3,5mm Klinke(Ton)) und Kabel um eine Kabel-Peitsche zu löten, mit der der C64 dann auch ohne Störsignale funktioniert. Das Paket kommt hoffentlich Morgen, sodass der Adapter noch vor dem 29C3 fertig wird.

Ich konnte es allerdings nicht lassen den C64 an einen 42″ Fernseher anzuschließen um ein wenig damit zu spielen. Im Folgenden ein paar Bilder:

 

 

 

 

 

 

 

 

 

 

 

 

 

Festplatten-Türklingel

December 7, 2012 in Hardware Hacks

Moin Moin,

nachdem ich in der aktuellen c’t Hardware Hacks von der Möglichkeit gelesen hatte, dass man aus alten Festplatten eine Klingel bauen kann, und ich ohne hin schon eine Statusanzeige an meiner Zimmertür installiert hatte, war die Idee schnell da diese Anzeige zu perfektionieren.

Hier erst mal ein Video des Ganzen:

Die Festplatte wird mit Hilfe von 12 V und ca. 2 1/4 A betrieben. Sie ist an ein Arduino Motor Shield angeschlossen. Die grüne LED-Leiste, die aus einem PC-Modding Projekt stammt ist via 4 Pin Molex ebenfalls an das Shield angeschlossen.

Das Kästchen an der Tür sollte nicht verhindern, dass man die Tür schließen kann. Es bot sich daher an ein altes IDE Kabel zu verwenden. Von den ca. 40 Adern eines IDE-Kabel sind nur 8 im gebrauch.

Gesteuert wird alles von einem Arduino Uno. Sein USB-Port ist von außen erreichbar und gibt mir so die Möglichkeit, dass man die verschiedenen Modi umprogrammieren kann. Theoretisch sind 8 Modi mit Hilfe der LEDs an der Tür darstellbar.

So viel für Heute. Ich werde die Tage noch meinen Arduino Code hochladen und die Schaltung etwas genauer Beleuchten.

Edit:

Der Arduino Code ist nicht sonderlich komplex und auch noch nicht Kommentiert. Die Variablen Namen sollten das Programm eigentlich selbst erklären.

int dirA = 12;
int dirB = 13; 
int speedA = 3;
int speedB = 11;

int bDirect = LOW;
int bModus = LOW;
int aModus = LOW;

int LEDGr = A3;
int LEDGe = A2;
int LEDRo = 2;

int LEDIn = 7;

int ButtonOut = 4;
int ButtonOutVal = 0;
int ButtonOutPressed = 0;

int ButtonIn = 5;
int ButtonInVal = 0;
int ButtonInPressed = 0;

int ButtonDe = 6;
int ButtonDeVal = 0;
int ButtonDePast = 0;

int Modus = 0;
int Klingel = 0;

void setup()
{
  pinMode (dirA, OUTPUT);
  pinMode (dirB, OUTPUT);
  pinMode (speedA, OUTPUT);
  pinMode (speedB, OUTPUT);
  pinMode (LEDGr, OUTPUT);
  pinMode (LEDGe, OUTPUT);
  pinMode (LEDRo, OUTPUT);
  pinMode (LEDIn, OUTPUT);
  pinMode (ButtonOut, INPUT);
  pinMode (ButtonIn, INPUT);
  digitalWrite (dirA, HIGH);
  digitalWrite(LEDGr, LOW);
  digitalWrite(LEDGe, LOW);
  digitalWrite(LEDRo, LOW);
}

void loop() {
  ButtonOutVal = digitalRead(ButtonOut);
  ButtonInVal = digitalRead(ButtonIn);
  ButtonDeVal = digitalRead(ButtonDe);
    delay(10);

  if(ButtonInVal == HIGH && ButtonInPressed == 0 && Klingel == 0) {
    Modus++; 
    if(Modus == 4){
      Modus = 0;
    } 
    Serial.println(Modus);
    switch(Modus){
      case 0: digitalWrite(LEDGr, HIGH);
          digitalWrite(LEDGe, LOW);
          digitalWrite(LEDRo,LOW);
          break;
        case 1: digitalWrite(LEDGr, LOW);
          digitalWrite(LEDGe, HIGH);
          digitalWrite(LEDRo,LOW);
          break;          
        case 2: digitalWrite(LEDGr, LOW);
          digitalWrite(LEDGe, LOW);
          digitalWrite(LEDRo,HIGH);
          break;          
        default: digitalWrite(LEDGr, LOW);
          digitalWrite(LEDGe, LOW);
          digitalWrite(LEDRo,LOW);
          break;          
       }
    ButtonInPressed = 1;
  } 
  else if (ButtonInVal == LOW && ButtonInPressed == 1 && Klingel == 0) {
    ButtonInPressed = 0; 
  }

  if(ButtonOutVal == HIGH && ButtonOutPressed == 0){
    Klingel = 1;
    ButtonOutPressed = 1;
  } 
  else if(ButtonOutVal == LOW && ButtonOutPressed == 1){
    ButtonOutPressed = 0;
  }

  if(ButtonDeVal != ButtonDePast && Klingel != 0){
    Klingel = 0;
    ButtonDePast = ButtonDeVal;
    digitalWrite(speedA, LOW);
    digitalWrite(LEDIn, LOW);
    digitalWrite(speedB, LOW);
  } 

  if( Klingel == 1) {
    if (Modus == 0) {      //Dies ist der Grüne Modus.
       digitalWrite (speedB, HIGH);      // Dieser modus läst die Festplatte klingeln und blinkt. 
     digitalWrite (dirB, bDirect);
     bDirect = !bDirect;
     delay(60);

     if(aModus <= 0) {
       for (aModus = 0; aModus < 255; aModus++){
         analogWrite(speedA, aModus);
         delay(1);
        }
      }else {
        for (aModus = 255; aModus > 0; aModus--){
          analogWrite(speedA, aModus);
          delay(1);
        }
      }
     }else if(Modus == 1) { //Dies ist der Kopfhörer Modus. hier Blinken nur die LEDs
      if(aModus <= 1) {
        for (aModus = 1; aModus < 255; aModus++){
          analogWrite(speedA, aModus);
          delay(4);
        }
      }else {   
        for (aModus = 255; aModus > 1; aModus--){
          analogWrite(speedA, aModus);
          delay(4);
        }
      }
    } else if(Modus == 2) { // Dies ist der Ruhe modus. Hier leuchtet nur eine LED die Zeigt, dass 
        digitalWrite(LEDIn, HIGH); // geklingelt wurde
    } else{ // Dies ist der Deaktiviert Modus in ihm passiert nichts.
      digitalWrite(LEDIn, LOW);
      Klingel = 0;
    }
  }
}

hier noch das entsprechende Schalt-Layout von der 3,3 Volt Schaltung. Fotos der Schaltung werde ich die nächsten Tage noch hinzufügen.

Zu guter letzt ein paar Bilder vom Enstehungsprozess.

 

Bis dahin: Gruß tofu

Fischerboot Hannah

December 5, 2012 in Allgemein, Modellbau

Die kleine Hannah habe ich schon vor Jahren gebaut. Ich möchte hier nur kurz das Ergebnis zeigen und nicht tiefer erklären wie sie entstanden ist.

Die Hannah ist ein Nachbau eines französischem Fischerboots aus der Bucht von Brest. Erstmals kamen sie um 1912 auf. Ab 1953 wurden sie vermehrt motorisiert und gegen Mitte der Achtziger wurden sie dann ausgemustert.


Das Modell entstand in einem dreiviertel Jahr Arbeit in Wochenendarbeit. Das Boot wurde über Falsche-Spanten gebaut.

Genug für den ersten Eintrag.

 

Gruß tofu