In the process of building a device that will utilise LWM2M protocol. Referring to the protocol specification here we have made a good stab at laying out the uplink and downlink packet specification.
One of the remaining to do items is to figure out how to deal with the Bootstrap process. As I understand it we have 4 options:
- Factory Bootstrap
- Bootstrap from Smartcard
- Client Initiated Bootstrap
- Server Initiated Bootstrap
We have a COAP server up and running with LWM2M server support and Bootstrap Server support.
What I am trying to do now is understand how to utilise the LWM2M Bootstrap-Server as a LWM2M Client and document the workflow.
The easier option appear to be "Factory Bootstrap" process.
"In this mode, the LwM2M Client has been configured with the necessary bootstrap information prior to deployment of the device. The configured information may be the LwM2M Bootstrap-Server Bootstrap Information and/or the LwM2M Server Bootstrap Information."
Ok so under "Factory Bootstrap" device has the "necessary bootstrap information prior to deployment".
This information appears to be:
- LwM2M Server Account (required)
- Additional Object Instances (optional)
- LwM2M Bootstrap-Server Account (optional)
Questions re Factory Bootstrap
So at the very least for a Factory Bootstrap and from the Server, I need to generate an LWM2M Server Account for the factory to write to the device. Is this correct ?
And does this "LWM2M Server Account" need to be unique per client at this stage ?
Questions re Client Initiated Bootstrap
If we dont go down the Factory Bootstrap route then the second option would be the Client Initiated Bootstrap. Does anyone have experencie of the process that can advise on the benefits of this method?