seeseekey.net - Invictus Deus Ex Machina

Plex ist ein mächtiger Medienserver, welcher ohne größere Probleme auch auf dem Raspberry Pi betrieben werden kann. Vor allem die Version 3 des Raspberry Pi macht hier keinerlei Probleme. So gibt es unter anderem Distribution für die Installation eines Plex Clients wie z.B. RasPlex. In diesem Artikel soll es um die Installation des Plex Media Server auf dem Raspberry Pi gehen. Dafür benötigt man die Version für ARMv7 and ARM64, welche von einigen Studenten der Universität Leipzig bereitgestellt wird. Nachdem man sich im Terminal auf dem Raspberry Pi per SSH eingeloggt hat, müssen die neuen Paketquellen aktiviert werden:

wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key  | sudo apt-key add -
echo "deb https://dev2day.de/pms/ jessie main" | sudo tee /etc/apt/sources.list.d/pms.list
apt-get update

Anschließend kann das Paket installiert werden:

apt-get install plexmediaserver

Wenn man nach der Installation versucht das Plex Media Server-Interface im Browser aufzurufen wird unter Umständen feststellen das dieses nicht erreichbar ist. Hier handelt es sich wohl um einen Bug. Der Workarround für diesen Bug ist ein Neustart des Raspberry Pi.

Die Plex-Einrichtung kann beginnen

Anschließend kann der Plex Media Server über die URL:

http://raspberrypi.local:32400/web/index.html

aufgerufen werden.

Befindet man sich in Minecraft im Kreativmodus so kann man, mittels der doppelten Betätigung der Space-Taste, fliegen. Die Fluggeschwindigkeit ist in vielen Fällen ausreichend, kann aber bei längeren Strecken ziemlich behäbig wirken.

Die Welt von Minecraft aus der Vogelperspektive

Wenn man nun eine Möglichkeit sucht in Minecraft schneller zu Fliegen wird man auf den ersten Blick keine finden. Allerdings ist es mit einem kleinen Trick trotzdem möglich schneller zu fliegen. Dazu muss die Figur sich auf dem Boden auf einer ebenen Fläche befinden. Auf dieser Fläche fängt man an zu sprinten (zweimal schnell hintereinander auf die Vorwärtstaste (W) drücken) und drückt währenddessen doppelt auf die Space-Taste. Nun fliegt man mit knapp doppelter Geschwindigkeit als gewöhnlich. Hierbei muss beachtet werden, dass sobald man die Vorwärts-Taste loslässt der Geschwindigkeitsboost ebenfalls verloren ist.

Die seit einigen Jahren in iOS integrierte Aktivierungssperre schützt das Gerät im Falle eines Diebstahles. Allerdings sollte diese entfernt werden bevor das Gerät verkauft oder anderweitig weitergegeben wird. Seit iOS 10.3 hat sich das Verhalten zur Deaktivierung der Aktivierungssperre gegenüber älteren Versionen leicht geändert.

Nach der Bestätigung wird das Gerät abgemeldet

Zur Deaktivierung der Aktivierungssperre auf dem Gerät müssen die Einstellungen geöffnet werden und dort auf den Namen (erster Eintrag in den Einstellungen) geklickt werden. Auf der rechten Seite findet sich unten nun der Button Abmelden. Die Abmeldung muss mit dem Apple-ID-Passwort bestätigt werden und anschließend wird die Aktivierungssperre für das Gerät deaktiviert.

Vor vielen Jahren spielte ich mein erstes Point & Click Adventure mit dem Namen Maniac Mansion auf dem Commodore 64. Leider bin ich in all der Zeit nicht dazu gekommen den Nachfolger Day of the Tentacle zu spielen. Dank der Remastered Version, welche unter anderem für iOS erschien, konnte ich das nun endlich nachholen.

Das Tentakel will die Weltherrschaft an sich reißen

Die Geschichte des Spieles ist schnell erzählt. Das lila Tentakel trinkt giftige Industrieabfälle und mutiert dadurch und möchte plötzlich die Weltherrschaft an sich zu reißen. Dabei spielt man nicht nur in der Gegenwart, sondern auch in der Zukunft und der Vergangenheit und muss die Ereignisse so ändern das man schlussendlich, durch die geschickte Manipulation der Zeitlinie, zum Ziel kommt. Im Original Day of the Tentacle gab es bei Ed einen Computer auf dem man den Vorgänger Maniac Mansion spielen konnte. Auch auf der iOS-Version ist dieses Gimmick enthalten.

Der Computer bei Ed ermöglicht das Spielen von Maniac Mansion

Im Gegensatz zum Originalinterface, das in der Remastered-Variante ebenfalls genutzt werden kann, ist das neue Interface an die zeitlichen Gepflogenheiten von heute angepasst und lässt sich auch auf dem iPad gut spielen.

Wer auf der Suche nach einigen Stunden Ablenkung in der guten alten Zeit™ ist, der sollte sich Day of the Tentacle zu Gemüte führen.

Es reicht ein Moment der Unaufmerksamkeit und schon fällt das geliebte Smartphone in Zeitlupe in Richtung des harten Fußbodens. Danach ist das Display gebrochen oder das Gerät ist anderweitig beschädigt. Nun stellt sich die Frage wo man das ganze reparieren kann.

kaputt.de

Hierbei hilft die Seite kaputt.de. Auf der Seite, welche sie als Vergleichsportal für Reparaturlösungen versteht, kann man nach den entsprechenden Dienstleistern in der Umgebung suchen und die Preise miteinander vergleichen. Neben der Option das Gerät beim Dienstleister vorbeizubringen, gibt es in bestimmten Städten auch die Möglichkeit den Reparatur-Dienstleister zu sich nach Haus kommen zu lassen. Was man bei einer Reparatur allerdings berücksichtigen sollte, ist dass für bestimmte Geräte wie z.B. die Smartphones von Apple, keine Originalersatzteile auf dem Markt verfügbar sind und somit nur Ersatzprodukte verbaut werden können.

Nutzt man einen mobilen Mac so fragt man sich eventuell wie es mit dem eingebauten Akku aussieht. Die App coconut Battery kann diese Fragen beantworten. Die App liefert detaillierte Informationen über Ladezyklen, Seriennummer, Firmware des Akkus und darüber hinaus noch viele weitere Informationen.

Die Informationen über ein MacBook Air aus dem Jahre 2012

Neben der Auswertung des Akkus von macOS-Geräten, ist auch eine Auswertung von iOS-Geräten in der App möglich. Allerdings funktionierte diese Auswertung nicht, da dass iOS-Gerät nicht erkannt wurde. Heruntergeladen werden kann die kostenlose App über die Webseite des Herstellers.

Wenn man einen ESP8266 programmiert, so wird man dessen GPIOs nutzen um externe Dinge wie Sensoren oder ähnliches anzusteuern bzw. auszulesen. Versucht man das gleiche mit einem NodeMCU-Board wird man feststellen das die Pinbelegung des Boards nicht mit der vom ESP8266 übereinstimmt.

Das NodeMCU-Board in Version 3

Wenn man die Pinbelegung des NodeMCU-Boards mit der vom ESP8266 in Reinform vergleicht, ergibt sich folgendes Bild:

NodeMCU D0 zu ESP8266 16
NodeMCU D1 zu ESP8266 5
NodeMCU D2 zu ESP8266 4
NodeMCU D3 zu ESP8266 0
NodeMCU D4 zu ESP8266 2
NodeMCU D5 zu ESP8266 14
NodeMCU D6 zu ESP8266 12
NodeMCU D7 zu ESP8266 13
NodeMCU D8 zu ESP8266 15
NodeMCU D9 zu ESP8266 3
NodeMCU D10 zu ESP8266 1

Bei der Entwicklung über die Arduino IDE braucht man allerdings keine Sorgen machen. Wird hier das NodeMCU-Board genutzt, so findet man definierte Konstanten von D0 bis D10 um die NodeMCU-GPIOs direkt anzusprechen. Einige der Pins haben auf dem Board eine besondere Funktion:

D1 (I2C Bus / SCL (Clock-Signal))
D2 (I2C Bus / SDA (Datenleitung))
D4 (wie LED_BUILTIN, aber invertierte Logik)
D5 (SPI Bus SCK (Clock-Signal))
D6 (PI Bus MISO)
D7 (SPI Bus MOSI)
D8 (SPI Bus SS (CS))
D9 (Serielle Konsole RX)
D10 (Serielle Konsole TX)

Wenn man das Android Studio unter macOS installiert hat, wird man unter Umständen feststellen dass man es nicht ohne Rückstände wieder deinstallieren kann. Es reicht nicht die Android Studio App zu löschen, stattdessen müssen ein paar Ordner mehr angefasst werden. Wer es sich einfach machen möchte kann folgende Kommandos im Terminal eingeben:

rm -Rf /Applications/Android\ Studio.app
rm -Rf ~/.AndroidStudio*
rm -Rf ~/.gradle
rm -Rf ~/Library/Preferences/AndroidStudio*
rm -Rf ~/Library/Preferences/com.google.android.*
rm -Rf ~/Library/Preferences/com.android.*
rm -Rf ~/Library/Application\ Support/AndroidStudio*
rm -Rf ~/Library/Logs/AndroidStudio*
rm -Rf ~/Library/Caches/AndroidStudio*

Zusätzlich kann man die SDK-Tools und die virtuellen Maschinen für den Android Emulator löschen. Allerdings sollte man hier sicher sein, das sie von keiner anderen Anwendung wie z.B. dem Xamarin Studio noch benötigt werden:

rm -Rf ~/.android
rm -Rf ~/Library/Android*

Thunderbird verfügt seit vielen Versionen über eine globale Suche. Unter Umständen kann es passieren das diese Suche nicht mehr richtig funktioniert. Dies äußert sich in einer langsamen Suche oder dadurch das, sobald man Suchergebnisse aufruft, diese nicht mehr existent sind. Um diese Fehler zu beheben muss der globale Index neu aufgebaut werden. Dazu muss Thunderbird beendet werden und der Profil-Ordner aufgesucht werden. Je nach Betriebssystem liegt dieser in unterschiedlichen Ordnern:

Linux: ~/.thunderbird/xxx.default
macOS: ~/Library/Thunderbird/Profiles/xxxxxxxx.default/
Windows 2000/XP: C:\Dokumente und Einstellungen\%Benutzername%\Anwendungsdaten\Thunderbird\Profiles\xxx.default
Windows Vista/7; C:\User\%Nutzername%\AppData\Roaming\Thunderbird\Profiles\xxx.default

Im Profilordner befindet sich eine Datei mit dem Namen global-messages-db.sqlite. Diese Datei musst gelöscht werden. Anschließend kann Thunderbird wieder gestartet werden. Der Indizierungsvorgang wird dann neu begonnen. Den aktuellen Fortschritt der Indizierung kann unter Extras -> Aktivitäten angesehen werden. Je nach Größe des Profils kann die Neuindizierung einige Zeit in Anspruch nehmen.

Inspiriert vom Golem.de Temperatur im Büro-Projekt habe ich einen NodeMCU genutzt um die Temperatur zu messen. Auf der Teileliste stehen dabei folgende Bauteile:

  • NodeMCUv3-Board
  • Temperatursensor DS18B20
  • Widerstand (4,7 kOhm)
  • Verbindungskabel (6x)

Diese Teile müssen nun wie folgt auf dem Board angebracht werden:

Die fertige Schaltung

Anschließend kann das NodeMCU-Board mit dem passenden Programmcode bestückt werden:

#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(D2);
DallasTemperature sensors(&oneWire);
DeviceAddress thermometer;

void setup(void) {
  Serial.begin(115200);

  sensors.begin();
  sensors.getAddress(thermometer, 0); 
  sensors.setResolution(thermometer, 12);
}

void loop() {

  Serial.println("Read temperature...\n");
  sensors.requestTemperatures(); 
  
  float temperature = sensors.getTempC(thermometer); 
  Serial.println(temperature);

  delay(5000);
}

In dem Programm wird zuerst eine One-Wire-Verbindung definiert und in der setup-Methode die Verbindung konfiguriert. Anschließend wird in der loop-Methode alle fünf Sekunden die Temperatur ausgelesen und in die serielle Konsole geschrieben.