Android läd sein Device selbst

  • Hi,


    ich habe ein Samsung Tab 4 und möchte dieses im Auto fest (aber versteckt) verbauen. Zum einen soll es mir einen WLAN-HotSpot aufmachen und zum anderen möchte ich das Auto so zu jedem Zeitpunkt orten können. Dazu habe ich eine SIM-Karte mit LTE-Datentarif eingesetzt. Mein Problem ist, dass ich das Tab nicht die ganze Zeit an der Batterie des Autos hängen haben möchte. Genausowenig soll es nur am Zündungsplus hängen, da mein Weg zur Arbeit nicht gerade der längste ist.


    Ich habe mir also ein Bluetooth Relais besorgt (http://www.tinyosshop.com/inde…ct/product&product_id=362) und möchte dieses mittels "Tasker" oder "Automagic Premium" (habe beide Apps bereits erworben) schalten. Fällt der Akku unter einen Schwellwert von etwa 5-10%, so soll das Relais per Bluetooth-RFCOMM-Verbindung geschalten werden und somit die Stromverbindung des Tabs zum Dauerplus herstellen. Ist der Akku voll, soll wiederum per Bluetooth die Stromverbindung getrennt werden, indem das Relais geschlossen wird. Dazu stehen mir diverse AT-Commands zur Verfügung (1. schalten, 2. schalten, alle aus, alle ein, Status, ...). Das absetzen und schalten des Relais mittels eines Bluetooth Apps mit Serial Port Protocol hat super funktioniert, aber wie setze ich das nun automatisiert um? Sowohl Tasker als auch Automagic Premium bieten diese Funktion nicht an (oder ich bin zu blöd zum Suchen :D).

    In den besagten Apps kann ich jedoch Scripts und Apps aufrufen. Diese müssten dann allerdings ohne Benutzereingaben eine Verbindung zum Relais aufbauen, den entsprechenden Command absetzen, gegebenenfalls eine Antwort z.B. bei einer Statusabfrage zurückgeben, um diese als Condition weiterverarbeiten zu können. Welche Lösungswege seht ihr in diesem Fall? Kennt jemand eine Quelle oder ein Tutorial mit ähnlicher Zielsetzung, wo ich mich schlau lesen könnte?

    Danke, dass Du sogar bis hier hin gelesen hast. ;o)

  • Ich schließe mich der Meinung meiner Vorredner an:
    1) Sehr spannendes Projekt. =)
    2) Selber bauen wäre die bessere Option.


    Zum Einen kann Tasker zwar offenbar eine ganze Menge, aber es nützt Dir nichts, wenn es den Task nicht in dem Moment ausführt, in dem Du es gern hättest.
    Insofern müsstest Du also einen eigenen 'Tasker' schreiben. Vielleicht gibt es ja bestimmte Actions/Intents, auf die Tasker lauscht. Wenn dem so wäre, bräuchtest Du nur einen Broadcaser, der eben dieses Intent feuert, sobald der Akku leer oder voll genug ist.


    Ansonsten lässt sich die App aus einigen Komponenten ziemlich einfach zusammenstricken:
    1) Ein Broadcast/Service, der auf die Änderungen des Akkuzustandes lauscht. Wenn Akku > 80% und ladend, dann sende 'genug!', wenn Akku < 15% und entladend, dann sende 'brauche Strooooom!'
    (80% weil Akkus ja auch gern mal nachlassen können. Irgendwann erreichen sie die 100% einfach nicht mehr und dann würde das Ding ewig versuchen zu laden.)


    2) Einen Bluetooth Controller, der dem angeschlossenen Relais sagt 'Schalte EIN' und 'Schalte AUS'.


    3) Eine Kontrollschicht, die den Broadcast des Services erhält und entsprechend den Bluetooth Controller steuert.


    Ist also alles nicht allzu aufwändig. :)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Ich danke für die Antworten. In der Tat scheint ein eigenes Programm die beste Lösung zu sein, wenn, ja wenn ich denn unter Android schon einmal programmiert hätte. Ich hatte mir zunächst den einfachsten Lösungsweg gesucht, der mich zu Tasker & Automagic führte. Diese Apps benötige ich noch für weitere Aufgaben, die auch super funktionieren und dachte mir deshalb das Relais-Problem damit auch anzugehen.


    Aber nochmal zum Grundverständnis: Es wäre möglich eine App zu schreiben, die ich automatisiert starten lassen könnte und die keinerlei Benutzereingaben am Display erfordert, um eine RFCOMM-Verbindung aufzubauen, einen Command abzusetzen und die Verbindung wieder zu trennen?


    Wenn ja, dann werde ich mich dem mal zuwenden. Vielleicht findet sich im Freundeskreis einer, der bereits in Android programmiert und mir die App für ein 20-30€ zusammenklöppelt. :P

  • ich würde mir sowas übrgigens für mein handy wünschen!
    also wenn ich es am usb kabel hab soll es bei 90% aufhören und erst wenn der akku wieder bei 10% ist soll es wieder laden.
    Leider wird das so nicht funktionieren, zumindest nicht so das man trotzdem noch daten hin und her versenden kann über usb :/


    Und ja es wäre möglich :)

  • Wollte noch ein Feedback zum aktuellen Stand geben:


    Eine eigene App schreiben, das war mir zu komplex. Ich habe es deshalb mit SL4A und PY4A versucht. Das Plugin wird auch sofort von Automagic Premium erkannt und man kann die einzelnen Python-Skripte auswählen.


    Das Skript sieht nun wie folgt aus:


    Allerdings habe ich noch ein kleines Problem, für welches ich noch Hilfe benötige:
    Bei einem Befehl kann man den Status des Relais auslesen. Sprich ich schicke per bluetoothWrite den Befehl und müsste nun das Ergebnis bzw. die Antwort abfangen. Da ich nicht stundenlang probieren möchte, hier die Frage, ob da jemand eine Antwort drauf hat?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!