This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3220MODA: IoT onboarding through NFC

Part Number: CC3220MODA


Many (most?) consumer IoT devices onboard through a phone where the customer has to switch over to the IoT device network, provide credentials, switch back etc. Very easy do customers get in trouble not understanding the protocol.

Onboarding through NFC i.e., hold a phone to the IoT's device NFC tag whereby credentials are exchanged appears much easier - at least for the customer. For a device we are developing going the NFC route seems the best way forward. However, I have yet to see a library, sample code, article that discusses how keys and credentials are exchanged in a secure manner. After a phone is set up, it should not be possible for a 3rd party to glean e.g. WiFi credentials or what ever info was exchanged with an NDEF tag reader. Additionally, in our case, we may have a professional installer who does the initial verification of the system (so needs some credentials to connect to the customer's WLAN) but should not be permitted to keep this info.

I can develop the protocol but I rather follow industry expert best practices. Is there anything out there that describes this? Source code would be great but I would be peachy with a best practice white paper already.

  • Hi,

    I developed a software plugin for using NFC to provision the Wi-Fi on the CC3220 through NDEF messages. You can find it here:

    http://www.ti.com/tool/SIMPLELINK-SDK-NFC-PLUGIN

    Although the code is somewhat out-of-date and may not work out of the box with the latest SimpleLink SDK, it should be a good reference for what you're trying to do.

    Let me know if you have any questions using it or need more info on provisioning the CC3220.

    Regards,

    Michael

  • Thanks Michael. The macOS version does not install - you may need to look at that. But I happen to have a VM with windows7 so used that os.

    If I am correct, there is just one file of interest; nfc_wifi_provisioning_example with just one method of interest: nfc_wifi_provisioning_callback(). Am I correct? The callback just picks up data from nfc but there is no password, no key sharing or any other security method being deployed. So the code expects wifi credentials and when it does not find this waits until these are provided through nfc etc. Am I understanding this correct?

    If so, I am looking for a more elaborate protocol that can handle the use cases as outlined above. Lots of white papers talk about IoT + nfc advantages but nobody seems to have more detail then a bit of marketing fluff.

  • Hi,

    I am not aware of more material covering Wi-Fi + NFC specifically. The plugin has the basics to allow you to read NDEF messages and the implementation by the plugin indeed just waits for a simple message that provides it the Wi-Fi AP credentials without much in the way of encryption or such.

    You will need use the basic NFC interfacing provided in the plugin and build your desired protocol on top of that.

    Regards,

    Michael