Neue Software für den C16
Umstellung des Blogs auf CraftCMS (Randnotiz)
Erweiterung des Retropie um Festplatte, Raspberry 4, multi Boot und Lüfter
Tastenbelegung für den Vice Emulator für C16/C64 und einem Xbox Controller
Nach Rsync, Anysync nun Syncthing!
Heizungssteuerung für eine Fußbodenheizung mittels Linux (Rasbpian) auf dem Raspberry PI mit Openhab Anbindung.
Den Vice Emulator für den C16 (Plus 4) auf dem Retropie hinzufügen
Amiga Amiberry Emulator mit XBox Controller unter RetroPie einrichten
Um Bilder und Videos langfristig zu speichern komprimiere ich diese mit einem kleinen Skript.
Nach Einführung von UnitTest in die Softwareentwicklung im Rahmen der Kontinuierlichen Integration (Continuous Integration) auf der Arbeit fand ich schnell gefallen daran eine Continuous Integration Ampel zu bauen. Diese sollte über das Netzwerk vom Development Server angesprochen werden können, und den aktuellen Build Status optisch (optional Akkustisch) anzeigen.
Da für mich die Verwendung eines kompletten Mini PCs wesentlich einfacher zu implementieren ist, als die Steuerung in Hardware zu relisieren griff ich zu dem BeagleBoard-xM, einem sogenannten „Einplatinen-Computer“. Dieser besteht aus einem ARM Prozessor und aller für den Betrieb notwendigen Schnittstellen, darunter Ethernet, USB und DVI. Die Platine wird mit betriebsfähigen installiertem Linux verkauft, und enthält einen grafischen Desktop.
Da ich auf der Arbeit und Privat fast ausschließlich mit Kubuntu arbeite (mit Linux seit etwa dem Jahr 2000), installierte ich Ubuntu 12.04 Precise Pengulin für ARM auf dem Board, um identische Arbeitsumgebungen zu haben.
Da ich zurzeit hauptsächlich in PHP Programmiere, und es entgegen seinem Ruf auch möglich ist in PHP ordentlich zu Programmieren (Bitte keine Diskussionen über Typsicherheit usw. - ich spreche auch einige andere Sprachen und bin mir dessen Vorteile bewußt), habe ich das Projekt in PHP umgesetzt.
Ich hatte eine sogenannte Lärmampel zur Verfügung, welche ich von der alten Elektronik befreite (Leider ist Lärm sehr Subjektiv, so dass die Ampel ihren Zweck nicht erfüllte). In dieser Montierte ich drei Plastikschrauben mit Epoxidharz am Gehäuse befestigt wurden, und dann das BeagleBoard fixierten.
Das Board wurde so gedreht, dass der Ethernet RJ45 Stecker nach unten zeit, über welches die Ampel ans Netzwerk angeschlossen werden kann.
Über ein kleines Hilfskript, können die Farben der die Ampel nun direkt gesetzt werden. Dieses Skript wird vom Unittest direkt aufgerufen und zeigt den Status des Build direkt an.
<?php
/**
* Ampelstatus setzen
*
* @param $status neuer Ampelstatus - Binärkdiert Bspl.: 100 = Rot an, Orange aus, Grün aus
*
* @author Thomas Eimers <notdefine@gmx.de>
*
*/
error_reporting(E_ALL);
if (empty($_REQUEST['status'])) {
die('invalid parameter');
}
require_once('InterfaceGpio.class.php');
$interface=new InterfaceGpio();
$status=$_REQUEST['status'];
$interface->setPort('green', (bool)$status[2]);
$interface->setPort('orange', (bool)$status[1]);
$interface->setPort('red', (bool)$status[0]);
?>
Article Relase Date: / Last Update: