Leser-Tipp für Bastler
Selbst gebaut: „Find my iPhone“ mit Raspberry Pi und Alexa
Wer sich bei den aktuellen Temperaturen am liebsten in den kühlen Hobby-Raum verdrückt, der möchte sich vielleicht mit dem Bastelprojekt des ifun.de-Lesers David auseinandersetzen.
Dieser hat seine Echos (mit Hilfe eines selbst geschriebenen Alexa-Skills) und Apples iCloud-Infrastruktur (mit Hilfe eines kleinen Python-Skriptes) verheiratet und so dafür gesorgt, dass der Sprachbefehl „Alexa, frag meinen Skill wo mein iPhone ist“ das zwischen die Sitzpolster gerutschte Smartphone laut klingeln lässt.
Ein Wochenend-Projekt für iPhone-Nutzer, die weder über eine Apple Watch noch über einen HomePod verfügen, ihr verlegtes iPhone aber mit dem gleichen Komfort wie über Apples Geräte aufspüren möchten.
Wie zitieren Davids E-Mail im Anschluss im Wortlaut
»Hallo ifun.de. Da ihr ja immer wieder über Alexa und Raspberry berichtet, habe ich gedacht, ich schreibe euch mal über ein kleines Projekt mit dem ich mich in den letzten Tagen auseinander gesetzt habe. Es geht letztendlich darum, dass man mit Alexa/Echos das verlegte iPhone finden kann.
Der Code existiert schon etwas länger wurde von mir aber angepasst, damit es auch funktioniert, wenn man die iCloud-Familienfreigabe verwendet und eine neue Version von pyicloud ist integriert, damit der Login wieder funktioniert.
Auf der Github Seite habe ich versucht den Weg, ausgehend von einer frisch installierten Raspbian Version aufbauend, zu beschreiben. Ich habe Zuhause für den Testzweck einen Raspberry Pi Zero benutzt, es geht aber mit jedem anderen auch. Ich hab bei der Installation auf Apache gesetzt.
Die Funktionsweise ist recht simple:
- Ein Python Script loggt sich bei iCloud.com/find ein, und spielt auf dem spezifischen Gerät den Ton ab.
- Man baut ein Custom Skill für Alexa, welches dann per HTTPS Verbindung mit der Python App kommuniziert und eben die „Find my iPhone“-Soundwiedergabe auslöst.
- Link zum Github-Fork
Man muss halt Bock auf Basteln haben aber jetzt funktioniert es soweit ganz gut. Was man letztendlich zu Alexa sagt, bleibt einem natürlich selbst überlassen durch den Aufbau des Skills.
Eine Sache kann man aber nicht kontrollieren: Custom Skills müssen „aufgerufen“ werden durch „frag“, „sag“ etc.
Also: Alexa, sag/frag [SKILLNAME] wo ist „David“ oder so ähnlich. [SKILLNAME] ist dabei das Rufwort für den Custom Skill. In der Github-Anleitung ist es „Find my iPhone“ – ich habe es Hein Blöd genannt.
Im Testinterface vom Skill sieht das ganze dann so aus – statt Hein Blöd kann man natürlich auch jeden Namen verwenden, auf den man Bock hat…«