- 1 active job
Our (embedded) product uses 6 individual NFC devices to do two things:
1) detect nTag devices and read a few bytes,
2) detect nearby same product and read a small payload (less than 1kbit) using the NFC point-to-point capabilities.
To do this, an API to the NFC hardware shall as a minimum support the following:
1) Set NFC reader mode to ‘Passive target’ – i.e. waiting to be scanned by other devices
2) Set NFC reader mode to ‘Active target’- i.e. scanning for other devices
3) Read target ID and payload from other device (which has been detected)
4) Respond to request to read payload from other device
5) Write content of own data packet (payload)
6) Sleep/ wake-up, power saving command
At present we are employing the NXP chip PN532, but we may want to migrate to the more capable PN7150. Both connect to the host microcontroller by I2C.
Available Open Source drivers at present only support rudimentary functionality (1-3), and therefore need to be extended.
We are using Python (Circuitpython) for the embedded software.
1) Extend the Open Source CircuitPython driver for PN532 to incorporate support for above listed features (https://github.com/adafruit/Adafruit_CircuitPython_PN532)
2) Write new Open Source CircuitPython driver for PN7150 to incorporate support for above listed features.
As an alternative, the drivers may be written in ‘C’ as well commented code such that it can easily be translated to Python.
Knowledge of NFC in general is anticipated, as well as experience from writing code for communicating with same or similar chips.