MeType

Page 2 of 6

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

The method I used to transfer information from my Python script over to my Node.js script by using zerorpc kind of worked but every time the scripts were running for some time they suddenly stopped transferring my data for no apparent reason. Since I wasn’t really a fan of the way I setup the connection in the first place, I didn’t bother finding a solution for my problem and directly started looking for a different way altogether and thanks to John Hobbs I found one. Searching for examples on how to use UNIX sockets I found this article  and after I left a comment on his blog, John Hobbs quickly added a socket server written for Node.js, which could then successfully communicate with my Python script.

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();
});

These three pieces of code switch between different views for displaying different kind of information on my mirror UI after pressing a Button.

The Python script monitors the GPIO-Pin and waits for the 3.3V to drop to 0V, it then sends a message to my Node.js script, which sends a message to the web interface where the different views are then triggered by a JavaScript function.

Python Uncertainty

Maybe one of my readers is a bit more experienced when it comes to Python – probably not that hard – and can explain to me why my first script does not work and the second one on the other hand does. Biteule and I only came as far as to suspect, that it has something to do with the threading of the GPIO-callbacks but what exactly the problem is neither of us understands. It’s not like zerorpc is not imported and available in the first script when it gets executed, after all it is able to throw an error (LostRemote: Lost remote after 10s heartbeat), so why does it make a difference where I import the module?

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:

The Magic Mirror – EMC interference

Quick Update! My uncle got me a mirror sample, so this is how the whole thing looks with glass in front of it 🙂
Spiegelmuster

As it seems my components interfear somehow and influence each other… I recently added a button to shutdown the mirror. It works by constantly setting a GPIO-pin to 3.3V, pressing the button grounds the pin and draws the voltage to 0V. A Python script registers this change and shuts down the OS. Strangely this also happens if the motions sensor enables the monitor. At first I assumed there might be something wrong with my circuits, so my uncle and I thought about how the 230V from the monitor could influence the Pi over the relays. Another guess was, that the monitor drains to much power at startup and with that collapses the 3.3V for a really short amount of time. Later I realized that this was also happening if I connected the monitor directly to a power outlet without the relay in-between.

alte LampeI just picked up this old lamp, because I needed some light to correctly judge how reflective the mirror actually was when used normally.  Well, I didn’t quite expect what happened next… Turning on (and off) the lamp (when placed a certain points near the other components) turns of the monitor for about two seconds. It does not seem to influence the Pi though but probably something similar is going on with the shutdown triggers.

UPDATE 22:22

I experimented a bit further with the lamp or to be precisely with its power cable. If I place the lamp’s cable over the Pi, the same thing happens, as if I turn on the monitor, a shutdown gets triggered as soon as the lamp is turned on or turned off. The problem therefore probably really is some kind of electromagnetic radiation.

The Magic Mirror – Raspberry Pi

I recently started a new projected, which of course is a great reason to write an article about it!

I had a DVI-monitor laying around in my room for quite a considerable time now. It was always connected to my Raspberry Pi with ever changing functionality. In the beginning I used it as a XBMC media center to watch movies and listen to music on my stereo. After that I wanted to use it to display useful information but found it strange pretty quickly to have a monitor standing around just to display information. Besides I didn’t even know what kind of information to show on it, so I again used it as a media center again.

Some time ago – while searching for interesting Raspberry Pi projects – I rediscovered the “Magic Mirror” build by Michael Teeuw and spontaneously decided to build one myself. I then found my self dissembling the monitors housing and starting to think how to best accommodate the Pi in this setup. I also changed some bits of Michaels original interface, from showing the same compliments in the UI all day to showing compliments based on the time of the day (my first Git-Pull-Requests; yeah!).

I didn’t really like the idea of having a monitor in my room, running 24/7 even if no-one was present who could actually look at the screen, so I ordered a relay and a motion sensor and wrote a small Python script to turn the monitors power only on when someone is in the room. Jonathan from Studio Einz helped me build this small circuit to switch the relay’s 5V circuit with the 3V from the Pi’s GPIO-pin’s. (Look at that fancy LED! We sadly didn’t have a diode so the LED had to do the trick :D)

Transistor Board

Relais

Bewegungsmelder

Raspberry Pi

Some users of the FRITZ!Box (a German internet router and phone system) may know: The device has a build in call monitor, which is easily read for example with Node.js and this handy module. Incoming calls then get redirected  to the web interface trough Socket.IO, which further displays this nice alert.

Anruf

There also is a feature to alert me when someone is ringing at the door in my code but before that’ll work I first have to connect my bell to the FRITZ!Box. Now I just need an actual mirror and a housing for the project.

Oh! If someone has an idea what else I could display on the mirror: I am listening!

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.

Die Reise eines Wassertröpfchens

Meine Klasse bekam Gestern auf einem Arbeitsblatt folgende Aufgabe:

“Schildere die Geschichte eines Wassertröpfchens, das im indischen Ozean verdunstet und in Richtung Norden verdriftet wird.”

Ich habe dann so ziemlich die gesamte restliche Stunde, die Geschichte eines Wassertropfens aufgeschrieben, auch wenn die Aufgabe vermutlich nicht ganz so gemeint war, hat es irgendwie Spaß gemacht.

Es war einmal in einem kleinen Teil des indischen Ozeans, dort schwamm ein Wassertröpfchen, umgeben von seinen Freunden. Es besaß nicht viel aber es genügte um ein erfülltes Dasein zu genießen. Doch dann an einem Tag, der begann, wie jeder andere auch, sollte sich alles ändern. Unser Tröpfchen, das im übrigen Tröpfel hieß, war gerade unterwegs zu seiner täglichen Säuberungen durch einen der Filter, die irgendwie ins Meer gelangt waren, als es plötzlich fühlte wie etwas an seinem äußeren zu schwingen begann und sich langsam bis in seine innersten Moleküle vorarbeitete. Es fühlte sich, als würden die Atome, aus dem es bestand, einzeln aus ihm heraus gerissen werden. Es schrie, es hatte Angst. Nach einiger Zeit lies der Schmerz abrupt ab. Es wollte Prüfen, ob mit seinem Körper noch alles in Ordnung war, doch es fand keinen mehr. Es sah zu, wie er sich von seinen Freunden entfernte, begann langsam zu schweben, versuchte sich irgendwo festzukrallen; vergeblich. Es driftete weiter ab, stieg immer höher, bis seine Freunde endgültig verschwunden waren. Tröpfel war am Boden zerstört. Es war nicht genug gewesen seinen Körper zu verlieren, nein, das Tröpfchen verlor alles, was ihm jemals etwas bedeutet hatte. Es schwebte eine halbe Ewigkeit weiter nach oben, als es auf einmal etwas hörte. Es klang seltsam, beinahe wie Stimmen, aber wie konnte das sein? Die Stimmen wurden immer lauter und auf einmal nahm die Sichtweite immer weiter ab, bis es schließlich vollständig in Nebel gehüllt war. Es war umgeben von seines gleichen, umgeben von denjenigen, denen das gleiche Schicksal widerfahren war.
Tröpfel dachte immer noch sehr oft an seine alten Freunde, auch wenn seit seinem verschwinden bereits einige Zeit vergangen war. Man muss wissen, dass das Zeitgefühl und die Lebenserwartungen von Wassertropfen nicht etwa der, der Menschen entsprechen; so kann schon ein Tag im Leben eines Wesens wie unserem Tröpfchen, ihnen wie eine halbe Ewigkeit vorkommen. Wie auch immer, Tröpfel hatte wieder einige neuer Freunde gefunden und auch an sein neues, körperloses leben gewöhnte es sich allmählich.
Die nächste Veränderung sollte sich an einem Morgen, so unscheinbar, wie auch schon der Tag seines Verschwindens, ereignen. Es war gerade erst aufgewacht, als es plötzlich ein seltsames kribbeln verspürte, dort, wo vor einiger Zeit noch sein Körper gewesen war. Es fühlte sich immer schwerer und als es an sich herunterschaute, bemerkte es, dass auf wundersame weise sein Körper wieder aufgetaucht war. Erst freute es sich, wie schon lange nicht mehr, doch dann riss es urplötzlich nach unten. Es schwebte nicht mehr, es stürzte, in einer Geschwindigkeit, die sich nicht Beschrieben lässt, man müsste sie schon selbst am eigenen Leibe erfahren, um sie begreifen zu können. Es fühlte sich immer steifer und unbeweglicher, was nicht, wie es zuerst dachte, an der unglaublichen Geschwindigkeit lag, sondern an der Kälte; es gefror, konnte sich nicht mehr bewegen und krachte nach einigen weiteren Sekunden, die ihm vorkamen wie Jahre auf etwas hartes. Es zersplitterte und verlor das Bewusstsein.
Stimmen. Lauter werdende Stimmen. Bekannte Stimmen. Tröpfel erwachte und erkannte seine Freunde, die er seit seinem Aufsteigen in den Himmel nicht mehr gesehen hatte. Das Tröpfchen, bzw. seine Überbleibsel, waren noch eine ganze Weile auf dem harten etwas, auf dem es aufgekommen war gelegen. Irgendwann ist es dann aber, da es wärmer geworden war, aufgetaut und in den Ozean gerollt. Seine Bruchstücke hatten sich wieder zu einem Ganzen zusammengefügt. Die Natur hatte, wie es scheint, nicht nur ihn an einen anderen Ort verschlagen, die Meeresströmung hatte auch seine Freunde bewegt, und somit ihre Wiedervereinigung ermöglicht.

Das Ende ist, vor allem von den Formulierungen, etwas seltsam, ich weiß.

« Older posts Newer posts »

Copyright © 2019 MeType

Theme by Anders NorenUp ↑