Shared Secrets Generation

If you’re not using image on build the package on macOS, install dependencies for QR code:

$ pip install pyqrcode
$ pip install pypng

If you have already built the library, you can generate shared secrets by:

$ cd /project/root
$ cd build
$ ./examples/tutorial-gen-new-shared-info

This will generate a tutorial_shared_info.txt file in the build folder.

tutorial_shared_info.txt contains identity string, public/private key pair and a pre-shared key between identity and IoT controller.

Afterwards, you need to generate a QR code for this .txt file (may need sudo here).

$ cd /project/root
$ python ./QR_encoder.py

Then a shared_info.png is generated in the project root path. The QR code encodes all information contained in tutorial_shared_info.txt and can later be uploaded through IoT controller’s Web UI.

Finally, you can rename the shared_info.png and tutorial_shared_info.txt` with whatever names you like and put into /<project-root>/devices. We recommend naming conventions used by existing examples.

The .txt file is used by device/application to obtain initial key materials and .png is used by IoT controller to gain shared secrets between itself and devices.