Getting Phone Number from PN532 NFC - nfc

I am using a raspberry pi hooked up to an PN532 NFC to print out the following information from an Android phone.
I was wondering if there is any way to also obtain the phone's number using NFC?
I am getting the impression that NFC does not allow this type of information to be present without third party tool, but I wanted to be certain whether or not this is impossible just using a PN532?
Thanks

Most mobile are primary designed as a NFC reader/writer for an end user OR as an emulated payment card in a secure section of the OS.
iOS has limited NFC support compared to Android.
For device to device communication you either need NFC Peer to Peer which iOS does not support and Android is dropping support for.
OR
You need one device to emulate a NFC card and one to be a reader/writer and iOS does not support Card emulation for anything but the OS payment App, where as Android does support card emulation.
This leaves the only common ground as the PN532 emulating a card which it can do and the mobile phone writing it's phone number to an emulated card.
The next hurdle iOS and Android don't natively broadcaster the sensitive info of their mobile number out via NFC, therefore you would have to write an App for that IF you app had permission and was able to read the phone number from the device (I'm note sure that is possible and is the subject of another question) but failing that you could just ask the user to enter in their phone number.
So overall, it might be possible to write various apps and the right software for the Raspberry Pi but a lot of work and require users to launch apps to transfer a mobile number.

Related

Chrome Bluetooth Low Energy API - Cross-Platform Support

I accessed the Chrome BLE API page (5/7/2016). there seem to be conflicting information messages (see image below). Does this work on Chrome OS only, or OS X and Windows also?
EDIT/UPDATE:
I tried the demo application (demo BLE API) on Windows 10. It was able to see paired devices, but not unpaired devices. I got an error message: Battery device not supported on this platform. I'm not sure if this is because of the test vector I used (LightBlue), or another issue.
System:
Windows 10 64 bit
Surface Pro 3
The chrome.bluetoothLowEnergy API works only for paired devices on Windows as it still uses (at that time) Windows 8 APIs to retrieve paired devices only: https://chromium.googlesource.com/chromium/src/+/08c9d69b0c0d625d2ce38e3d8402f36e1226f0fc/device/bluetooth/bluetooth_low_energy_win.h#117
For info, the Web Bluetooth team plans to support Windows 10 as much as feasible: https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md#chrome
Reading through your given documentation wherein you referenced the use of navigator.bluetooth, Interact with BLE devices on the Web also states that:
Web Bluetooth API is at the time of writing partially implemented in Chrome OS and Chrome Dev for Android behind an experimental flag.
Hence, you got undefined as a return value.
Functionalities were provided by Bluetooth Low Energy (BLE) through key/value pairs provided by the Generic Attribute Profile (GATT).

Bluetooth MIDI - Windows

I am trying to connect a Bluetooth Low Energy enabled MIDI hardware to wirelessly send data to a Windows PC and get it to detect as a MIDI device in Windows. Currently, the device is able to pair with my Windows 10 laptop and I am able to read the incoming data off of it.
The same hardware is configured and working fine as a wireless MIDI device on Mac and iOS devices(which natively supports MIDI over Bluetooth). I am trying to get this feature implemented on Windows(which doesn't support MIDI over Bluetooth, although it was promised in Windows 10).
The device, when is paired, is showing up in the 'Bluetooth devices' section in device manager, I am trying to make this device showing up as a MIDI device in 'Sound, video and game controllers' section.
Any help/resources somebody can provide to help me crack this problem is highly appreciated.
Following is my current thought process to implement this.
Pair the device and read the data off of it. (Already implemented)
Create a virtual MIDI port. (Don't know how to implement this, I am currently checking out rtpMIDI)
Send the MIDI data which was read from the BLE device to the virtual MIDI port. (Still don't know how to implement this)
Any suggestions/comments on the above thought process as I am absolutely new to Windows Driver Development.

Are NFC "writer" devices commercially available?

I'm looking into NFC for use with Android phones and the newest iPhones. What I'm envisioning is some kind of NFC "broadcast" device plugged in via USB cable to a computer, so that it always sends out the most up-to-date information to whatever NFC-enabled phone is within close proximity. So far I've been seeing a whole lot of NFC "tags," which I assume are rather stupid devices that are pre-programmed with essentially static content. I'm wondering if there are any USB NFC devices on the market that can be more dynamic. Do such products exist? What's the best search keyword to find such a device? (What I've been searching for thusfar hasn't been turning up a whole lot of results.)
"NFC "broadcast" device plugged in via USB cable to a computer, so that it always sends out the most up-to-date information to whatever NFC-enabled phone is within close proximity" is your requirement. As I see in market there are NFC Readers with USB plugin to computer. They are active NFC devices generating 13.56MHz and mostly used for payment purposes. However they are putting these devices to ticketing, Office ID applications. When you bring your NFC Phone within this reader's proximity, the reader will read your phone's data and shall send it to the computer as encrypted data and will be verified in your Computer. In this process, phone acts as passive device while reader is active device.
You can also control this reader using your corresponding Software in computer which you wish as dynamic writing.
I think this might help you http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/

iOS and Android bluetooth connection differences

Just curious to understand why iOS devices connect to sphero directly but an app needs to do it in Android?
Well that's what I guess is happening because sphero will keep flashing in identity colours in Android until an app completes a connection.
To add: to use the option that keeps the sphero alive on the charger while connected to the client, then IOS would not need an app running but Android would. Well the Android app could have a service running to keep a connection open with sphero.
But ideally a consistent behaviour would be better.
Kasuku, you're correct in your post, but you also need to consider that the operating systems that you are comparing are completely different. For example, in Android it is possible to directly access the bluetooth adapter and "manually" connect to a bonded device. In iOS, this functionality is abstracted out from the developer.
To address BTLE:
No, as of right now Sphero currently does not support BTLE hardware.
OK ... as usual this tag seems to be dead so I post my finding anyway:
Bluetooth hardware that wanted to connect to IOS, but were not following one of the standard profiles (e.g. headsets), need to conform to Apple's proprietary MFI (Made for IOS) protocol. So the connection is established by the IOS system and then it allows apps to access this connection.
But now newer IOS devices support Bluetooth LE so the MFI restriction no longer applies. I think Sphero2B is going to use this. Current Sphero hardware probably doesn't support BT LE. My next question is ... does sphero hardware support BT LE? ... but I'm not going to ask on this forum:)
Android on the other hand allows apps to negotiate the connections to paired devices.
Here's a link with more info:
Some blog

How can I make an application on pc as a bluetooth low energy device?

I try to make an app on iPhone which can receive date from ble device.
I've read the api from Apple.
But I want to send this data from PC with ble dongle.
There are some samples for receiving data from ble device.
But I need to make the pc simulate ble device.
Is that possible? And if it is, how can I do taht?
If you own a Mac(, considering that you are making an iPhone app), you can create a OS X project that provides GATT and GAP with CoreBluetooth. See the sample code CoreBluetooth: Health Thermometer. Note that the sample code serves as a Central, however, you need to implement a Peripheral with a CBPeripheralManager instance and other delegates.
In your Mac OS X app, you need to provide a characteristic with CBCharacteristicPropertyIndicate or CBCharacteristicPropertyNotify.
In your iPhone app, you need to set this characteristic notifying.

Resources