MeType

Seite 2 von 6

Der magische Spiegel – Update

_MG_3464

Ich habe den Raspberry Pi 1 Model A durch einen Pi 2 Model B ersetzt; der Spiegel startet jetzt mehr als doppelt so schnell und die Animationen der Oberfläche sind etwas flüssiger geworden.
Pi2

Da halbtransparenten Spiegel natürlich weniger reflektieren als normale Spiegel, habe ich beschlossen eine LED-Beleuchtung hinter ein bisschen Milchglas in das Gehäuse einzubauen, um die Person vor dem Spiegel zu erhellen und damit noch besser sichtbar zu machen.
LEDs Spiegel

Aktiviert wird die Beleuchtung durch einen Schalter. Ein kurzer Druck aktiviert und deaktiviert das Licht. Ein langer Druck schaltet zwischen zwei Ansichten in der Spiegeloberfläche hin und her.
Schalter Spiegel

Nachdem ich während der Fahrt zur Schule morgens inzwischen an zwei aufeinanderfolgenden Tagen das Bedürfnis hatte, sofort auszusteigen, irgendwoher eine Kamera herzaubern und den Sonnenaufgang zu fotografieren, habe ich mich heute mal dazu entschlossen, einfach früher loszufahren und genau das tatsächlich auch zu tun!

image

Ich wandere gerade irgendwo auf dem Schönberg herum und habe noch ca. eine Stunde bevor ich wieder losfahren muss, um noch rechtzeitig in die Schule an zu kommen.

UPDATE 07:37
Es war ziemlich neblig, was cool gewesen wäre aber leider waren die Wolken hinter dem Nebel so dicht, dass gar keine Sonne mehr durchkam.

_MG_0708

_MG_0717

Node.js – Python Bridge

Die Methode aus dem letzten Beitrag Daten von meinem Pythonskript mit zerorpc in mein Node.js-Skript zu bekommen hat zwar im Endeffekt irgendwie funktioniert, nur gab es das Problem, dass es wenn ich die Skripte eine Weile laufen lies irgendwann aufgehört hat die Daten weiterzuleiten. Da ich sowieso nicht wirklich zufrieden mit der Methode war, habe ich gar nicht mehr nach dem Problem sondern gleich nach einer anderen Lösung gesucht, die ich dank John Hobbs jetzt auch habe. Auf der Suche nach Beispielen für UNIX Sockets habe ich diesen Artikel gefunden, nach einem Kommentar, hat er ihn gleich noch um einen Node.js-Server ergänzt, was jetzt auch ohne Probleme funktioniert.

import RPi.GPIO as GPIO
import os, os.path
import socket

GPIO.setup(27, GPIO.IN)

def node_bridge(command):
    if os.path.exists( "/tmp/python_node_bridge" ):
        client = socket.socket( socket.AF_UNIX, socket.SOCK_STREAM )
        client.connect( "/tmp/python_node_bridge" )
        client.send( command )
        client.close()
    else:
        print "Couldn't Connect!"

def switchview(27):
    node_bridge("switchview")

try:
    GPIO.add_event_detect(27, GPIO.FALLING, callback=switchview, bouncetime=600)
    while 1:
        time.sleep(100)
var io = require('socket.io').listen(1234);
var net = require('net');

var server = net.createServer(function(python_bridge) {
  python_bridge.on('data', function(data) {
    if(data.toString() == "switchview") {
      io.sockets.emit('switchview');
    }
  });
});
server.listen("/tmp/python_node_bridge");
var socket = io.connect('http://localhost:1234');
view = "view1";

function switchview() {
  if (view == "view1") {
    $('#view1').fadeOut(700);
    $('#view2').fadeIn(700);
    view = "view2"
  } else if (view == "view2") {
    $('#view2').fadeOut(700);
    $('#view1').fadeIn(700);
   view = "view1"
  }
};

socket.on('switchview', function () {
  switchview();
});

Diese drei Code-Schnippsel schalten nun nach dem Drücken eines Tasters zwischen zwei verschiedenen Ansichten hin und her, zeigen also unterschiedliche Informationen auf dem Spiegel an.
Das Pythonskript überwacht den GPIO-Pin und wartet darauf, dass die 3.3V Spannung auf 0V abfällt. Passiert das schickt es eine Nachricht an mein Node.js-Skript, welches diese an die Benutzeroberfläche weiterleitet und dort eine Funktion auslöst, die zwischen den Ansicht wechselt.

Python Unklarheit

Vielleicht hat hier ja irgendjemand ein bisschen mehr Ahnung von Python als ich – vermutlich nicht sonderlich schwer – und kann mir daher erklären, wieso das erste Skript nicht funktioniert, das Zweite hingegen schon. Biteule und ich sind nur soweit gekommen, dass es wohl irgendwas mit dem Threading der GPIO-Callbacks zu tun haben muss aber was jetzt genau das Problem ist, verstehen wir beide nicht. Es ist nicht so, dass zerorpc im ersten Skript beim Aufruf nicht vorhanden ist, immerhin kann es einen Fehler ausgeben (LostRemote: Lost remote after 10s heartbeat), wieso also macht es trotzdem einen Unterschied, an welcher Stelle ich es importiere?

import RPi.GPIO as GPIO
import time
import zerorpc

nodebridge = zerorpc.Client()
nodebridge.connect("tcp://127.0.0.1:4242")

GPIO.setmode(GPIO.BCM)
GPIO.setup(27, GPIO.IN)

def switchview(switchview_taster):
    nodebridge.switchview()

try:
    GPIO.add_event_detect(27, GPIO.FALLING, callback=switchview, bouncetime=600)
    while 1:
        time.sleep(100)
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(27, GPIO.IN)

def switchview(switchview_taster):
    import zerorpc
    nodebridge = zerorpc.Client()
    nodebridge.connect("tcp://127.0.0.1:4242")
    nodebridge.switchview()

try:
   GPIO.add_event_detect(27, GPIO.FALLING, callback=switchview, bouncetime=600)
   while 1:
      time.sleep(100)
var io = require('socket.io').listen(1234);
var zerorpc = require("zerorpc");

var pythonbridge = new zerorpc.Server({
  switchview: function(reply) {
    io.sockets.emit('switchview');
    reply(null);
  }
});

pythonbridge.on("error", function(error) {
  console.error("RPC server error:", error);
});

pythonbridge.bind("tcp://0.0.0.0:4242");

UPDATE 12.02.15 – 14:51:

Der magische Spiegel – EMV Störungen

Kleines Zwischenupdate! Mein Onkel hat mir ein Spiegelmuster besorgt, so sieht das ganze mit Glas davor aus 🙂
Spiegelmuster

Wie es aussieht, habe ich ein paar Probleme mit der elektromagnetischen Verträglichkeit meiner Komponenten…
Ich habe vor kurzem einen Taster zum herunterfahren des Spiegels eingebaut, der folgendermaßen funktioniert: Ein GPIO-Pin ist ständig auf 3.3V gesetzt, wenn ich den Taster drücke, wird der Pin geerdet und geht auf 0V. Ein Pythonskript bemerkt das und fährt den Raspberry herunter. Seltsamerweise passiert das auch jedes mal, wenn der Bewegungsmelder meinen Monitor anschaltet. Ich dachte zunächst irgendetwas stimmt mit meiner Schaltung nicht und überlegte daher, zusammen mit meinem Onkel, wie die 230V des Monitors den Pi über das Relais beeinflussen könnten. Eine andere Überlegung war, dass der Monitor zuviel Strom zieht und deswegen irgendwie kurz die 3.3V zusammenbrechen- wieso auch immer – da es, wie ich später bemerkt habe, auch passiert, wenn ich den Monitor nicht über das Relais anschließe.

alte Lampe
Gerade habe ich dann aber diese alte Lampe geholt, da ich etwas Licht gebraucht habe, um richtig beurteilen zu können, wie es sich mit der Reflektivität und der Durchlässigkeit verhält, wenn man den Spiegel normal verwendet. Naja. Mit dem, was dann passiert ist, habe ich nicht so ganz gerechnet…
Jedes mal, wenn ich die Lampe entweder ein oder aus schalte (und sie an einer bestimmten Stelle steht), geht der Monitor für 2 Sekunden aus, auf den Raspberry Pi, scheint sie keine Auswirkung zu haben aber es würde nahe liegen, dass es sich bei dem anderen Problem, um etwas ähnliches handelt…

UPDATE 22:22
Ich habe noch ein bisschen mit der Lampe oder besser ihrem Kabel experimentiert. Wenn ich das Kabel über den Pi hänge, passiert beim Anschalten das Selbe, wie beim Einschalten des Monitors. Es liegt also vermutlich tatsächlich an irgendwelchen Abstrahlungen der Stromkabel.

Der magische Spiegel – Raspberry Pi

Ich bin momentan mit einem kleinen Projekt beschäftigt und dachte ich schreibe daher einfach mal wieder einen Artikel! 🙂

In meinem Zimmer steht seit geraumer Zeit ein DVI-Monitor herum. Er war von Anfang an mit einem Raspberry Pi verbunden aber hatte immer wieder wechselnden Aufgaben. Zu beginn hatte ich eine XBMC Installation darauf und benutzte den Bildschirm zum Filme schauen und Musik hören mit meiner Anlage. Danach hatte ich mal den Plan ihn als Informationskiosk einzusetzen, irgendwann fand ich es dann aber doch etwas seltsam und unnötig ein Display herumstehen zu haben, das nur Informationen anzeigt (mal abgesehen davon, dass ich sowieso nicht wirklich wusste, was ich darauf eigentlich anzeigen sollte), also funktionierte ich das Setup wieder in ein Mediencenter um.

Vor kurzem habe ich dann – auf der Suche nach Raspberry Pi Projekten – den „Magischen Spiegel“ von Michael Teeuw wiederentdeckt und ganz spontan beschlossen mir auch so einen zu bauen. Ich habe also das Gehäuse des Monitor auseinandergeschraubt und angefangen zu überlegen, wie ich den Pi am besten darauf unterbringen konnte, an Michaels Interface habe ich auch noch ein bisschen etwas verändert. Das Original zeigte zufällige Komplimenten aus einer Liste, da ich aber eher Tageszeit bezogene Texte wollte, habe ich diese Funktion noch schnell eingebaut (meine erste Git-Pull-Requests; yeah!).

Ich hatte ein bisschen bedenken einen Bildschirm im Zimmer zu haben, der rund um die Uhr läuft, selbst, wenn keiner da ist, der überhaupt darauf schauen könnte, also habe ich mir ein Relais und einen Bewegungsmelder bestellt und ein kleines Pythonskript geschrieben, das den Monitor nur anschaltet, wenn sich auch etwas bewegt; Jonathan vom Studio Einz hat mir währenddessen den benötigten Mini-Schaltkreis zusammengelötet, der, mit den ca. 3 Volt der GPIO-Pins, den 5V Stromkreis für das Relais aktiviert (Man beachte die wunderschöne LED! Wir hatten leider keine Diode zur Hand :D)

Transistor Board

Relais

Bewegungsmelder

Raspberry Pi

Was manche FRITZ!Box Besitzer eventuell wissen: Die Box besitzt einen Anrufsmonitor, den man zum Beispiel per Node.js (sehr praktisches Modul dafür!) abfragen kann. Die eingehenden Anrufe leite ich mithilfe von Socket.IO an das Webinterface des Spiegels weiter, welches dann diese wunderschöne Meldung anzeigt:

Anruf

Eine Meldung, die mich darauf hinweist, wenn jemand an der Tür klingelt, existiert im Code auch schon, bevor der funktioniert, muss ich aber erst noch die Klingel an die FRITZ!Box anschließen. Soweit zu meinem momentanen stand. Jetzt brauche ich noch den Spiegel und ein Gehäuse für das Ganze.

Ah! Falls jemand eine Idee haben sollte, was man noch so sinnvolles auf einem Spiegel anzeigen könnte: Immer her damit!

Ein aufmerksamer Autofahrer

Es ist ein Ewigkeit her, seitdem ich das letzte Mal etwas auf diesem Blog veröffentlicht habe aber mir ist gerade etwas passiert und da dachte ich, dass ich das mal wieder aufschreiben könnte. Ich bin joggen gewesen, wobei ich die meiste Zeit über vermutlich eher gemütlich laufen war und die Sterne beobachtet habe. Neben dem Radweg auf dem ich mich befand, ist eine normale Straße, immer mal wieder fuhr also vereinzelnd auch mal ein Auto vorbei. Eines viel mir besonders auf, es war etwas älter und daher lauter aber bei dieser Besonderheit blieb es nicht. Als es an mir vorbei war, hörte ich auf einmal das quietschen von Rädern hinter mir, ich fragte mich, was jetzt plötzlich los sei und drehte mich um, das Auto hatte eine Vollbremsung gemacht und fuhr jetzt ganz schön schnell Rückwärts zurück auf mich zu. Ich dachte zunächst, da sind ein paar Jugendliche am Werk, die ihr Auto ein bisschen ausreizen wollen aber, dass es dann auf einmal auf mich zukam fand ich schon etwas eigenartig, vor allem als es neben mir zum stillstand kam. Im Auto saß ein junger Mann (ich bin schlecht im Alter schätzen: 20-30), vom Wortlaut fragte er mich dann in etwa folgendes:

Was geht bei dir? Alles in Ordnung?

Ich bejahte seine Frage und meinte, ich würde nur noch etwas laufen. Er „ok”, und fuhr wieder weiter. Irgendwie hat ich das gerade ganz schön berührt. Es ist schön, dass es noch Menschen gibt, die auf ihre Umgebung achten und fragen, ob alles in Ordnung ist.

Schreiben

Ich denke sehr zwischspältig über das Schreiben. Ich liebe es Welten zu erschaffen und sie niederzuschreiben und zur selben Zeit hasse ich es.
Meiner Meinung nach gibt es zwei verschiedene Arten von Ereignissen innerhalb eines fiktionalen Textes:

  1. Geschehnisse, bei deren Planung man sich schon auf den Tag freut, an dem man sie endlich in Worte fassen darf.
  2. Geschehnisse, die man niederschreiben muss, obwohl man sie hasst, aus dem einfachen Grund keine Lügen, sondern die gesamte Wahrheit erzählen zu wollen. Es sind Ereignissen, die man zu Papier bringt, weil sie notwendig sind, und nicht weil man sie besonders gerne hat. Die größte Qual dabei ist immer die erneute Überarbeitung am Ende, denn eigentlich schreibt man diese Teile der Geschichte nur, um wieder zu denen des 1. Punktes zu gelangen.

Schreiben ist eine wunderschöne Tätigkeit, die ich wirklich gerne ausübe, aber trotzdem kostet sie mich zum Teil eine irre Überwindung.
Im Grunde ist es genauso wie auch mit dem Leben. Manchmal erleben wir Zeiten, die wir am liebsten überspringen würden, weil sie uns wehtun oder langweilen, uns bleibt dann nichts anderes übrig, als zu kämpfen – in der Gewissheit, dass irgendwann auch wieder Angenehmeres auf uns zukommen wird und zwar genau diese Art von Ereignissen, die unser Leben erst so wertvoll machen.

Religionsunterricht an Schulen

Gut möglich, dass ich mir mit folgendem Beitrag einige Kritik einheimse, aber ich möchte dieses Thema jetzt einfach mal ansprechen, da es mir persönlich sehr wichtig ist.

Meiner Meinung nach hat Religionsunterricht absolut gar nichts an einer Schule zu suchen. Ich vertrete die Meinung Schulen sollten dafür da sein, Wissen weiterzugeben und keinen Glauben. Natürlich ist der Glauben der Menschen auch ein Teil unseres Wissens, daher muss ich meine erste Aussage noch etwas genauer Aufschlüsseln. Ich hätte zum Beispiel kein Problem damit, wenn man Religion als sachliches Thema angehen würde, doch leider geschieht dies nicht. Unter einem sachlichem Angehen verstehe ich, dass man nicht nur eine Religionslehre unterrichtet, den Schülern einredet nach dieser zu leben, und alles andere als falsch deklariert, was bei uns in Arbeiten, trotz richtiger Argumentation, leider durchaus vorkommt, sondern ihnen einfach völlig allgemein zeigt, an was die Menschen auf dieser Welt glauben. Ein solcher Unterricht ließe sich mit dem eigentlichen Ziel einer Schule, das Wissen der Welt und nicht irgendwelche Theorien zu vermitteln, ohne Probleme in Einklang bringen. Obwohl ich kein bisschen Gläubig bin, sehe ich durchaus etwas gutes in Religion, insofern sie nicht von der Kirche missbraucht wird, kann sie Menschen Trost spenden und sie auf einen moralisch richtigen Weg führen. Wichtig dabei ist nur, dass sie eine freiwillige Entscheidung sein sollte, ohne jeglichen Einfluss der Familie und erst recht nicht der Schule. Dies ist auch der Grund, wieso ich nicht mehr am Religionsunterricht teilnehme und stattdessen in Ethik gewechselt bin. Hier habe ich die Möglichkeit zu sagen, was ich glaube und denke, ohne irgendwelche vorgeschriebene Regeln zu beachten, deren Abweichung automatisch alles, was ich sage, ungültig machen. Wir haben dort die Möglichkeit über alle Religionen zu reden, uns selbst ein Bild zu machen und zu entscheiden, was wir glauben wollen.

Glaube ist letztlich eben nur, was auch der Name schon sagt, eine Vermutung und weiter nichts. Er ist keine feststehende Tatsache und sollte demnach auch nicht wie eine unterrichtet werden.

Fiktion, und damit zum Beispiel lesen, eröffnet einem die unterschiedlichsten Perspektiven auf diese Welt und deren Bewohner. Sie hilft einem dabei andere Menschen besser zu verstehen und gerechtere, sowie differenziertere Entscheidungen im alltäglichen Leben zu treffen.

« Ältere Beiträge Neuere Beiträge »

Copyright © 2017 MeType

Theme von Anders Norén↑ ↑