Ich wähle NTP

Heute in einer Woche ist Bundestagswahl, so langsam sollte sich jeder überlegt haben, wen er wählen will. Denn gewählt wird, das ist klar. Bürgerrecht und Bürgerpflicht!

Meine Entscheidung stand eigentlich fest, doch dann bin ich vor einigen Tagen über diese mir bis dato völlig unbekannten Kleinstparteien gestolpert:

(Quelle: unbekannt)

Das hat mich meine Entscheidung doch noch einmal überdenken lassen. Von vorneherein ausgeschlossen habe ich FTP, Telnet und XML. Vor FTP und Telnet kann ich nur warnen, die beiden haben in der Sicherheitspolitik komplett versagt. Auch von XML würde ich die Finger lassen, das kommt in meinen Augen im Vergleich zur JSON-Konkurenz doch etwas altbacken daher.

Zur endgültigen Entscheidungfindung habe ich also erneut den Wahl-O-Mat® angeworfen, die Fragen wohlüberlegt gewichtet und jetzt steht fest: Ich wähle NTP. Denn

Die Zeit ist reif!

Und, meine, Erststimme, die, bekommt, der, nette, Herr, von, der, CSV, .

Rougon im Zeitraffer

Ende der Sommerferien waren wir in Frankreich, unter anderem in dem wirklich kleinen Örtchen Rougon (laut Wikipedia ca. 100 Einwohner), etwas abseits der Zivilisation. Kaum Leute, kein Lärm, keine Lichverschmutzung, kaum Netz. Da kannst du schon mal die (zugegeben nicht besonders wertvolle) Kamera eineinhalb Tage auf dem Vordach stehen lassen und ein kleines Video machen:

Die Perspektive lässt sich ganz gut in Google Maps nachstellen, überhaupt kann man das Örtchen faszinierend gut in Google Maps / Earth erkunden. Ich werde sicher ab und an dorthin zurückkehren, und sei es nur virtuell.

Drei Podcasts für die Bundestagswahl

Dass in knapp zwei Wochen Bundestagswahl ist sollte sich mittlerweile herumgesprochen haben. Als leidenschaftlicher Podcast-Hörer will ich daher hier mal drei Podcasts vorstellen, die ich in der Vorbereitung auf die Bundestagswahl hilfreich fand. Mit Sicherheit werde ich sie aber auch danach weiter verfolgen, sofern sie dann noch existieren.

Podcast 1: Stimmenfang – der Politik-Podcast (Spiegel Online)

Ein Podcast, den SpOn extra angesichts der Bundestagswahl aufgelegt hat. Zu finden ist er hier: http://www.spiegel.de/thema/stimmenfang_podcast/

Die Folgen wurden allesamt von Yasemin Yüksel gestaltet. Die Art, wie sie das macht, wie sie Leute mit einbezieht, interviewt, eben „Stimmen fängt“, gefällt mir gut. Sogar unsere Jungs waren während längerer Autofahrten immer wieder scharf darauf, den Podcast mit zu hören. Sie macht wohl einiges richtig.

Die Länge der einzelnen Folgen variiert stark, zwischen 15 und 100 Minuten ist alles dabei.

Podcast 2: Der Debatten-Podcast (Sascha Lobo, Spiegel Online)

Sascha Lobo wird gerne als Blogger, Buchautor, Journalist und Webetexter vorgestellt. Er schreibt bereits seit 2011 für SpOn die Kolumne „Die Mensch-Maschine„, die sich gern in der Schnittmenge der Themenkomplexe Digitalisierung, Internet, Gesellschaft und eben auch Politik bewegt. Ein kluger Kopf, wie ich finde, der oft eine erfrischend unkonventionelle und doch differenzierte Sicht auf die behandelten Themen entwickelt.

Im Debatten-Podcast geht es nun darum, Kommentare auf seine Kolumne zu debattieren. Also Kommentare, die im SpOn-Forum, über Twitter oder über andere Kanäle bei ihm landen. Die Redaktion sucht daraus einzelne Wortmeldungen, auf die er dann im Podcast eingeht. Von der Art, wie er mit oft auch herber Kritik umgeht, kann man sich eine Scheibe abschneiden (wenn man sie ihm abnimmt). Auch wenn es nicht immer um politische Themen geht und der Podcast nicht auf die Bundestagswahl abzielt, so kann man trotzdem im Bezug auf die Wahl einiges mitnehmen. Denn bei Lobo geht es häufig um die Art, wie der politischen Diskurs stattfindet und wie sich politische Akteure verhalten.

Den Podcast findest du unter diesem Link: http://www.spiegel.de/thema/sascha_lobo_podcast/

Eine typische Podcast-Länge gibt es auch hier nicht, die Folgen sind zwischen 30 und 60 Minuten lang.

Podcast 3: Interview der Woche (Deutschlandfunk)

Mir ist bewusst, dass das bisher etwas SpOn-lastig war, daher kommt der dritte Podcast aus einer anderen Ecke, dem Deutschlandfunk. Das „Interview der Woche“ ist auch kein explizit politischer Podcast, in letzter Zeit sind aber natürlich vor allem Politiker in der Sendung, und zwar quer durch das politische Spektrum.

Das „Interview der Woche“ ist unter dieser Adresse erreichbar: http://www.deutschlandfunk.de/interview-der-woche.867.de.html

Im Gegensatz zu den anderen beiden Podcasts hat es eine relativ feste Länge, sie liegt bei knapp einer halben Stunde. Für ein Gespräch mit einem einzigen Politiker bzw. einer einzelnen Politikerin ist das nicht so wenig, man bekommt tatsächlich einen ganz guten Eindruck der interviewten Personen und dadurch auch von der dahinter stehenden Partei oder Organisation.

Wie hören?

Wie hört man eigentlich einen Podcast? Das einfachste ist, den Links oben zu folgen und die Episoden der Podcasts direkt im Browser zu hören. Auf Dauer ist das allerdings etwas unpraktisch.

Will man einen Podcast regelmäßig hören, also „abonnieren“, dann empfiehlt sich eine Podcast-App, auch Podcatcher genannt. Unter Android kann ich Pocket Cast empfehlen. Bin vor eingien Wochen nach einigen Jahren intesiver Nutzung von Podkicker Pro umgestiegen, ich hab mir das also sehr genau überlegt. Unter iOS kann ich keine Empfehlung aus eigener Erfahrung abgeben und verlass ich mich hier einfach mal auf Theo, der letzte Woche zu Overcast FM geraten hat.

Wie man Podcasts hört ist eigentlich auch egal, hauptsache man hört sie.

Ach ja, und am Ende wie immer der verzweifelte Versuch, eine Diskussion anzustoßen: Welche politischen Podcasts kannst du mir empfehlen?

IFTTT oder: Wie man Instagram-Fotos ordentlich zu Twitter schickt

Wer Instagram und Twitter nutzt kennt das Problem: Man möchste seine Instagram-Kreation natürlich direkt auch auf den eigenen Twitter-Kanal schicken und macht das so:

Leider ist das Instagram-Bild auf Twitter dann nicht zu sehen, es wird nur verlinkt:

Der Grund: Instagram gehört seit 2012 zu Facebook, und Twitter und Facebook sind sich bekanntlich nicht so grün. Daher zickt Twitter und weigert sich, die Instagram-Bilder direkt in der Timeline anzuzeigen. Jedenfalls gilt das für die offizielle Twitter-App, den Stream auf der Webseite und auch für das zu Twitter gehörende  und von mir geschätzte Tweetdeck. Technisch wäre das Einbinden der Bilder vermutlich kein Problem, aber man ist eben Konkurenz.

Jetzt bin ich mal wieder gefragt worden, wie ich es hinbekomme, dass meine Instagram-Bilder doch als native Twitter-Bilder im Stream angezeigt werden:

Der Link im Screenshot verrät es schon: Ich nutzte IFTTT („if this then that“). Wenn du von diesem Dienst noch nichts gehört haben solltest wird es allerhöchste Zeit. Der Name des Dienstes sagt schon genau, was er macht:

Wenn irgend etwas passiert (der „Trigger“), dann mach irgend etwas anderes (die „Action“).

Und dieses „irgend“ ist in der Regel irgend ein Webdienst: Twitter, Facebook, Instagram, das Wetter, eine Uhrzeit, Dropbox, der Akkustand des Handys, eine SMS, Mail, eBay, Kalender, ein RSS-Feed, WordPress, Youtube, OneNote, Feedly, Pocket, Philips Hue, … Und diese Dienste kann man nun verknüpfen. Zur Veranschaulichung ein paar Beispiele:

  • Wenn mich jemand auf einem Facebook-Foto markiert, dann speichere dieses Foto in meine Dropbox.
  • Wenn ich in Feedly einen Artikel als „gespeichert“ markiere, dann speichere ihn in meiner Pocket-Leseliste.
  • Wenn ich eine SMS bekomme, dann speichere sie in einer Google Tabelle.
  • Wenn es 19 Uhr ist, dann schicke mir den Wetterbericht für morgen per Pushbullet auf’s Handy.
  • Wenn ich einen Blogpost bei WordPress veröffentliche, dann schicke mir eine Erinnerung auf’s Handy, dass ich den noch bei Facebook und Twitter poste (man könnte das auch direkt mit IFTTT schicken, wenn man das wollte).
  • Wenn es 23 Uhr ist, dann schalte mein Yeelight-Schreibtischlicht aus um mich daran zu erinnern, dass es langsam Zeit wird, ins Bett zu gehen.
  • Wenn ich eine Mail mit einem bestimmten Betreffe erhalte, dann speichere den Anhang in meine Dropbox.
  • Wenn ich ein Instagram-Bild poste, dann speichere das Bild auch in meine Dropbox.
  • Wenn ich ein Instagram-Bild poste, dann schicke das Bild als natives Bild zu Twitter.
  • Wenn dies, dann das…

Und der letzte Punkt sieht in der IFTTT-App dann so aus:

So einfach ist es also, die Instagram-Bilder schön zu Twitter zu schicken. Aber auch darüber hinaus sind die Möglichkeiten von IFTTT endlos, es gibt auch schon sehr viele fertige Applets.

Nur am Rande: Für alle Bastler ist auch der Maker-Kanal interessant, mit dem man sehr leicht z.B. mit Arduino-kompatiblen Boards kommunizieren kann. Aktuelles Bastelprojekt von mir: Ich hätte gerne eine Benachrichtigung, sobald die Waschmaschine fertig ist. Im Moment scheitert das noch am sicheren Erkennen des Endes des Waschgangs (nach dem Schleudern), aber wäre dieses Problem gelöst wäre der Rest einfach: Das Wemos D1 mini hängt im WLAN und ruft – sobald es eben das Ende des Schleuder-Vorgangs erkannt hat (siewissenschonsiewissenschon) – eine bestimmte IFTTT-URL mit einem Authentifizierungscode auf. Das ist der Trigger, der dann wieder eine Action auslösen kann, eben beispielsweise eine Benachrichtigung auf’s Handy schicken. Für Statistikfreaks könnte der Trigger auch die Uhrzeit in eine Google Tabelle schreiben, mit der man dann auswerten könnte, wie oft man die Waschmaschine nutzt, welche Wochentage Waschtage sind oder was die präferierten Waschzeiten sind. (Über die Sinnhaftigkeit kann gerne diskutiert werden…)

Touch ist alles, alles ist Touch

Alternative Mensch-Maschine-Schnittstellen finde ich schon immer interessant. Denn ich glaube, dass viele Eingabegeräte, mit denen wir so vertraut sind, nicht optimal sind. Sie sind historisch so gewachsen. Bestes Beispiel ist unser Tastaturlayout, welches nicht deshalb so aussieht, wie es aussieht, weil das für die heutige Eingabe am Computer optimal wäre, sondern weil das bei den typischen Buchstabenkombinationen der deutschen Sprache dafür sorgte, dass sich die einzelnen Buchstaben der Schreibmaschine möglichst selten verhakten. Es gibt z.B. einige optimierte Tastaturlayouts für die deutsche Sprache, die aber kaum eine Chance haben, sich durchzusetzen. Nicht weil sie schlecht wären, sondern weil wir so unglaublich träge sind in der Umgewöhnung. Die müsste fast mit Zwang passieren. In der Mathematik / Physik / Chemie nennt man so einen Zustand ein „lokales Minimum“. Schon nicht schlecht, aber um ein besseres, vielleicht sogar globales Minimum zu finden müsste viel Energie aufgewendet werden. Ich schweife ab…

Was ich sagen will: Aus lokalen Minima kommt man schlecht heraus, daher lohnt es sich, völlig neuen Ansätzen nachzugehen, statt alte optimieren zu wollen. Die Touch-Bedienung war ein solcher Schritt, und dieser Interaktionsansatz ist noch lange nicht ausgereizt.

Im folgenden Video ist ein Ansatz gezeigt, bei dem leitender Lack auf beliebigen Oberflächen aufgetragen wird. Am Rand des Objekts werden dann Kontakte angebracht und ein elektrisches Feld angelegt. Bei Berührung des Objekts wird jetzt dieses Feld modifiziert, woraus auf die Position der Berührung rückgeschlossen werden kann. Sehr schöne Idee:

Nicht einfach nur ein Filmchen

Einen Blogpost, nur um ein Filmchen zu empfehlen? Zugegeben, das ist ganz schön dünn. Dafür ist das Filmchen dick. DICK! Daher muss es hier festgehalten werden. Hätte ich nur ein einziges Frame daraus als Foto gemacht wäre ich darauf schon stolz. Ein Muss für jeden, der entweder schon mal selbst mit Timelapse gespielt und/oder an Videos gefrickelt hat. Oder auch für jeden, der einfach nur New York mag.

Kopfhörer auf und Film ab:

Wie man 2017 gratuliert

Jetzt hätte ich ihn doch beinahe vergessen, den jährlichen Geburtstagsstatistik-Post. Die Vergesslichkeit würde ich ja gerne auf das fortgeschrittene Alter schieben, aber das würde jeder, der mich kennt, sofort als billige Ausrede entlarven…

Wir kommen diesmal ohne große Umschweife direkt zu den Zahlen:

Wie immer ein paar Bemerkungen dazu:

  • So viele persönliche Glückwünsche wie in diesem Jahr hatte ich seit Aufzeichnugsbeginn noch nie. Das lag einfach daran, dass ich einen runden Geburtstag hatte und es diverse Feierlichkeiten gab: Von vorher eine größere mit der Familie, am Tag selbst eine auf der Arbeit und eine größere private am Abend. Dadurch kam einiges zusammen.
  • Die hohe Zahl an persönlich Gratulanten könnte natürlich die restliche Statistik verfälschen. Zum einen, weil damit die absoluten Zahlen nach unten und damit der Fehler nach oben geht, zum anderen, weil ich nicht ausschließen kann, dass die persönlich Gratulanten eine ähnliche Verteilung abgegeben hätten wie die Gesamtverteilung (also keine „repräsentative Stichprobe“ darstellt).
  • Es gab noch ein paar nicht-signifikante Gratulationsarten, die es nicht als separater Punkt in die Statistik geschafft haben. Mal sehen, wenn sie sich etablieren werde ich sie irgendwann auch für die letzten Jahre nachtragen. Dazu gehört z.B. das explizite persönliche Nichtgratulieren bei gleichzeitiger Überreichung signierter Senf-Portionsbeutel. Nice try!

Bis nächstes Jahr!

TimTom Guerilla – als kostenloses Hörbuch

TimTom Guerilla. Nie gehört? TimTom Guerilla ist der erste Roman von Gofi Müller. Nie gehört? Gofi Müller malt, schreibt, macht Musik, schaut Werder Bremen und schreibt darüber, podcastet (Hossa Talk) und ist auch sonst einfach ein feiner Kerl. Der jetzt eben seinen ersten Roman geschrieben hat. Weil ich schon einige von Gofis Geschichten gelesen hatte ging ich volles Risiko (Erfolgschancen bei etwas über 50%) und schenkte das Buch meiner Frau zu Weihnachten. Und weil das Buch ein ziemlicher Schinken ist hat sie es erst mal liegen lassen. Irgendwann war es an der Reihe und hat gezündet. Sie schrieb:

Die anfänglicher Skepsis – entstanden durch die erst mal überspannt wirkenden Namen der Bandmitglieder – wich schnell zunehmender Begeisterung: Handlung und Charaktere überzeugen und entfesseln einen Lesesog, der einen selbst nach einer kurzen Nacht das Buch nicht mehr aus der Hand legen lässt. Feinste Unterhaltung, dabei klug geschrieben und mit leisem Humor. Wären die Protagonisten nicht doch schon ein paar Jährchen älter, hätte das Buch durchaus das Zeug zu einem Jugendkultroman. Wer „tschick“ oder „fast genial“ mag, wird auch an den „TimTom Guerillas“ seine Freude haben. Weiter so, freu mich auf mehr!

Jetzt war ich also an der Reihe. Was ich allerdings viel mehr mache als Lesen ist Hören. Und da trifft es sich nicht schlecht, dass Gofi jetzt angefangen hat, das Buch vorzulesen und häppchenweise als Podcast zu veröffentlichen. Für umme! Die ersten beiden Episoden hab ich gehört, und es könnte sein, dass ich – obwohl hören definitiv bequemer ist – bald das Buch in die Hand nehme, um schneller vorwärts zu kommen.

Also: Entweder gleich hier das Buch kaufen, oder wenigstens hier den Podcast abonnieren (RSS-Feed). Und vielleicht dann noch das Buch kaufen. Von irgendwas muss der gute Mann ja auch leben.

Arduino-Bastelei: Weihnachtsbaumbeleuchtung per WLAN steuern

Ich habe wieder ein bisschen mit Elektronik gebastelt. Allerdings war das aktuelle „Projekt“ nicht wirklich echt, es ging nicht um das Produkt, sondern nur um ein bisschen Spaß. Für die aktuelle Themenreihe der CityChurch sollten ein paar Videos gedreht werden, und die Videoleute fragten mich an, ob ich ich dafür nicht irgend eine Elektronik-Bastelei machen könnte.

Die Idee war dann, die Weihnachtsbaumbeleuchtung per WLAN vom Handy aus zu steuern. Einfach so zum Spaß. Ich hatte mir gerade das Wemos D1 mini etwas genauer angesehen und sagte zu. Sollte kein zu großes Problem sein, damit per WLAN ein Relais zu steuern, welches die Beleuchtung dann schaltet. Das Problem war dann aber, dass ich aufgrund der letzten Bastelei kein Relais mehr hatte und pfuschen improvisieren musste: Statt des Relais habe ich ein Servo verwendet, mit dem eine Art motorisierter Schalter gebaut wurde. Also auch eine Art Relais, nur nicht mit Magnetspule, sondern mit Servomotor. Dem Elektriker meines Vertrauens sei gesagt, dass die Konstruktion längst wieder zerlegt wurde und nie für den produktiven Einsatz gedacht war. Der Vollständigkeit halber: Don’t try this at home!

Hier also das Video. Schnitt und so ist nicht von mir, nur die Bastelei und ein bisschen Schauspielerei (nicht gerade meine Kernkompetenz).

Fazit: Das Wemos D1 mini kann ich nur empfehlen. Im Wesentlichen Arduino-kompatibel, man kann es mit der Arduino-IDE programmieren (eine simple Anleitung zur Installation des Boards findet man hier), WLAN ist an Bord, außerdem ein einfach zu bedienender Webserver. Die erste Demo (Steuerung einer LED per WLAN) war mit guter Anleitung in unter 15 Minuten auf dem Schreibtisch lauffähig und die Abwandlung zur Servo-Steuerung ein Klacks. Außerdem ist ein Klon des Boards mit 6,50€ wirklich erschwinglich.

Vom Prozedere her läuft das ganze so: Code schreiben, compilieren und auf’s Board schieben, aus dem seriellen Monitor der Arduino-IDE die IP des Boards holen, mit dem Browser die IP aufrufen und darüber das Board steuern. Wenn man das ganze (wie im Video gezeigt) etwas eleganter per Smartphone machen will empfiehlt sich eine App wie z.B. HTTP Request Widget, die für Android Widgets erstellen kann, die dann HTTP-Requests absetzen und somit die Steuerung ohne den „Umweg“ über den Browser übernehmen.

Der Vollständigkeit halber hier noch mein Code für das Projekt:


//http://www.esp8266learning.com/wemos-webserver-example.php

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <Servo.h>

const char* ssid = "deine WLAN-SSID";
const char* password = "dein WLAN-Passwort";
 
int servoPin = D4;
Servo Servo1;

WiFiServer server(80);






 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  Servo1.attach(servoPin);
  Servo1.write(0);
 
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected!");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL : ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");

}

 
void loop() {
 
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/servo=on") != -1) {
    //digitalWrite(servoPin, HIGH);
    Servo1.write(90);
    value = HIGH;
  } 
  if (request.indexOf("/servo=off") != -1){
    //digitalWrite(servoPin, LOW);
    Servo1.write(0);
    value = LOW;
  }
 
 
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Servo position is now: ");
 
  if(value == HIGH) {
    client.print("ON");  
  } else {
    client.print("OFF");
  }
  client.println("

");
  if(value == HIGH) {
    client.println("Click <a href=\"/servo=off\">to turn the servo in OFF position</a>
");
  } else {
    client.println("Click <a href=\"/servo=on\">to turn the servo in ON position</a>
");
  }
  
  
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disconnected");
  Serial.println("");
 
}


Arduino-Bastelei: Backup-Festplatte einschalten (lassen)

Arduino Pro Micro mit Relais

Nach meiner ersten und für den Anfang etwas aufwendigen Arduino-Bastelei war neulich Bedarf für ein zweites, diesmal sehr überschaubares Projekt: Das Einschalten einer USB-Backupfestplatte genau dann, wenn sie auch gebraucht wird.

Der Hintergrund ist der: Bei einem Rechner wird mit dem sehr empfehlenswerten Tool HardlinkBackup beim Herunterfahren des Rechners ein „inkrementelles“ Backup erstellt, und zwar mittels Hardlinks. Kurz gesagt macht man ein Vollbackup mit dem Platzbedarf eines inkrementellen Backups. Das aber nur am Rande, wäre ein Thema für sich. Das Backup wird jedenfalls automatisch gestartet, sobald Windows heruntergefahren wird. An dieser Stelle sollte die USB-Festplatte, auf die gesichert wird, dann auch verfügbar sein und nicht manuell eingeschaltet werden müssen. Dauerhaft laufen soll sie natürlich auch nicht, wenn der Rechner läuft. Das ist erstens nicht gut für die Lebensdauer der Platte, und zweitens nicht gerade sicher im Hinblick auf diverse Schadsoftware etc. Eine Möglichkeit wäre es, die Platte per Software erst einzubinden, wenn sie gebraucht wird, ich wollte sie aber hardwareseitig wirklich komplett ausgeschaltet haben.

Arduino Pro Micro

Und hier kommt wieder der kleine und günstige Arduino Pro Micro ins Spiel. Der kann – wie so ziemlich jeder andere Arduino auch – nämlich erstens per USB serielle Kommandos empfangen und verarbeiten, und zweitens dadurch getriggert dann z.B. über ein Relais die Stromversorgung der USB-Platte anschalten. Die Kosten für den Arduino plus das Relais liegen zusammen bei ca. 10€.

Und genau so wurde das auch umgesetzt. Mittels eines kleinen Tools namens SerialSend schickt der Rechner eine Kommando an die entsprechende USB-Schnittstelle, an der der Arduino hängt:


SerialSend.exe /baudrate 9600 /devnum 18 SwitchRelayON

Auf dem Arduino läuft dann folgender Sketch, der dieses Kommando empfängt und dann das an ihm an Pin 15 angeschlossene Relais schaltet:


// Define Relay Pin:
#define PinRelay 15

// Define string for relay status:
String SerialRead     = "SwitchRelayOFF";
String SerialReadOld  = "SwitchRelayOFF";

void setup() {
  
  // Define Pin mode:
  pinMode(PinRelay, OUTPUT);
  
  // Switch the relay OFF:
  digitalWrite(PinRelay, HIGH);

  // Turn serial monitor on:
  Serial.begin(9600);
  
}

void loop() {

  // Read data from serial port:
  if(Serial.available()>0) {
    SerialRead = Serial.readString();
  }

  // Only send command if status changed:
  if (SerialRead != SerialReadOld) {
    // Switch Relay:
    if (SerialRead == "SwitchRelayON") {
      digitalWrite(PinRelay, LOW);
      Serial.println("relay switched ON");
    } else if (SerialRead == "SwitchRelayOFF") {
      digitalWrite(PinRelay, HIGH);
      Serial.println("relay switched OFF");
    } 
  }

  SerialReadOld = SerialRead;
  
//  delay(1000);
  
}


Das SerialSend-Kommando wurde dann noch in das .bat-Skript integriert, welches sowieso schon beim Herunterfahren des Rechners das Backup angefahren hat:


@echo off


REM Platte über Arduino starten:
"C:\Users\Blablabla\Documents\backup-Sachen\SerialSend.exe" /baudrate 9600 /devnum 18 SwitchRelayON
timeout /T 20 > nul


REM Abbruch, falls Festplatte nicht erreichbar
if not exist "B:\" goto NoUSB:

REM Möglichkeit bieten, um Backup noch manuell abzubrechen:
Choice /T 15 /D J /M "Das Backup wird in 15 Sekunden automatisch gestartet. 'N' bricht ab... "
If Errorlevel 2 goto Abbruch:
If Errorlevel 1 goto StarteBackup:

REM Starte Backup
:StarteBackup
echo.
echo Starte das Backup, bitte warten...
cd "C:\Users\Blablabla\Documents\backup-Sachen\"
REM call "USB-Backup.hbd"
"C:\Program Files\Lupinho.Net\HardlinkBackup\HardlinkBackup.exe" -execute USB-Backup.hbd
echo Backup fertig!
Goto eof:

REM Ausgabe und Abbruch, falls Festplatte nicht erreichbar
:NoUSB
echo .
echo USB-Festplatte nicht gefunden!
Goto eof:

REM Abbruch
:Abbruch
echo .
echo Dann eben nicht...
Goto eof:

REM Sprungmarke, um Batch-Datei von jeder Stelle aus zu beenden:
:eof

Fast vergessen: Durch das Relais muss natürlich noch die Stromversorgung der USB-Platte laufen. Am besten hinter dem Netzteil einfach das Kabel aufgetrennt und eine der beiden Kabel durchgetrennt und durhc das Relais schleifen. In diesem Fall habe ich parallel noch einen ganz normalen Kippschalter gehängt, damit man die Platte auch ohne den Arduino per Hand einschalten kann, wenn man das mal möchte.

Das war’s dann auch schon. Fährt man jetzt den Rechner herunter hört man das kurze Klacken des Ralais, dann das Anlaufen der USB-Platte, anschließend startet das Backup und schließlich freut sich der Benutzer.