Englisch version   English version


Version Anpassungen
1.0 (2020-01-25) Initiale Version
1.1 (2020-03-07) Hilfe-URL korrigiert

Motivation

Für ein zukünftiges Projekt möchte ich ein Smartphone fernsteuern, d.h. ich habe keinen direkten Zugriff auf das Gerät. Für dieses Projekt möchte ich mich über den Ladezustand des Akkus informieren. Das Smartphone soll durch eine mit dem App Inventor erstellte App kontrolliert werden. Leider gibt es dort keine entsprechenden Funktionen. Aber man kann sie durch eine selbst erstellte Extension zur Verfügung stellen.


Download

Das ZIP-Archiv UrsAI2Battery zum Download. Das Archiv enthält den Quellcode, das kompilierte Binary zum Upload in den App Inventor und eine Beispiel-Anwendung.

Features

Die Extension stellt eine Reihe von Eigenschaften zur Verfügung, die Auskunft über den Akku-Zustand geben. Nicht alle Werte sind auf allen Smartphone-Typen verfügbar. In diesem Fall werden klar erkennbare Fehlerwerte zurück geliefert.

Block Typ Funktion Fehlerwert
Remaining Capacity Integer Liefert die Restkapazität des Akkus in Prozent. -1
Remaining Charge Integer Liefert die Restladung des Akkus in mAh. -1
Remaining Energy Integer Liefert die Restenergie des Akkus in mWh.
Kann ggf. aus Spannung und Restladung abgeschätzt werden.
-1
Voltage Integer Liefert die aktuelle Akkuspannung in mV. -1
CurrentNow Integer Liefert die aktuelle Stromaufnahme in mA.
Ein positiver Wert ist der Entladestrom, ein negativer Wert der Ladestrom.
-99999
Currant Average Integer Liefert die durchschnittliche Stromaufnahme in mA.
Ein positiver Wert ist der Entladestrom, ein negativer Wert der Ladestrom.
Der Zeitraum, über den der Durchschnitt berechnet wird, kann von der Hardware und ihrer Konfiguration abhängen.
-99999
IsCharging Boolean Gibt an, ob der Akku aktuell geladen wird. false

Beispiel

Eine kleine Beispiel-App zeigt die Verwendung der Extension (s. Download).

Screenshot Man sieht, dass einige Features bei dem Testgerät nicht unterstützt werden.

 

Werkzeuge

Für die Erstellung eigener Extensions habe ich einige Tipps zusammengestellt: AI2 FAQ: Extensions entwickeln.