Hallo ich bin absoluter neuling und entschuldige mich schonmal für dumme fragen. Ich möchte während das Handy geladen wird per Mikrocontroller über die USB Verbindung mit dem Handy abfragen wie viel Akku das Handy gerade hat, während es lädt. Wenn das Handy mehr als 50% Akku hat soll eine Led Lampe leuchten. Welcher Controller ist notwendig um dies zu tun, und wie programmiere ich das? Ganz dumm gefragt, wie geht das?
Reihenfolge der Aufgaben: 1. Finde heraus, welches Handy du überhaupt hast 2. Lerne eine Programmiersprache für Mikrocontroller (z.B. C) 3. Suche dir einen Mikrocontroller aus, der einen USB Host hat 4. Lerne diesen zu programmieren 5. Arbeite dich in USB ein 6. Lerne eine Programmiersprache, um eine Applikation für dein Handy zu entwickeln 7. Programmiere eine Applikation für dein Handy, die den Akkustand abfragt, und per USB mit deinem Mikrocontroller kommuniziert 8. Ich helfe dir dann in 2 Jahren, wenn es darum geht, die LED an den Mikrocontroller anzuschließen.
Entweder Handy-firmware reverse-engineeren oder eigene Software auf das handy bringen, um den Ladezustand überhaupt per usb abfragbar zu machen. (akkustand dürfte in /proc oder /sys irgendwo stehen) Dann einen Controller mit Usb Host nehmen und abfragen (empfehle der einfachkeit halber ein Raspberry pi oder ähnliches wo schon ein linux drauf läuft.
Heißt das, ich brauche eine App auf dem Handy um den Akkustand herauszufinden? Geht das nicht, wenn ich nur den Mikrocontroller mit usb hab und dass er das durch die usb verbindung rausbekommt? Hab irgendwo was gelesen dass man USB Theathering oder sowas aktivieren muss beim handy
Markus schrieb: > Hab irgendwo was gelesen dass > man USB Theathering oder sowas aktivieren muss beim handy Warum sollte ein Handy jemals über USB den Ladezustandes seines Akku rausrücken? Und mit welchem USB Profil sollte das wohl gehen? Nur fürs Handy selbst ist sein Ladezustand wichtig. Nein, das Telefon erkennt nur, was für eine Sorte USB Host an der anderen Seite ist und schlägt dann vor, nur zu laden, sich als Massenspeicher anzubinden oder, oder...
Nein, du kannst ein Handy nicht einfach so per USB fragen, wie voll dessen Akku ist. Dazu brauchst du mindestens eine App auf dem betreffenden Gerät, welche den Ladezustand auf der USB-Schnittstelle erzählt. Oder per Bluetooth.
Markus schrieb: > Ich möchte während das Handy geladen wird per Mikrocontroller über die > USB Verbindung mit dem Handy abfragen wie viel Akku das Handy gerade > hat, während es lädt. Wenn das Handy mehr als 50% Akku hat soll eine Led > Lampe leuchten. Wenn Du währen des Ladens (USB-) Daten übertragen willst dauert das Laden deutlich länger, denn das Mobiltelefon darf dann nur noch 500 mA Stom aufnehmen. S. R. schrieb: > Oder per Bluetooth. Das dürfte die bessere Lösung sein. Eine App auf dem Telefon wird ohnehin benötigt.
S. R. schrieb: > Dazu brauchst du mindestens eine App auf dem > betreffenden Gerät, welche den Ladezustand auf der USB-Schnittstelle > erzählt. Und das ist ja nur die eine Hälfte. Auf der anderen Seite muss auch noch ein USB Host hängen, der sowas auswerten kann. Ein HID Devicetreiber weiss davon nichts und alle anderen Treiber muss man sich selber schreiben. Nicht mal USB Funkmäuse geben ihren Batteriezustand preis und Bluetooth Mäuse auch nicht.
Eingebaute LEd aktivieren, fertig.
Bei Android Smartphones kann man den Batteriestatus über die USB Schnittstelle abfragen, wenn die "Entwickleroptionen" und darin das "Debugging über USB" aktiviert sind. Einfach das Android SDK auf einen PC installieren, konfigurieren und folgenden Befehl ausführen: ./adb shell cat /sys/class/power_supply/battery/batt_attr_text Nun musst du "nur" noch die Funktionen von adb mit einem Mikrocontroller nachbilden. Ich würde dafür aber lieber einen mini PC verwenden - ist ganz bestimmt viel viel einfacher.
S. R. schrieb: > Dazu brauchst du mindestens eine App auf dem > betreffenden Gerät, welche den Ladezustand auf der USB-Schnittstelle > erzählt. > > Oder per Bluetooth. Kopple ich mein Android-Handy per Bluetooth mit der Freisprechanlage meines Autos, zeigt dieses auf dem Radio-Display neben den Netzwerkbalken auch den Batterieladezustand des Handys an. - Ohne spezielle App - Ohne Kabelverbindung Es muss also über Bluetooth ziemlich einfach gehen.
Per Bluetooth sollte bei allen Handys gehen, da es eine Grundfunktion für die Freisprechanlage ist. Ist sicherlich ein einfacherer Ansatz, da diese Schnittstelle standardisiert sein muss. Christian_RX7
Stefan U. schrieb: > Bei Android Smartphones kann man den Batteriestatus über die USB > Schnittstelle abfragen, wenn die "Entwickleroptionen" und darin das > "Debugging über USB" aktiviert sind. > > Einfach das Android SDK auf einen PC installieren, konfigurieren und > folgenden Befehl ausführen: > > ./adb shell cat /sys/class/power_supply/battery/batt_attr_text > > Nun musst du "nur" noch die Funktionen von adb mit einem Mikrocontroller > nachbilden. Ich würde dafür aber lieber einen mini PC verwenden - ist > ganz bestimmt viel viel einfacher. Das hört sich doch nach ner guten Lösung an. Aber was meinst du mit Mini PC? Ich will ja dass der chip diesen batteriestatus verwendet um eine Lampe an bzw aus zuschalten.
Frank M. schrieb: > Kopple ich mein Android-Handy per Bluetooth mit der Freisprechanlage > meines Autos, zeigt dieses auf dem Radio-Display neben den > Netzwerkbalken auch den Batterieladezustand des Handys an. Ich habe mal ein wenig recherchiert. Das Geheimnis, wie man einem Mobiltelefon über Bluetooth den Akkuladezustand entlockt, ist in der sogenannten "Hands free profile specification", welche die Kommunikation mit einer Freisprechanlage beschreibt, dokumentiert: https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=238193&_ga=1.95975068.1635866346.1453465510 Mit dem Kommando AT+CMER kann man den Ladezustand auslesen. Die Antwort sieht folgendermaßen aus: +CIEV: <Battery level Ind>,<Value> Siehe Kapitel 4.7 in obiger Dokumentation. Also: - Bluetooth-Adapter an µC - Bluetooth Verbindung herstellen mit dem Mobiltelefon - Ladezustand abfragen - Wenn Schwellwert erreicht, LED an. In das "Hands free profile" muss man sich natürlich erstmal reinfuchsen. Die Dokumentation (siehe obigen Link) scheint aber ausführlich genug dafür zu sein.
Frank M. schrieb: > - Bluetooth-Adapter an µC Zusatz: nicht jeder Bluetooth-Adapter unterstützt das "Hands free profile". In https://www.mikrocontroller.net/articles/Bluetooth finde ich nur eines, wenn ich nach "HFP" suche.
> Mini PC ist Mini PC, was gibt's da zu erklären? Würde eher so etwas vorschlagen. Kostet nur einen Bruchteil und hat die passenden Anschlüsse für die Lampe. Mit etwas gutem Willen, könnte man es so gerade noch als "Mikrocontroller mit USB-Host" bezeichnen. http://www.golem.de/news/raspberry-pi-zero-angetestet-der-bastelrechner-fuer-stille-dunkle-ecken-1601-118584.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.