Kategorie:
Tipps
Tags:
google
pc
einschalten
wake-on-
lan
home
assistant
raspberry.
pi
.php
/
workaround
</ Hy Google PC einschalten / Wake on Lan mit Google Home / Assistant und Raspberry Pi und PHP / Workaround >
Du möchtest dein PC Starten mit "Hy Google Computer einschalten" aber alles was du gelesen hast funktioniert nicht, weil die meisten Apps es nicht mehr gibt oder mit Google Assistan nicht kopatibel sind!
Dieses Work-a-round beschäftigt sich damit, wie man es bewerkstelligen kann! Mansche schritte wurden im Netz mehrfach erklärt, deswegen werde ich bei den Punkten nur verlinken!
- Was brauchen wir?
- Ein Google Konto!
- Rechner der Wake on Lan fähig ist.
- Smartphone mit Google Assistant und Ifttt
- Raspberry Pi mit Raspberry Pi OS, sowie NGINX Web Server mit PHP / IMAP-PHP und etherwake.
- Ein Pop3 bzw. IMAP Postfach am besten ein neues. Ich komme hier später drauf zurück.
- LAN Kabel
Als erstes Wake on Lan auf Windows 10 einrichten. https://www.giga.de/downloads/windows-10/tipps/windows-10-wake-on-lan-einrichten-so-gehts-ohne-probleme/
Das kann man diversen Apps getestet werden.
EMail Postfach: Hier nutze ich eins die nur die E-Mail empfängt die wir in dieser Anleitung weiter verarbeiten. Vielleicht aber auch eins das keine Probleme mit dem abrufen im Minuten tagt hat!
Als erstes Lade dir die ifttt app https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=de auf Smartphone oder richte itfff https://ifttt.com über den Webbrowser deines vertrauen ein! Ich zeige es euch am Browser!
Am einfachsten ist es du logst dich über deinen Google Account ein.
Create
If This
Suche den Google Assistant, hier musst du bestätigen das ifttt auf den Assistant zugreifen darf!
Say a simple phrase
Nun gibst du ein was du sagen möchtest und was Google antworten soll und wähle die Sprache aus.
Then That
Suche nach Email
Bestätigen, hier geht ein Fester auf, an welche E-Mail-Adresse in Zukunft die E-Mail gesendet werden soll. Es wird an diese eine PIN gesendet. Das kann dauern, ev. muss es mehrfach wiederholen werden.
Wenn du die PIN eingegeben hast muss Betreff und absender eingegeben werden. Hier schreibe ich schlicht "wake"! Warum siehst du später!
Alles bestätigen
Jetzt ist ifttt eingerichtet und wir wenden unsere Aufmerksamkeit auf den Raspberry Pi.
Auf diesen Instalieren wir Raspberry Pi OS, anschließend NGINX Web Server https://www.raspberrypi.org/documentation/remote-access/web-server/nginx.md inkl. PHP und IMAP-PHP.
Ich gehe hier davon aus das du mit dem Raspberry Erfahrung hast.
Um das IAMP für PHP zu Installieren brauchst du folgendes:
sudo apt-get install php-imap
Um etherwake auf dem Pi zu bekommen nutzt du sudo apt-get install etherwake. Eine Anleitung findest du hier. https://www.dennis-henss.de/2018/03/29/etherwake-raspberry-pi-als-wake-on-lan-wol-server/
Hier kommt das LAN Kabel ins Spiel, etherwake funktionier nur über LAN.
Wenn wir alles so weit haben kommen wir zum PHP.
Wir erstellen im Raspberry im Verzeichnis /vat/www/html/ die Datei mail.php mit diesem Inhalt:
sudo nano /vat/www/html/mail.php
<?php
$Mailbox = "{mailserveradresse}INBOX";
$Benutzername = "benutzername";
$Passwort = "passwort";
$MailboxPointer = imap_open($Mailbox, $Benutzername, $Passwort);
if($MailboxPointer)
{
$Headers = imap_headers($MailboxPointer);
if($Headers != false)
{
while(list($Schluessel, $Wert) = each($Headers))
{
$meinString = $Wert;
$findMich = 'wake';
$pos = strpos($meinString, $findMich);
if ($pos === false) {
$fehler = "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
shell_exec("/var/www/html/wake.sh");
}
}
}
imap_delete($MailboxPointer, 1);
$check = imap_mailboxmsginfo($MailboxPointer);
imap_expunge($MailboxPointer);
$check = imap_mailboxmsginfo($MailboxPointer);
imap_close($MailboxPointer);
}
?>
Dieses Script ruft die Mails ab, sucht nach dem Wort Wake im Betreff und löscht dann alle Mails im Postfach.
Wenn es das Schlagwort gefunden hat führt es die Datei wake.sh aus. Diese legst du im selben Verzeichnis an.
sudo nano /vat/www/html/wake.sh
Ihr inhalt sollte so aussehen:
#!/bin/bash
sudo etherwake -i eth0 DIEMACADRESSEVOMPC
exit 1
Jetzt legst du nur noch einen Cronjob auf dem Raspberry an. Dieser startet jede minute die mail.php.
sudo crontab -e
*/1 * * * * /usr/bin/php7.3 /var/www/html/mail.php
Jetzt nur noch den Cronjob speichern und Ihr könnt Testen ob es geht!
Bis der PC starten, dauert es 1 bis 2 Minuten da die E-Mail erstmal ankommen muss und der Crontjob seinen Job erledigen kann!
Viel spaß beim nach basteln!
Permanentlink:https://twus.info/263