G'day, everybody!
Recently I've been making a basic system for validating transit passes in a demo environment. I'm now working on the validator devices for which I've decided to use an Arduino mkr1000 and a PN532 NFC module. The idea I have is that the user can use their android device's Google wallet app and scan a NFC-enabled pass. That way, following the Smart Tap protocol, I can hopefully retrieve and successfully decode the payload stored in that pass and use it with the rest of my system.
Following about two weeks of research I found some useful info on the topic but such a thing has never been done before on the Arduino platform. So far I've only managed to get the PN532 module to send a Select APDU command to my phone, opening google wallet, but I haven't found what to do with the response I get.
I don't really know where to start, how or what to do with implementing the protocol for the rest of the communication flow (aka: Selecting Wallet APDU; Negotiating Secure Channel; Getting Data). So any help will be appreciated!
Here's a reverse-engineered version of the protocol on github