Archiv der Kategorie: RFID

Saturn SmartPay – mit NFC Tags aber ohne Bargeld

TL;DR: Ein weiteres SmartPay Konzept, das sehr schön auflistet, was technisch machbar ist (Barcode-Scan, NFC-Tags, RFID-Tags, GooglePay), in dem beim Saturn vorgefundenen Status aber wohl mehr als Werbekampagne, denn dem Beschleunigen des Bezahlen dient.

Erstkontakt

Neugierig durch die Pressemeldung und mit 5 Minuten Zeit vor meiner Feierabend Zug-Heimfahrt, muss ich doch noch schnell einen kurz Abstecher in die Saturn Filiale in der Mönckebergstraße machen. Denn hier testet Saturn ab dem 05.12.2018 das kassenlose Bezahlen mit einer neuen App.

Den erster Kontakt mit der „Zukunft des Bezahlens“ mache ich gleich am Eingang im Untergeschoss des Saturns, als ich durch die Unterführung von Galeria Kaufhof komme und mir das Werbeplakat an der Eingangstür präsentiert wird. Mein erster Check an den Kassen im UG: „Wie sieht denn der Express-Schalter zum Entsichern der Ware aus?“. Doch finde ich am Ausgang des UGs keinen solch beschrifteten Bereich vor. Weiter geht’s durch den Markt zu den Rolltreppen und ich treffe auf weitere Werbeplakate, die am Fussboden und unter der Decke hängend auf die kurze 3-monatige Aktion aufmerksam. Im EG ist dann der Express-Schalter zu finden, neben dem sich auch gleich der Ausgang befindet.

Um am nächsten Tag gut vorbereitet zu sein, lade ich mir bereits zuhause die Saturn SmartPay App aus dem Google Play Store. „SmartPay“ als Suchbegriff reicht scheinbar nicht aus, da es mehr als 10 Apps mit demselben Namen gibt. Vor dem Kauf im Laden registriere ich mich mit meinem Namen und Email.

NFC-Tag/Barcode scannen, Bezahlen, Entsperren

Mit mehr Zeit und komme ich dann am darauf folgenden Tag und öffne die App, um mein Testkauf-Produkt (eine SD-Karte) mit dem NFC-Smartphone zu scannen. Die App startet sofort mit dem Scannen des Barcodes und das Produkt ist schneller in meinem Warenkorb als ich denken kann. Alternativ können viele Produkte neben dem Barcode-Scan auch durch Scannen des im SES-imagotag Preisschilder eingebauten NFC-Tags in den Warenkorb gelegt werden, doch dieser Vorgang ist selbst mit meinem Nexus 5X, das sonst keine Probleme mit der NFC-Kommunikation macht, sehr zäh/langsam und erfordert einen zweiten Anlauf.

Als nächstes soll nun bezahlt werden. Das kann man direkt per PayPal machen oder mit einer hinterlegen MasterCard, Visa oder Maestro-Karte. Ich wähle PayPal und merke schnell dass der 2FA-Login zwar sicherer ist, aber nervig, wenn man die SMS in einem Einkaufs-Tempel empfangen muss.

Mit der Rechnung in der App gehe ich nun zum leider nicht besetzten Express-Schalter, der sich direkt zwischen Ausgang und dem Service-Desk im EG befindet. 2 Mitarbeiter versuchen die lange Schlange am Service-Desk abzuarbeiten und nach 2 Minuten signalisiert mir eine Mitarbeiterin, dass sie gleich zu mir herüber kommen wird. In der Zwischenzeit schaue ich schonmal auf das nicht gesperrte iPad des Entsperr-Desks und werfe einen kurzen Blick darauf, um zu sehen dass 5 Kunden in den letzten 2 Stunden den Prozess bereits genutzt haben 😉

Die Mitarbeiterin kommt mit den einleitenden Worten, dass sie ohne Schulung nun auch das erste Mal den Entsperr-Prozess durchführend wird, wobei sie auch nicht genau weiß, ob die SD-Karte überhaupt mit einem RFID-Tag gesichert ist. Ich gehe mal davon aus dass es nicht der Fall ist, da der Express-Schalter nur durch die RFID-Schranke am Ausgang zu erreichen ist und bereits Alarm gegeben hätte. Die Mitarbeiterin überprüft meinen Einkauf in der Liste anhand meines Namens, da scheinbar kein Scanner zum Abscannen des QR-Codes aus der App vorhanden ist.

Kurz darauf gesellt sich noch eine Londoner Mitarbeiterin von Mishipay dazu und befragt mich nach meiner Meinung über die App. Nach ca 6 Minuten verlasse ich dann den Saturn – doch etwas länger – als wenn ich mich an die Kasse angestellt hätte.

TODO

Einen Tag später finde ich noch in meinem GMX-Spamordner eine EMail mit Kaufbestätigung von saturn.hamburg.smartpay@saturn.de Macht auch nichts, denn die Email ist im Grunde unnötig beinhaltet der QR-Code den Text „TODO“ und den Zeitstempel „12/8/17 13:13“

Was soll das Ganze?

Das ganze ist mehr als Werbekampagne gegen Amazon Go bzw als ein Experiment zu sehen, das für den wirklichen Einsatz natürlich noch nicht optimiert ist. Vorteilhaft wäre ein QR-Code auf den Werbeplakaten im Markt, um die App direkt zu installieren, denn nicht jeder Kunde hat Lust die App erst umständlich im App Store zu finden. Der Entsperr-Desk soll laut Mishipay in einer zukünftigen Version ganz durch ein verbessertes RFID-System entfallen. Außerdem ist GooglePay in der App noch nicht integriert, weil noch nicht freigegeben. Aber alle Tech-Nick-Freaks kommen voll auf ihre Kosten!

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

Tuit – ein weiterer NFC Ring

Tuit_Prototype

Einen Monat nachdem das NFC Ring Kickstarter Projekt erfolgreich abgeschlossen ist versucht ein weiterer Entwickler ebenfalls einen NFC Ring Projekt aufzusetzen? Tuit – A mobile security ring powered by NFC, so wird es von Jeff Fransen (Brooklyn, NY) betitelt. Der Ring soll aus 3 Teilen (+ NTAG203-Tag) bestehen, die per Ultraschallschweißen verbunden werden und kann für 25$ (Schwarz&Silber Style) vorbestellt werden.

Eine Tuit Lockscreen App zum Entsperren des Android NFC Smartphones wird es bei Gründung des Projektes geben, bei Erreichen eines Stretch Goals auch für Windows Phone.

Quelle: Kickstarter

Sesame Ring alias Charlie Card alias MBTA NFC Ticket in Ringform

Sesame_Ring
Kaum nachdem das NFC Ring Kickstarter Projekt erfolgreich beendet wurde startet ein neues Kickstarter Projekt, dass sich einen NFC Ring zum Ziel gesetzt hat: der Sesame Ring. Dieser Ring beinhaltet eine ‚Charlie Card‘ für die MBTA (Massachusetts Bay Transportation Authority = Betreiber des öffentlichen Personennahverkehrs in Boston und Umgebung). Bei erfolgreicher Gründung wird der Ring mit einem 3D-Drucker ausgedruckt. Es stehen deshalb verschiedene Farben (schwarz, weiss, rot, blau, orange, gelb), Muster, Größen zur Auswahl oder es kann auch optional ein eigenes Design verwendet werden.
Quelle:  Kickstarter

5Euro RFID/NFC Modul RC522 zum Auslesen von Mifare Tags

rfid-rc522-module

Das RFID-RC522 Modul stellt wohl den günstigsten Einstieg in die RFID/NFC-Welt dar. Ab ~5 EUR (inkl. Versand) kann man es bei verschiedenen (chinesischen) eBay Verkäufern erwerben. Herz der Platine ist der Reader-Chip MFRC522 von NXP zum Auslesen von ISO/IEC 14443 A/MIFARE Karten. Der Chip kann per I2C, SPI oder UART kommunizieren, das hier beschriebene Modul wird per SPI angesprochen.
Das Modul wird meisstens mit zwei Stiftleisten (gerade und gewinkelt), einem Mifare-Schlüsselanhänger und einer Mifare-Karte geliefert. Hat man eine der Stiftleisten eingelötet kann man es zB mit Dupont Kabelverbindern (male – female) mit einem Arduino verbinden. 7 Verbindungen (SDA an Pin10, SCK an Pin13, MOSI an Pin11, MISO an Pin12, IRQ n.v., GND an GND, RST an Pin5, 3.3V an 3V3) sind erforderlich:
rc522_mf522_arduino_spi

Gegenüber dem etwas teureren PN532 Arduino NFC Shield unterstützt dieses Modul allerdings kein Card-Emulation Mode, d.h. es kann keine NFC-Tags emulieren bzw es kann nicht mit einem NFC-Smartphone kommunizieren.

Source Code/Library

Source Code zum Ansprechen des Boards via Arduino findet man im Netz an verschiedenen Stellen:

Scheinbar basiert der Großteil des Codes auf den Sourcen von WWW.B2CQSHOP.COM / COOQRobot, teils in einer Klasse verpackt, teils einfach nur als C-Funktionen. So mal eben runterladen, Arduino Beispiel Sketch ausführen und Mifare Tag auslesen geht leider nicht auf Anhieb. Das einzige was man mit dem unveränderten Source Code (zB cardRead.ino) anzeigt kann ist die 4-Byte UID einiger Mifare Tags:
cardread_rc522_mifare_uid
Einige Teile des oben verlinkten Source Codes sind schlichtweg fehlerhaft implementiert, beispielweise kann angeblich die Größe des Mifare-Speichers ausgegeben werden („read card storage volume“). Ausserdem funktioniert die Bibliothek nur mit 4-Byte UID Karten; 7-Byte UID Karten können nicht ausgelesen werden, da das ISO14443 Antikollisionsverfahren nicht korrekt genutzt wird.

Mifare Classic Tags auslesen

Einen einfachen Mifare Classic Memory Dump kann aber relativ einfach codiert werden, wenn man weiss wie der Mifare Speicher unterteilt ist und wenn man die korrekten Keys benutzt:

mifare_dump_rc522

Zu Beginn werden die üblichen ISO14443 Parameter (ATQA, SAK, UID) angezeigt, danach erfolgt der Hex-Dump des Speicherinhaltes.

Den Source Code RC522DumpMifare.ino dazu gibt es in meinem Repository bei Github. Einige TODOs sind im Code noch zu implementieren, zB das Selektieren von Karten mit 7Byte-UID.

UPDATE 2013-08-08: 7-byte-UID Anzeige und RATS-Handling ansatzweise ergänzt

RC522-RFID-Modul am Raspberry Pi betreiben

Das RC522-Modul kann natürlich auch mit anderen Evalboards verbunden werden, zB mit dem Raspberry Pi. Dann kann man es sogar mit Python programmieren und muss nicht erst umständlich einen Microcontroller flashen.

Evtl werde ich das Board auch demnächst einmal am Raspberry Pi anschliessen und einen entsprechenden Artikel dazu schreiben.

Kompatibilität

Einige Mifare Karten liessen sich allerdings nicht dazu bewegen mit dem Modul zu sprechen (Karten wurden im Feld nicht einmal erkannt), zB:

  • Mifare Ultralight C (MF0ICU2), 7byte-UID
  • Mifare Classic 1K ‚MF1 IC S5009‘ alias Mifare Plus S (MF1SPLUS60)
  • Mifare DESFire EV1 (MF3ICD21) HW v1.0
  • Mifare DESFire (MF3ICD40) HW v0.2
  • Mifare DESFire EV1 (MF3ICD81) HW v1.0
  • Mifare Classic 1K (emulated)

Evtl ist das Modul nicht korrekt konfiguriert, die Hardware unterstützt die Karten (wieso auch immer) nicht oder die Antenne des Moduls ist nicht korrekt abgestimmt.

Bei folgenden Tags konnte zumindest die UID gelesen werden:

  • Mifare Classic
  • Mifare Classic (MF1S70)
  • NTAG203 (NT2H0301)
  • NTAG215 (NT2H1511) alias amiibo cards
  • NTAG216 (NT2H1611G0DUx)
  • Mifare Classic Futan FM11RF08
  • Mifare Classic Clonable China Card
  • Miafre Ultralight (MF0ICU1) alias GVB card
  • Infineon ??? Chip alias Geldkarte

Links/mehr Info

Am Ende – wie immer – zum Vertiefen ein paar Links bzw Webseiten von anderen Nutzern, die bereits mit dem RC522 herumgespielt haben und was nicht fehlen darf – der Link zum Datenblatt: