Lycos Life Wearables: NFC Ring und Smartes NFC Armband

lycos-7band-ring

LYCOS, das Webportal mit dem Hundelogo mag dem einen oder anderen noch aus den 90ern bekannt zu sein. Nachdem die Firma lange nichts von sich hören ließ scheint nun Leben zurück zu kommen: in einer Presseankündigung weisst man auf den 08. Juni 2015 hin, an dem die Produktlinie LYCOS Life vorgestellt wird.

Die ersten zwei Produkte: ein Smart Armband für $124.99 und ein Ring für $59.99. Die Geräte sollen Bluetooth und NFC als Schnittstelle bieten und Daten per Tap to Transfer (T2T) Protokoll austauschen können. Das Smartband bietet die üblichen Sensoren zum Monitoren von Aktivität, Schlaf, Herzfrequenz.
Als weitere Features bietet der “NO Passwords” Personal Security Manager das Eingeben von Passwörtern zu erleichern und ein Advanced Fitness Monitor darf natürlich auch nicht fehlen.

Für $59.99 scheint der NFC Ring im Vergleich zu anderen Ringen sehr teuer zu sein, ausser er bietet weitere Features als nur einen eingebauten NFC Tag. Für $59.99 scheint der NFC Ring im Vergleich zu anderen Ringen auf den ersten Blick sehr teuer zu sein, da er aber mit einer Batterie und Bluetooth BLE 4.0 ausgestattet ist, bietet er gegenüber den einfachen NFC Tags scheinbar zusätzliche Features.

Produktseite: http://www.lycos.life
Pressenotiz: http://corp.lycos.com/wp-content/uploads/2014/11/Final-June-5.pdf
Twitter Account: https://twitter.com/lycos_life
Android App: https://play.google.com/store/apps/details?id=com.lycos.lycoslife

Advertisements

NFC Wearables

In diesem Blogpost soll eine Liste von NFC Wearables gesammelt werden. Als erstes gleich ein paar Armbänder evtl später einmal gefolgt von Schmuckstücken (?) oder worin auch immer NFC Chips integriert werden. Falls iBeacons ebenfalls ihre Daseinsberechtigung finden und in Wearables integriert werden dann werde ich sie hier ergänzen. NFC Ringe sind bereits in einem älteren Blogpost zusammengetragen.

Haloband

haloband

Das Haloband war das erste Armband mit NFC Chips. Zuerst als Kickstarter Projekt von chinesischen Designern iniziiert und aufgrund des großen Erfolges gleich im Anschluss auf Indiegogo ebenfalls mit einem mehrfachen der geplanten Summe erfolgreich durchgeführt. In diesem Silikonband stecken 3 NTAG203/NTAG213 NFC Tags mit dem unterschiedliche Events auf einem NFC Phone grtiggert werden können.

Kickstarter Projekt ab 19$ (bis 16.01.2014) https://www.kickstarter.com/projects/haloband/haloband-control-your-smartphone-with-simple-wrist
Indiegogo Kampagne (20.01.2014-08.03.2014) https://www.indiegogo.com/projects/haloband-control-your-smartphone-with-simple-wrist-move
Twitter Account https://www.twitter.com/iHaloBand
Website http://www.haloband.me/
HALOBAND App https://play.google.com/store/apps/details?id=com.haloband.android

NFC Leder Armband

nfc_leather_bracelet
Es geht auch ohne Kunststoff – mit diesem Lederarmband für 10EUR (+ 4EUR Versand)! Zusätzlich hebt es sich noch von den anderen NFC-Armbändern ab, da es mit 3 NFC Chips ausgeliefert wird.
Website http://www.nfcleatherbracelet.com/
Kickstarter Projekt (02.09.2014-02.10.2014) https://www.kickstarter.com/projects/nfcleatherbracelet/the-first-leather-nfc-bracelet-with-3-chips
Twitter Account https://twitter.com/NLB_Support

UpLocket – Medaillon

uplocket
Wer die Arme bereits mit Uhren und Armbändern behängt hat kann sich den Hals mit einem per 3D-Drucker erstellten Medaillon für $25 verschönern. Todd Blatt’s neues Kickstarter Projekt macht’s möglich. Welcher NFC-Tag Typ hier verwendet wird war auf der Webseite leider nicht zu erfahren.
Kickstarter Projekt (21.09.2014 – 23.10.2014) https://www.kickstarter.com/projects/baltimore/uplocket-a-classic-accessory-with-contemporary-con
Todd Blatt’s Blog http://toddblatt.blogspot.de/
Todd Blatt’s Facebook Seite https://www.facebook.com/tblatt

Simples NFC Armband

nfc-tag-shop-armband

Wer es gerne einfach und günstig mag und einfach nur einen NFC Tag am Arm tragen will greift auf ein herkömmliches Armband zu, wie es zB vom NFC-Tag-Shop angeboten wird. Auf den NTAG203 können 168 Bytes geschrieben werden.

NFC Anhänger

nfc-anhaenger

nfc-herz

Ebenfalls im NFC tag Shop erhältlich ist das 7,90EUR NFC Herz und einige andere NFC-Anhänger (unterschiedliche NFC-Tag Typen)
http://www.nfc-tag-shop.de/

Arduino M24SR NFC Tag Library

M24SR_NFC_Tag_with_I2C_Interface
Gegenstand dieses Blogartikels ist der ST M24SR im praktischen Einsatz mit einem Arduino:
Oft ist eine Benutzerschnittstelle erforderlich, wenn eine Mikrokontroller Schaltung konfiguriert werden muss. Falls ein paar Taster, evtl inkl. Mini-LCD zu teuer sind bzw das Gerät nicht über Bluetooth-, RF- oder Ethernet-Schnittstelle verfügt kann die sehr stromsparende, kostengünstige NFC-Schnittstelle zum Einsatz kommen. Der M24SR von ST dient in dieser Konstellation als NFC-I2C-Brücke zum Auslesen von Logeinträgen, Status- oder Fehlercodes und zum Konfigurieren per Smartphone. Dieser NFC-Chip ist gegenüber den komplexen NFC-Controllern (zB PN532) recht günstig ($0.34 – $1.88) da er nicht alle NFC-Modie wie Reader/Writer, P2P und Card-Emulation unterstützt sondern nur als NFC-Tag fungieren kann. Daten können in den Speicher (EEPROM) des Chips entweder per I2C-Schnittstelle (Arduino) oder per NFC (NFC Phone, Smartcard-Reader) geschrieben bzw ausgelesen werden.

Was wird benötigt?

  • ST M24SR Chip
  • Breadboard + Verbindungskabel
  • SO8-Sockel oder SO8-DIL8-Adapter-Platine zum Auflöten des Chips
  • Arduino Duemilanove (o.ae.)
  • Arduino M24SR Library
  • Antenne: Größe 75 mm x 48 mm, 6 Windungen
  • 10k Ohm Pull-up Widerstand

Setup

Das IC mit 8 Pins ist recht überschaubar zu verdrahten: Spannungsversorgung (GND, VCC), I2CInterface (SDA, SCL),  Antennenanschlüsse (AC0, AC1) und optional RF disable, Schreib-/Leseereignisse (GPO).

    • Schaltung zusammen stecken:

      Pinout:
      -------------------------------------------------------------------------------
      M24SR -> Arduino / resistor / antenna
      -------------------------------------------------------------------------------
      1 RF disable -> TODO not used
      2 AC0 (antenna) -> Antenna
      3 AC1 (antenna) -> Antenna
      4 VSS (GND) -> Arduino Gnd
      5 SDA (I2C data) -> Arduino A4
      6 SCL (I2C clock) -> Arduino A5
      7 GPO -> Arduino D7 + Pull-Up resistor (>4.7kOhm) to VCC
      8 VCC (2...5V) -> Arduino 5V
      -------------------------------------------------------------------------------
    • Arduino M24SR-Lib https://github.com/rena2019/ArduinoM24SR herunterladen

Beispiele

Sample: SystemFile

Dieses Beispiel zeigt nur die Eigenschaften des Tags an (UID, Speichergrösse, Produktcode). Es dient nur zum Überprüfen der korrekten Verdrahtung/Funktionsweise des Chips. Dafür ist weder Smartcard-Reader noch NFC-Smartphone erforderlich.

#include #include
#include
#include
#include
#define gpo_pin 7
M24SR m24sr(gpo_pin);

void setup()
{
Serial.begin(9600);
//for debug purpose
//m24sr._verbose = true;
//m24sr._cmds = true;
m24sr._setup();
m24sr.displaySystemFile();
}

void loop()
{
}

 

Sample: NDefWrite

Einfachstes Beispiel, bei dem eine (von drei) vordefinierten NDef-URL-Records in den M24SR via I2C geschrieben wird. Nach einem Reset wird der Record jedesmal neu geschrieben und kann mit einem NFC-Smartphone ausgelesen werden (Browser öffnet automatisch URL)

Sample: NFC-Info-Display

Für dieses Beispiel muss der GPO-Pin mit einem Pullup-Widerstand zusätzlich zu den I2C-Leitungen an den Arduino angeschlossen werden. Über diesen Pin erhält der Arduino ein Signal bei Schreib-/Leseversuchen über das RF-Interface. Beschreibt man den NFC-Tag mit einer App (z.B. NFC-TagWriter oder ST M24SR Demo App) so wird der Inhalt des NDEF-Records auf dem optional via SPI angeschlossenen TFT zb 128×160 angezeigt.

Arduino_M24SR_Antenna_TFT_CIMG4837
Bei gleichzeitiger Nutzung von mehreren Bibliotheken (NDef, M24SR) kommt man mit dem Arduino schnell an die Grenzen des RAMs. Bei der Implementierung der M24SR-Bibliothek kam es mehrfach zu unerklärlichem Verhalten, die Funktion displayFreeRAM legte dann das Problem offen: Speicher zu klein :-/

Links
Blogartikel: ST M24SR – Low-Cost NFC Tag mit I2C-Schnittstelle
Arduino M24SR Lib (Source Code) https://github.com/rena2019/ArduinoM24SR
ST M24SR64-Y Datenblatt http://www.st.com/web/en/resource/technical/document/datasheet/DM00067892.pdf
Google Play – ST M24SR Demo App https://play.google.com/store/apps/details?id=com.nfc.m24srdemo
Google Play – NFC TagWriter App https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter

ST M24SR – Low-Cost NFC Tag mit I2C-Schnittstelle

IC-SO8

STMicroelectronics bietet sehr günstige ($0.34 – $1.88) Bausteine an um die NFC-Schnittstelle in eigene Schaltungen/Produkte zu intergrieren: M24SR

Features

* NFC Forum Tag Type 4 (basierend auf ISO 14443 RF-Interface)
* 1 MHz I2C-Schnittstelle (2.7 bis 5.5 V)
* EEPROM Speichergrössen: 2, 4, 16, 64 Kbits mit built-in NDEF Unterstützung
* ‚RF disable‘-Pin erlaubt der Anwendung den RF Zugriff per NFC Phone zu kontrollieren
* 128-bit Passwortschutz
* Ausgangspin zum Triggern von Applikationen (bei unterschiedlichen Ereignissen)
* einfaches Antennen Design
* 7 Byte UID

Der M24SR wird u.a. im SO8-Package (neben TSSOP8- und UFDFPN8-Package ) angeboten sodass er sogar ohne SMD-Werkzeug auf PCB eingelötet werden kann. Das Konkurrenzprodukt NTAG I2C (NT3H1101/NT3H1201
) von NXP wird im Gegensatz nur als XQFN8-Package (Body 1.6 x 1.6 x 0.6mm) angeboten.

Praxis

M24SR-Pin-Layout
Schliesst man an die AC0 und AC1 Pins des Baustein nur eine Antenne an (5 Windungen aus dünnem Kabel um 2 Finger gewickelt) kann er als einfacher NFC-Tag genutzt werden. Mit einem NFC Android Smartphone z.B. kann man den Tag auslesen, bzw mit einer App mit Text-,URI-, etc NDEF-Records beschrieben werden. Das Besondere an dem Chip ist allerdings die I2C-Schnittstelle. Schliesst man zusätzlich die Pins VSS alias GND (Pin4), VCC (Pin8), SCL (Pin6) und SDA (Pin5) an einen Mikrokontroller an können hierüber Daten an den M24SR gesendet werden und aus dem statischen NFC-Tag wird ein dynamischer (z.B. Temperatur als NDEF-Record oder URI mit One-Time-Password).

GPO (General Purpose Output) Pin

Verbindet man zusätzlich noch den GPO-Pin (Pin7) kann der angeschlossene Mikrokontroller Events empfangen, wenn z.B. die Daten im Speicher via RF-Interface geändert worden sind. Somit ist es möglich Daten aus dem M24SR auszulesen ohne die RF-Kommunikation zu unterbrechen.

App Kompatibilität

ST bietet im Google Play Store die ST M24SR Demo App an, um den Tag zu beschreiben/auszulesen. Da der Tag aber NFC-Forum Tag Type 4 kompatibel ist können auch andere Apps beispielweise die NXP TagWriter App benutzt werden.

Screenshot_M24SR_Demo_App   Screenshot_M24SR_Demo_App_NDEF_Editor

Am PC lässt sich der NFC-Tag wie eine kontaktlose (ISO14443-4) Smartcard auslesen:

screenshot_mysmartcardioshell_m24sr

 

Links und Info

ST M24SR64-Y Datenblatt http://www.st.com/web/en/resource/technical/document/datasheet/DM00067892.pdf
Evalboard M24SR-DISCOVERY 32EUR http://www.exp-tech.de/Shields/Wireless/RFID/M24SR-DISCOVERY-Dynamic-NFC-RFID-tag.html
Google Play – ST M24SR Demo App https://play.google.com/store/apps/details?id=com.nfc.m24srdemo
ST M24SR Demo App – Source Code  http://www.st.com/web/catalog/tools/FM147/SC1871/PF260169
Mouser: STMicroelectronics M24SR Dynamic NFC/RFID Tag ICs http://www.mouser.com/new/stmicroelectronics/stm-m24sr-nfc-rfid/?cm_mmc=PressRelease-PR-_-STMicro-_-M24SR_RFIDNFC-_-2014-04-02
NXP NTAG I2C (NT3H1101/NT3H1201) http://www.nxp.com/documents/short_data_sheet/NT3H1101_1201_SDS.pdf

Android HCE(Host Card Emulation) JavaScript App alias Virtual JavaScript Smartcard

Die App zu diesem Artikel ist eigentlich aus drei Gründen entstanden:
* zur Evaluierung der Android HCE Funktionalität
* zur Evaluierung der Mozilla Rhino Bibliothek
* weil ich immer gern das passendes Tool parat habe

Was kann die App?

virtualjavascriptcard
Eigentlich nichts Grosses. Ein Byte-Array einem JavaScript (via Rhino-Bibliothek) übergeben und den Rückgabewert des JavaScripts wieder in ein Byte-Array konvertieren. Das einzig Spannende daran ist dass das HCE-Framework damit (via Aufruf der processApdu Funktion) befüllt wird. D.h. mit dem richtigen JavaScript-Code, den man selber editieren muss, kann man beliebige NFC Smartcards emulieren. Einziger Wermutstropfen: fehlende AIDs muessten bei Bedarf im Source-Code der App(!) ergänzt werden und die App müsste dann natürlich neu kompiliert und installiert werden. Aber diese Restriktion lässt sich bei einem gerooteten Gerät auch umgehen.

 

In der Praxis

Das einfachste JavaScript würde so aussehen:

function processApdu(apdu){
return new Array(0x90, 0x00);
}

Die virtuelle Karte würde jede Anfrage mit einem Statusword (SW) von 0x9000 (OK) quitieren.
Testen kann man das ganze wie folgt:
1. App installieren: APK-Datei direkt mit dem Smartphone runterladen und Installationsdialog bestätigen (Sicherheit | Geräteverwaltung | Installation aus andeten Quellen zulassen). Oder
1a. aus den Sourcen kompilieren, weil man evtl eine andere AID ergänzen möchte. Hierzu den Source herunterladen, AID mit folgender Zeile:

<aid-filter android:name="xxxxxxxxxxxx" />

in apduservice.xml ergänzen, mit dem SDK kompilieren und dann installieren. Optional könnte man
1b. Xposed-Framework nutzen: bei einem gerooteten Gerät kann man sich 1a auch sparen, wenn man das XposedModifyAidRouting-Modul nutzt. Hiermit können alle SELECT-Kommandos auf die App umgebogen werden und das Ergänzen von neuen/benötigten AIDs wird dynamisch erledigt.
2. JavaScript evtl verändern: nach dem ersten Start der App kann die HCE.js Datei auf den per USB-Kabel angeschlossenen PC editiert werden. Hierzu die Datei erst vom Android Gerät per adb (befindet sich im Android SDK) kopieren, zB:

~/adt-bundle-linux-x86_64-20130219/sdk/platform-tools/adb pull /sdcard/VirtualJavaScriptCard/HCE.js ~/HCE.js

Nun das Skript je nach Wunsch anpassen, zB alle Kommandos mit der Ausgabe eines File Control Information (FCI) Templates für Mastercard beantworten (macht zwar kein Sinn soll nur ein Beispiel sein)

function processApdu(apdu) {
return new Array(0x6F, 0x23, 0x84, 0x0E, 0x32, 0x50, 0x41, 0x59, 0x2E, 0x53, 0x59, 0x53, 0x2E, 0x44, 0x44, 0x46, 0x30, 0x31, 0xA5, 0x11, 0xBF, 0x0C, 0x0E, 0x61, 0x0C, 0x4F, 0x07, 0xA0, 0x00, 0x00, 0x00, 0x04, 0x30, 0x60, 0x87, 0x01, 0x01, 0x90, 0x00);
}

Danach die editierte Datei einfach wieder auf das Gerät zurück kopieren:

~/adt-bundle-linux-x86_64-20130219/sdk/platform-tools/adb push ~/HCE.js /sdcard/VirtualJavaScriptCard/HCE.js

3. Interaktion mit Smartcard Reader testen, zB mit MySmartcardIOShell (interaktive Shell zum Senden von APDUs):

$ java -cp ./MySmartCardIOShell.jar -Dsun.security.smartcardio.library=/lib/x86_64-linux-gnu/libpcsclite.so.1 MySmartCardIOShell

Android Gerät auf den Kontaktlos-Reader des PCs legen, verbinden und APDU senden. Mit dem Nexus10 würde das ganze ungefähr so aussehen:

-/term
0: REINER SCT cyberJack RFID basis 0, sun.security.smartcardio.TerminalImpl, card present: true
protocol: T=1, ATR: 3b 80 80 01 01
>/sel 325041592E5359532E4444463031
=> 00 a4 04 00 0e 32 50 41 59 2e 53 59 53 2e 44 44
46 30 31
<= 6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46
30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 04
30 60 87 01 01 90 00
Status: OK
>

Das gewünschte JavaScript wird durch Auswahl in der Checkbox-Liste der App aktiviert, die App muss aber nicht aktiv sein um Anfragen zu beantworten, da hierfür eine Implementierung des HostApduService im Hintergrund läuft.

Probleme

Wenn mehr als 1 App zum Bezahlen installiert ist kann man unter Einstellungen | Mobil bezahlen die gewünschte App auswählen. Aus Evaluierungszwecke war auf meinem Tablet die Tapp App installiert (und mit keinem Account verknüpft). Diese Konstellation führte dazu dass entsprechende SELECT Kommandos nicht beantwortet werden konnten und die aufrufende Reader Anwendung hing. Nach Auswahl der VirtualJavaScriptCard App als Bezahl-App war das Problem behoben.

payment_select

Ausserdem kann man emulierte Karte nur mit Android Devices ab 4.4 auslesen, da hierfür der NFC-Controller in einen speziellen Modus mit enableReaderMode gesetzt werden und Android Beam ausgeschaltet sein muss.

Auf meinem Nexus 10 scheint sich der Broadcomm NFC-Controller ab und zu mal zu verabschieden. Dann hilft nur ein deaktivieren der NFC-Funktionalität mit anschliessender Re-Aktivierung.

Beispiel: Kreditkarte / PPSE

Mit dem beigefügten HCE_PPSE.js Skript kann man bereits Teile einer Kreditkarte emulieren. Cardpeek zeigt zB folgende Daten an:screenshot-cardpeek-emv

Oder man schaut sich mit dem MasterCard Terminal Simulator an welche Kommandos an die Karte gesendet werden:

screenshot_mastercard_terminal_simulator

Links

Virtual JavaScriptCard App – Source Code https://github.com/rena2019/VirtualJavaScriptCard
XposedModifyAidRouting https://github.com/johnzweng/XposedModifyAidRouting
Blogartikel: List of HCE (Host Card Emulation) Apps

Protocoder – schnell mal eine Android App coden

Protocoder IDE
Protocoder IDE

Protocoder ist eine App, welche mich seit langem mal wieder sehr fasziniert hat. Der Name sagt schon alles über sie aus: Proto(type)coder. Denn genau dazu ist sie da: um sehr einfache Prototypen zu erstellen. Hierzu bringt die App ein völlig neues Konzept mit: eine IDE, welche direkt über den Browser eines PCs zu erreichen ist. Dazu wird nach App-Start ein Webserver auf Port 8585 bereitgestellt. Alternativ kann das Gerät auch per USB an einen PC angeschlossen und die Verbindung (mit dem adb Tool aus dem Android SDK) getunnelt werden:

$ ./adb forward tcp:8585 tcp:8585
$ ./adb forward tcp:8587 tcp:8587

Somit ist die IDE auch ohne Wifi via lokalem Webserver unter http://localhost:8585/ erreichbar.

Funktionsumfang

Nach dem Start der App können sofort die mitgelieferten Beispiele gestartet werden und man versteht recht schnell welchen Funktionsumfang die App in etwa bietet:

Screenshot Protocoder Examples  Protocoder MyProjects
Version 0.8 kommt mit folgenden Beispielen:

  • AccelerometerPlots (Beschleunigungssensorgrafisch darstellen)
  • Camera (Bild mit der Kamera aufnehmen und abspeichern)
  • Canvas (Kreise auf einen Canvas anhand von Beschleunigungssendordaten malen)
  • Dashboard (Plots auf dem Dashboard anzeigen)
  • FileIO (Daten in Datei schreiben)
  • GPS (Positionsdaten ausgeben)
  • KeyEvents (
  • NFC (NFC Tag lesen, bzw beschreiben)
  • OSC (OSC networking protocol Beispiel)
  • OpenStreetMaps (Teil der OpenStreetMaps anzeigen)
  • PureData (PureData Patch ausführen)
  • Sensors (Sensordaten anzeigen)
  • Sound (OGG-Datei sbspielen)
  • TextToSpeech (Text per Sprache ausgeben)
  • UBoard_IOIO (Ansteuerung des IOIO-Boards)
  • UBoard_MAKR (Ansteuerung des MAKR Boards)
  • UI (Bedienelemente anzeigen)
  • Video (m4v-Video abspielen)
  • VoiceRecognition (Spracherkennung und anschliessende Ausgabe)
  • Webview (HTML-Anzeige)
  • timer (wiederkehrende Funktionsaufrufe mit Timer)

Java/Android API via Javascript

Codiert werden die Prototypen in JavaScript, das zur Laufzeit interpretiert wird. Hierfür wird die Android API für einfache Funktionsaufrufe gewrappt.
Ein Beispiel: mit folgendem Skript wird ein NFC-Tag ausgelesen, bzw bei Betätigen des Knopfes beschrieben.

var nfcinfo = ui.addLabel("tap to get NFC id and content", 20, 20, 500, 100);

//when tapping on a nfc the id and content will be displayed
//on the label
sensors.onNFC(function (id, data) {
console.log(„the nfc id is: “ + id, data);
nfcinfo.setHTMLText(„id: “ + id + “
data: “ + data);
});

//when we click
//the next touched nfc will be written with the data
ui.addButton(„Write to NFC“, 0, 200, 500, 100, function(){
sensors.writeNFC(„this is a test“, function() {
nfcinfo.setText(„data written“);
});
});

Abzüge in der B-Note

Der API-Funktionsumfang ist zZt noch recht überschaubar. Viele Funktionen habe ich vermisst bzw sind noch in der Entwicklung. Wenn irgendwelche Android-API Klassen fehlen muss man sich die App wohl selber erweitern und kompilieren.
Eine typische Schwachstelle bei der App ist – wie bei vielen kostenlosen Programmen – die fehlende Doku. Wäre sie in ausreichender Form vorhanden hätte man innerhalb von Minuten den ersten Prototypen fertig gestellt.
Und ja, Protocoder ist noch nicht ganz fertig / Bug-frei: Protocoder_Crash

Weitere Infos

List of HCE (Host Card Emulation) Apps

host-based-card
I like lists and I like NFC therefore here comes a list of Android apps that emulate contactless smartcards on an Android Phone >=4.4 with HCE (Host-based Card Emulation):

Update: 2018-07-13
WeChat
* AID ??? (MicroMsg.HCEService ?)
* Play Store https://play.google.com/store/apps/details?id=com.tencent.mm

Update: 2018-07-05
SALTO JustIN Mobile
* AID A000000743CC843413925E20C59B0100
* https://play.google.com/store/apps/details?id=com.saltosystems.justin
* SALTO JustIN Mobile Zutrittskontrolle für elektronische Zylinder (Mifare DESFire EV1-Karte mit AES-128-Bit-Verschlüsselung

Google Pay
* AID 4F53452E5641532E3031 (‚OSE.VAS.01‘), A000000476D0000101, A000000476D0000111, A00000039656434103F1216000000000 (NXP MIFARE 2GO?)
* Google Pay App  com.google.android.apps.walletnfcrel

Fidor Pay
* AID 325041592E5359532E4444463031 (PPSE ‚2PAY.SYS.DDF01‘), A0000000041010 (MasterCard), A0000000042203 (MasterCard U.S. Maestro), A0000000043060 (Mastercard Maestro Debit)
* Fidor Smart Banking App https://play.google.com/store/apps/details?id=com.fidor.fsw

Sparkasse – digitale Geldbörse
* AID 325041592E5359532E4444463031 (PPSE), A0000000041010 (Mastercard), A0000000043060 (Mastercard), A00000002501 (Amex), A000000025011001 (Amex), A0000000031010 (Visa), A00000005945430100 (girocard), A0000003591010028001 (girocard), D27600002547410100 (girocard), A00000052445500100 (rupay), A0000005241010 (rupay)
* Mobiles Bezahlen App https://play.google.com/store/apps/details?id=com.s_payment.mobiles_bezahlen

VR Banking
* AID 325041592E5359532E4444463031 (PPSE), D27600002547410100 (girocard_atm), A0000003591010028001 (girocard_eaps), A0000000041010 (Mastercard), A0000000031010 (Visa)
* Digitale Karten App https://play.google.com/store/apps/details?id=de.fiduciagad.android.vrwallet

Update: 2017-06-12
Backwerk
* AID A0000007220001
* https://play.google.com/store/apps/details?id=de.backwerk.app
* Backwerk Kundenkarte https://www.back-werk.de/kundenkarte/

Nordsee
* AID A0000007220000
* https://play.google.com/store/apps/details?id=com.nordsee.de.app
* Nordsee Gutscheinkarte http://www.nordsee.com/de/gutscheinkarte.html

Host-based Card Emulation
* Android API Guide https://developer.android.com/guide/topics/connectivity/nfc/hce.html

Android Host-based Card Emulation connected to ACR122U
* AID F0010203040506, F0394148148100
* Blog http://blog.opendatalab.de/hack/2013/11/07/android-host-card-emulation-with-acr122/
* Source Code https://github.com/grundid/host-card-emulation-sample

SEQR/Glase
* AIDs A0000000041010 (MasterCard), A0000000043060 (Mastercard Maestro Debit)
* App https://play.google.com/store/apps/details?id=com.seamless.seqr

boon
* AIDs A0000000041010 (MasterCard), A0000000043060 (Mastercard Maestro Debit)
* App https://play.google.com/store/apps/details?id=de.wirecard.boon

Shakepay
* AIDs A0000000031010 (Visa)
* App https://play.google.com/store/apps/details?id=com.shakepay.shake

tap-it
* AIDs F0394148148100
* App https://play.google.com/store/apps/details?id=ch.sandpiper.mwallet.tap_it

ByblosPay
* AIDs A0000000041010 (MasterCard), A0000000031010 (Visa International), A0000000980840 (Visa US Common Debit), F101010101
* App https://play.google.com/store/apps/details?id=mobi.foo.byblospay

PeoPay
* AIDs A0000006181010 (???), A0000000031010 (Visa), A0000000041010 (MasterCard)
* App https://play.google.com/store/apps/details?id=softax.pekao.powerpay

Payback
* AIDs D2760001670001 (PAYBACKPAY), D2760001670002 (PAYBACKCOLLECT), D2760001670003 (PBPAYCOLLECT)
* App https://play.google.com/store/apps/details?id=de.payback.client.android

ING Mobile Payments
* AIDs A0000000043060 (Mastercard Maestro Debit)
* App https://play.google.com/store/apps/details?id=com.ing.mobilepayments

MobilePay
* AIDs A0000000031010 (Visa), A0000000032010 (VISA Electron Debit)
* App https://play.google.com/store/apps/details?id=sk.tb.mp.tatraandroid

NAB (National Australia Bank)
* AIDs A0000000031010 (Visa), A0000000980840 (Visa US Common Debit)
* App https://play.google.com/store/apps/details?id=au.com.nab.mobile

La tua banca per Android
* AIDs A0000000041010 (MasterCard), A0000000032010 (VISA Electron Debit), A0000000031010 (Visa)
* App https://play.google.com/store/apps/details?id=com.latuabancaperandroid

Virtual PKI Smart Card
* AID A0000000010101
* Blog http://nelenkov.blogspot.de/2012/10/emulating-pki-smart-card-with-cm91.html
* Source Code https://github.com/nelenkov/virtual-pki-card/tree/master/hce-pki

SwipeYours
* AID A0000000031010 (Visa)
* Blog http://blog.simplytapp.com/2014/01/host-card-emulation-series-swipeyours.html
* App Download https://play.google.com/store/apps/details?id=to.noc.android.swipeyours
* Source Code https://github.com/dimalinux/SwipeYours
* also available as JavaCard Applet https://github.com/SimplyTapp/CardExamples/tree/master/CardApplet-VisaMSD-SwipeYours

TechBooster / C85-Android-4.4-Sample: NdefCard
* AID D2760000850101 (NXP Semiconductors, NDEF Tag Application V2.0)
* Source Code https://github.com/TechBooster/C85-Android-4.4-Sample/tree/master/chapter08

Google Wallet
* AID F0F00777FF5511
* App https://play.google.com/store/apps/details?id=com.google.android.apps.walletnfcrel

Tapp
* AID A0000000041010 (MasterCard), A0000000031010 (Visa), A0000002771010 (Interac)
* App https://play.google.com/store/apps/details?id=com.tapp
* SimplyTapp https://www.simplytapp.com/

Mobile Bitcoin Payment Solution
* AID F0F00777FF5511
* Mensa an Uni Züri akzeptiert Bitcoins http://www.netzwoche.ch/de-CH/News/2014/02/12/Mensa-an-Uni-Zueri-akzeptiert-Bitcoins.aspx?exURL=http://bitcoin.csg.uzh.ch/
* Download http://bitcoin.csg.uzh.ch/downloads/ or Google Play https://play.google.com/store/apps/details?id=ch.uzh.csg.mbps.client

LiqPay (Ukraine’s PrivatBank)
* AID A0000000041010 (MasterCard), 325041592E5359532E4444463031 (PPSE ‚2PAY.SYS.DDF01‘)
* App https://play.google.com/store/apps/details?id=ua.privatbank.liqpay
* Website http://old.privatbank.ua/en.html

NFC Spy
* AID F04E4643535059 (nfcspy xposed mod), F04E66E75C02D8 (androcheck’s xposed mod (xda)), …many many other / all
* App https://play.google.com/store/apps/details?id=com.sinpo.nfcspy
* Source Code https://code.google.com/p/nfcspy/

Module for NFC Host-Card-Emulation (HCE) Catch-All Routing
* AIDs: receive all APDUs packets for ANY AID
* Website/Info http://repo.xposed.info/module/at.zweng.xposed.modifyaidrouting
* XDA-Forum Thread:
[DEV] Xposed module: KitKat Card-Emulation catch-all AID Routing http://forum.xda-developers.com/showthread.php?t=2573430
* Source Code https://github.com/johnzweng/XposedModifyAidRouting

VirtualJavaScriptCard – Host-based Card Emulation with JavaScript
* AIDs: A000000151000000, A000000003000000, A0000000031010, A0000000041010, A000000167413000ff, 315041592e5359532e4444463031
* Source Code https://github.com/rena2019/VirtualJavaScriptCard

EMVemulator – Android app collects Mag-Stripe data and CVC3 codes from PayPass cards and emulates that informations
* AIDs: A0000000041010 (MasterCard), 325041592E5359532E4444463031 (PPSE ‚2PAY.SYS.DDF01‘)
* Source Code https://github.com/MatusKysel/EMVemulator

NFC-Matric-System-Demo – demo application for the Mobile Matric Card project for the National University of Singapore
* AIDs: F0010203040506, F0394148148100
* Source Code https://github.com/ryandao/NFC-Matric-System-Demo

CUA redi2PAY
* CUA (Credit Union Australia) redi2PAY payment app https://play.google.com/store/apps/details?id=au.com.cuscal.redi2pay.hcelite.cua001
* Homepage http://www.cua.com.au/

BBVA Wallet
* BBVA launches the first commercial solution for Visa cloud-based mobile payments http://vision.visaeurope.com/article/bbva-launches-the-first-commercial-solution-for-visa-cloud-based-mobile-payments/1cc552c76a9d06e567c113995e4ad784
* Google Play Store https://play.google.com/store/apps/details?id=com.bbva.bbvawallet

Announcements
* Wirecard erweitert Mobile Wallet Plattform um HCE-Technologie http://www.wirecard.de/newsroom/pressemeldungen/newsdetail/wirecard-erweitert-mobile-wallet-plattform-um-hce-technologie/
* Proxama and Cryptomathic: EMV Tokenised Transaction (EMV-TT) http://proxama.com/news/proxama-and-cryptomathic-create-mobile-contactless-payment-solution-leveraging-nfc-host-card-emulation/
* Visa to Enable Secure, Cloud-Based Mobile Payments http://pressreleases.visa.com/phoenix.zhtml?c=215693&p=irol-newsarticlePR&ID=1901153
* MasterCard to Use Host Card Emulation (HCE) for NFC-Based Mobile Payments http://newsroom.mastercard.com/press-releases/mastercard-to-use-host-card-emulation-hce-for-nfc-based-mobile-payments/
* SecureKey briidge.net Connect Authentication Service Supports Google Android HCE http://securekey.com/securekey-briidge-net-connect-authentication-service-supports-google-android-hce/
* Banco Sabadell picks Carta for HCE payments trial http://www.nfcworld.com/2014/03/04/328162/banco-sabadell-picks-carta-hce-payments-trial/
* Sberbank, Biggest Bank So Far to Adopt Host Card Emulation, Aims for 3 Million Users http://www.digitaltransactions.net/news/story/Sberbank_-Biggest-Bank-So-Far-to-Adopt-Host-Card-Emulation_-Aims-for-3-Million-Users

wenn's draußen mal regnet…