« Back to home

Philips Hue & Ambilight

DSCF2494

Ich habe mir kürzlich ein Set aus drei Philips Hue Lampen zur Wohnzimmerbeleuchtung besorgt. Diese kommunizieren über ZigBee mit einer Zentrale, die an das lokale Ethernet angeschlossen wird. Zum Steuern der Hue stellt Philips zwei Apps zur Verfügung. “Philips Hue” dient dazu, Presets zu definieren und durch Auswahl die Lampen entsprechend umzukonfigurieren. Das Interface ist etwas gewöhnungsbedürftig - funktioniert aber insgesamt ziemlich gut. Dann gibt es noch die App “Ambilight+hue”, die die Verbindung zwischen dem Ambilight und den Hue-Lampen herstellt. Hier lässt sich konfigurieren, wo die Lampen im Raum stehen und anschließend können sie die Ambilight-Farben annehmen, die dazu räumlich passen. Das Ganze hat allerdings zwei Nachteile. Einerseits muss das Handy/Tablet die ganze Zeit als Gateway aktiv sein und der Akku wird in kürzester Zeit leergenuckelt. Aus unerklärlichen Gründen läuft die Kommunikation nicht direkt zwischen Fernseher und Lampen. Außerdem sind die Latenzen relativ hoch (ich schätze zwischen 1 und 2 Sekunden), was den Effekt bei schnellen Action-Szenen zunichte macht. Jetzt drängt sich natürlich geradezu die Frage auf, wie man diese Lampen selbst steuern kann.

Read more »

MISRA-C

“Hupsi. Da hab ich wohl den Call auskommentiert. So löst das ESP nicht aus. Hihi.” - “Oh Mist. Na dann lass uns doch statische Codeanalyse machen!”

MISRA-C

MISRA-C ist ein C-Programmierstandard aus der Automobilindustrie, der von der MISRA (Motor Industry Software Reliability Association) erarbeitet wurde. Der erste MISRA-Standard für die Programmiersprache C "MISRA C" wurde ursprünglich 1998 definiert.

Aus der Kategorie “Wikipediaartikel, die einen nach dem Lesen nicht mehr ruhig schlafen lassen”.

Read more »

Schäfchen zählen mit Java

Schlafen Schlafen mit Java ist so eine Sache. Die Methode, die einem dazu am häufigsten über den Weg läuft ist: Thread.sleep(long milliseconds) Das funktioniert im Prinzip erstmal recht gut. Man kann Millisekunden angeben, was für meinen Anwendungsfall auch ausreichen würde. Das Problem ist nur, dass Schlafen im einstelligen Millisekunden-Bereich unter Windows (mindestens unter Windows XP) nicht funktioniert. Schläft man dort zyklisch für 5 Millisekunden so kehrt der Aufruf beispielsweise zwei Mal sofort zurück und schläft danach deutlich länger als 5 ms. Thread.sleep() ist dort also für kurze Zeiten nicht brauchbar.…

Read more »

Morsen mit AVRTelegraph

Ich fahre im Sommer als Betreuer auf ein Kinderzeltlager mit (Plätze sind übrigens noch frei - falls ihr Kinder im passenden Alter kennt schlagt das doch mal vor; es wird sicher großartig). Das Thema ist “Western” und einer der Gegenstände, an die ein Geek dabei denkt sind Telegrafen und der Morsecode. Wir wollen mit den Kindern selbst kleine Sender und Empfänger bauen. Auch in die Rahmenspielhandlung wurden Telegrafen integriert und es werden aus zwei “benachbarten Städten” gleichzeitig Telegramme ankommen, die von den Zeltgruppen entschlüsselt werden sollen. Das Problem ist jedoch, diese zu generieren. Dass zwei Betreuer gleichzeitig und wiederholt Telegramme senden scheint ziemlich aufwändig und ist außerdem fehleranfällig. Dabei ist das doch eine Aufgabe, für die sich Mikrocontroller geradezu aufdrängen. Daher habe ich eine kleine Bibliothek für 8bit Atmel-Controller geschrieben, die morsen kann.

Read more »

Git Repositories mit mehreren Nutzern

Wenn man ein zentrales git Repository verwendet initialisiert man dieses meistens mit $git init –bare Repo.git

Das klappt bei einem einzigen User wunderbar und man kann arbeiten wie gewünscht. Wenn es dann mal mehr Nutzer werden sollen muss man zunächst eine Gruppe anlegen (ich nehme ‘git’) und dann die Nutzer der Gruppe hinzufügen: $groupadd git $useradd user2 $usermod -G git -a user2

Dann kann man in sein Repository gehen und die Gruppe der Dateien ändern: $cd Repo.git $chown -R git *

Read more »