App für NFC, die gespeicherte Zahl auf NFC-Sticker bei jedem Lesen erhöht

Anno

Lt. Commander
Registriert
Sep. 2007
Beiträge
1.385
Hi,

ich hätte mal ne kurze Frage an euch.

Hintergrund:
Ich bin seit einiger Zeit Modellbauer und hab inzwischen ein paar Modelle (Hexakopter, Segelflugzeug, usw.).
Die alle werden mit unterschiedlichen Lipos (= Akku) betrieben und ein paar sind älter und ein paar neuer. Die Ladezyklen sind allerdings begrenzt und je älter ein Akku, desto weniger Kapazität ist noch übrig.

Jetzt kam mir folgende Idee:
Ich klebe auf jeden Lipo einen Sticker (max. 137 Bytes Speicherplatz). Jetzt könnte ich z. B. nach jedem Ladevorgang das Smartphone nur kurz an den Sticker halten und folgendes würde passieren:

- Daten auslesen
- gespeicherte Anzahl Zyklen um 1 erhöhen
- Daten speichern

Auch wäre z. B. ein Erstladedatum interessant, damit man weiß, wann der Akku das erste mal benutzt wurde.
Da die Speicherkapazität auch sehr begrenzt ist, könnte man auch Ladezyklen wöchentlich (oder monatlich zusammenfassen).




Kennt jemand vielleicht eine solche App, die (ganz einfach gesagt) eine Nummer beim Auslesen erhöht und diese dann wieder speichert?


Es gibt zwar ein paar NFC-Apps, aber leider konnte ich diese Funktion nicht finden.
Zahl auslesen - um 1 erhöhen - speichern würde schon reichen



aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaa
 
Einfacher:
Strichliste + Stift. Nummern auf Akkus schreiben und jedes Mal einen Strich hinzufügen. Wäre ziemlich einfach und nahezu kostenlos.

Wenn Du rumbasteln / rumspielen willst ok ;-)

Grüße
13inch
 
Hab ich auch einige Zeit gemacht ... ^^
Aber so nen kleinen NFC-Sticker fände ich schon ganz witzig (und teilweise auch praktisch ...) :D
 
gib dem sticker eine id und lass die zahl in einer datenbank/datei erhöhen, könnte man mit nem klick sdk vllt auch schon selbstmachen ^^
 
Genau so hatte ich es vor.
Nur würde ich die Daten lieber direkt auf dem Sticker speichern und nicht nur die ID auslesen.
Sonst könnte 1. nur mein Smartphone den Sticker lesen (nicht ganz so wichtig) und 2. müsste ich dann immer die Datenbank sichern (schon wichtiger).

Vier Zeilen würden ja z. B. reichen:

1. Zeile: "Erstladedatum:"
2. Zeile: falls leer: schreibe aktuelles Datum
3. Zeile: "Ladezyklen:"
4. Zeile: falls leer: schreibe 1, ansonsten erhöhe Zahl um 1


Kennst du so ein "Klick-SDK"? :)
 
Zuletzt bearbeitet:
Anno schrieb:
und 2. müsste ich dann immer die Datenbank sichern (schon wichtiger).

Du meinst, du müsstest die Datenbank auf deinem Handy ständig sichern, aber die Daten stattdessen direkt auf dem Tag abzulegen, welches Temperaturschwankungen, Erschütterung und Feuchtigkeit ausgesetzt sein wird wäre ok? Könnte man jetzt drüber diskutieren...

Wie auch immer, 137 Bytes sind ausreichend in deinem Szenario. Das Android SDK bringt jedenfalls alles mit, was du brauchst, mit Zusammenklicken wird das aber wohl nicht gehen.
 
Vielleicht hat ja schon jemand so ne Funktion irgendwo geschrieben oder hat Spaß an der Freude, das kurz umzusetzen. :)
 
Zuletzt bearbeitet:
Hi,
speicher doch einfach eine URL auf den NFC Chips.

xyz.com/akku.php?Id=01
xyz.com/akku.php?Id=02
usw.

Mit ein wenig PHP und MySQL, auch wenn das ein wenig oversized ist :-), sollte dein Vorhaben dann möglich sein.
 
Hm,

das mit der URL ist auch wieder so ne Sache. Man braucht dann eine Internetverbindung und einen Server, der das alles speichert.
Da finde ich die Speicherung auf dem Tag schon sinnvoller. Platz wäre ja genügend vorhanden.
 
Zuletzt bearbeitet:
Ich muss das hier mal wieder ausgraben. :D

Gibt's mittlerweile vielleicht ne App, die das nun kann?
Mir würde reichen, dass eine gespeicherte Zahl bei jedem Lesevorgang automatisch um 1 erhöht wird. :)
 
Hier ist eine Anleitung für das "increment integer":
https://github.com/skjolber/Fagmote/tree/master/Android/Near Field Communications

Bei "Task 4 - Compose and write tag payload" wird es beschrieben.

Ich hab die Anleitung bis Task 4, b, 3 befolgt. Bis dahin scheints noch einigermaßen zu funktionieren. Tags lesen und schreiben geht. :)
Aber leider check ich dann 4c nicht mehr. Und genau das wäre was ich bräuchte ...
Sonst ist da immer ein Code zum Einfügen dabei. Bei 4c leider nicht ... :(

In the onNewIntent() method

1. Detect og read the NDEF message and filter out the Text Record.
2. Get the Text Record text, parse and increment the number
3. Compose a new NDEF message and write it to the tag
4. Update the GUI with the resulting number

Hint: Use the instanceof operator to check the record type.

Also der Hint ist wohl dafür da, dass man kein String oder so hochzählt (geht ja nicht ^^).
Das lass ich jetzt mal weg. Zum Testen weiß ich ja dann, dass ein int drin steht. (Falls ich das jetzt richtig versteh?)

Dann zu 1.:
Also man soll die oben genannte NDEF message irgendwie filtern, damit kein Text mehr darin vorkommt?
Keine Ahnung ... :(

Meine onNewIntent sieht aktuell so (kann aber auch falsch sein ^^, es kommt zumindest kein Fehler):
@Override
public void onNewIntent(Intent intent) { // this method is called when an NFC tag is scanned
Log.d(TAG, "onNewIntent");
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
Log.d(TAG, "A tag was scanned!");
TextView textView = (TextView) findViewById(R.id.title);
textView.setText("Hello NFC tag!");
vibrate(); // signal detected tag :-)

Parcelable[] messages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (messages != null) {
Log.d(TAG, "Found " + messages.length + " NDEF messages");
NdefMessage ndefMessage = (NdefMessage)messages[0];


// parse to high-level records
try {
List<Record> records = new Message(ndefMessage);

Log.d(TAG, "Found " + records.size() + " records in message");
} catch (Exception e) {
Log.e(TAG, "Problem parsing message", e);
}

}
Message composedMessage = composeMessage("1");
NdefMessage composedMessageNdefMessage = composedMessage.getNdefMessage();
write(composedMessageNdefMessage, intent);

}



//
Geeeeht!! :D :)
 
Zuletzt bearbeitet:
Zurück
Oben