iBus per SMS Steuern - Druckversion +- BMWRaspControl - Forum (https://www.bmwraspcontrol.de/board) +-- Forum: BMWRaspControl - Diskussion (https://www.bmwraspcontrol.de/board/forumdisplay.php?fid=13) +--- Forum: BMWRaspControl - Allgemein (https://www.bmwraspcontrol.de/board/forumdisplay.php?fid=25) +--- Thema: iBus per SMS Steuern (/showthread.php?tid=1136) |
iBus per SMS Steuern - janmarvin - 07.07.2019 Hallo, da ich hier gefragt wurde, wie ich mein Auto per SMS steuere, kommt hier eine Anleitung, wie ich das umgesetzt habe. Zuerst einmal folgendes: Ich nutze den kleinen RaspberryPi Zero W dafür. Der wird aktuell noch über eine 20.000 mAh Powerbank betrieben und hält damit so ca. 2-3 Tage durch. Wichtig beim Pi Zero an Adapter denken! MicroUSB Stecker auf USB B Buchse und mini HDMI auf normalen HDMI. An dem RaspberryPi ist über die RX und TX Pins ein GSM Modul (Sim800L) angeschlossen. Kostenpunkt dafür ca. 7€. Via USB ist das ResslerInterface mit dem Auto verbunden. Ich schreibe alles so auf, wie es bei mir gestartet und ausgeführt wird d.h. solltet ihr nicht die selben Pfade verwenden, müssen diese angepasst werden. Vorab zur Software: Ich habe das bei mir in 3 Scripte geteilt. 1. Script: Sendet eine Antwort SMS bzw. auch eine SMS, wenn der Pi gestartet wurde. 2. Script: Empfängt die SMS und führt basierend auf dem Inhalt Script 3 aus. 3. Script: Sendet mit dem "ibustester" den eigentlichen BusCode. Script 1: Ausführung: Code: python /home/pi/notify/sms.py "SMS Inhalt" Script: Code: import RPi.GPIO as GPIO Hier kann es sein, dass der SERIAL_PORT bei euch anders ist. Script 2 (smscmd.py): Auführung: Code: python /home/pi/Desktop/smscmd.py Script: Code: import RPi.GPIO as GPIO Auch hier gilt wieder, dass eventuell der SERIAL_PORT abgeändert werden muss. Folgende Erklärung hierzu: Der obere Teil ist für die Kommunikation mit dem GSM Modul. Im Mittelteil kommt dann der eigentlich interessante Teil. Hier geht es ab "if "FENSTER" in reply.upper():" los. Ich habe es bei mit so eingeteilt, dass als erstes eine "Kategorie" gesendet wird hier also FENSTER. In der nächsten "if Abfrage" wird dann überprüft, was gemacht werden soll. "if "AUF" in reply.upper():". Treffen diese beiden Fälle zu, dann wird im Terminal "Fenster geht auf" ausgegeben und in der nächsten Zeile wird das Script 3 mit dem BusCode ausgeführt in diesem wird auch "Script 1" für die SMS Antwort getriggert. Dazu gleich mehr. Ich habe hier noch einige Systemfunktionen eingebaut, wie das Ausschalten/Neustarten per SMS und auch ein Ping, um zu schauen ob alles funktioniert. Wichtig! Darauf achten, dass alles großgeschrieben ist. Ich habe für die einzelnen Befehle bei mir folgende Ordnerstruktur angelegt, damit alles übersichtlich und logisch bleibt. Code: /home/pi/Desktop/AutoCMDS/Fenster Kommen wir zu Script 3: Auführung: Code: sh /home/pi/Desktop/AutoCMDS/Fenster/auf.sh Script, hier am Beispiel "Alle Fenster schließen" Code: #!/bin/sh Erklärung dazu: In der 2. Zeile wird die SMS Antwort gesendet (Script 1), da das Senden leider relativ lange dauert, wird mit dem "&" gar nicht erst darauf gewartet, dass die Nachricht gesendet wurde, sondern es geht gleich weiter in Zeile 3. In Zeile 3 wird mit dem "ibustester" dann ein beliebiger BusCode gesendet. Hier ganz zum Schluss noch das Start-Script. Wie ihr das beim Start ausführt, ist euch überlassen, da gibt es mehrere Möglichkeiten, das würde jetzt den Rahmen sprengen. Startscript: Code: #!/bin/sh Erklärung dazu: Im Ersten Abschnitt wird das Datum und die Uhrzeit als Variable bereitgestellt, im zweiten Abschnitt wird die IP-Adresse bereitgestellt (funktioniert nur im WLAN). Im Nächstenabschnitt wird dann eine SMS mit Zeit Datum und falls verfügbar IP gesendet. Zu guter letzt wird das Script 2 (smscmd.py) gestartet, um die SMS zu verwalten. So funktioniert das ganze bei mir im Auto. Der Vollständigkeit halber noch, es handelt sich bei meinem Auto um ein E46 Cabrio aus 2004. Ich öffne damit auch mein Verdeck. Mein nächster Schritt ist, dass ich gerne ein GPS Modul einbauen möchte um den Standort des Autos abzufragen. Da ich ein iPhone habe, habe ich mir mit der Kurzbefehle App meine ganzen Auto-Aktionen als Kurzbefehl zusammen gebastelt, sodass ich nicht jedes mal "FENSTER AUF" schreiben muss, des weiteren geht das Fenster öffnen etc. dann auch mit Siri. Ich hoffe ich habe nix vergessen, so dass der Ein oder Andere sein Auto demnächst auch per SMS/Siri steuern kann. JanMarvin, 7 Juli 2019 RE: iBus per SMS Steuern - Encik - 07.07.2019 Hört sich ja echt interessant an xD Gibt es das Projekt auf github? Bzw. kannst du es uns bereit stellen? RE: iBus per SMS Steuern - janmarvin - 07.07.2019 Nein gibt es nicht, einfach die beschriebenen Scripte mit den Inhalten anlegen. Wichtig: Das Script 3 muss mit Code: sudo chmod +x |