iotprovision documentation¶
Python provisioning of IoT kits¶
iotprovision is a command-line utility for provisioning Microchip AVR-IoT, PIC-IoT and SAM-IoT kits for use with various cloud providers.
It is used as a CLI.
Type iotprovision –help to get help.
Overview¶
- iotprovision is available:
install using pip from pypi: https://pypi.org/project/iotprovision
browse source code on github: https://github.com/microchip-pic-avr-tools/iotprovision
read API documentation on github: https://microchip-pic-avr-tools.github.io/iotprovision
read the changelog on github: https://github.com/microchip-pic-avr-tools/iotprovision/blob/main/CHANGELOG.md
Dependencies¶
iotprovision depends on pytrustplatform, pyawsutils and pyazureutils. iotprovision depends on pykitcommander to manage Microchip IoT kit firmware and connection. iotprovision depends on pyedbglib for its transport protocol. pyedbglib requires a USB transport library like libusb. See pyedbglib package for more information: https://pypi.org/project/pyedbglib/
Contents:
- iotprovision package
- Subpackages
- Submodules
- Provisioning main()
- Provisioning
Provisioner
Provisioner.FW_INTERFACES
Provisioner.MINIMUM_DEBUGGER_VERSION
Provisioner.WINC_FW_VERSION_BUNDLED
Provisioner.check_debugger_fw()
Provisioner.check_winc_fw()
Provisioner.configure_kit()
Provisioner.connect()
Provisioner.create_root_of_trust()
Provisioner.debuggerupgrade()
Provisioner.disconnect()
Provisioner.erase_target_device()
Provisioner.generate_certificates()
Provisioner.get_debugger_versions()
Provisioner.program_application()
Provisioner.reboot_debugger()
Provisioner.setup_account()
Provisioner.setup_wifi()
Provisioner.store_iot_id()
Provisioner.winc_upgrade()
ProvisionerAws
ProvisionerAwsJitr
ProvisionerAwsMar
ProvisionerAzure
ProvisionerError
ProvisionerGoogle
get_provisioner()
- Firmware interface
ApplicationFirmwareInterface
DemoFirmwareInterface
ProvisioningFirmwareInterface
ProvisioningFirmwareInterface.DEFAULT_BAUD
ProvisioningFirmwareInterface.ECC_SLOT_WORD_SIZE_BYTES
ProvisioningFirmwareInterface.close()
ProvisioningFirmwareInterface.ecc_lock_slot()
ProvisioningFirmwareInterface.ecc_read_public_key()
ProvisioningFirmwareInterface.ecc_read_serialnumber()
ProvisioningFirmwareInterface.ecc_read_slot()
ProvisioningFirmwareInterface.ecc_sign_digest()
ProvisioningFirmwareInterface.ecc_write_slot()
ProvisioningFirmwareInterface.enter_bridge_mode()
ProvisioningFirmwareInterface.exit_bridge_mode()
ProvisioningFirmwareInterface.get_led_status()
ProvisioningFirmwareInterface.open()
ProvisioningFirmwareInterface.read_fw_version()
ProvisioningFirmwareInterface.reset()
ProvisioningFirmwareInterface.set_led_status()
ProvisioningFirmwareInterface.sw_reset()
ProvisioningFirmwareInterface.synchronize()
ProvisioningFirmwareInterface.winc_add_client_certificate()
ProvisioningFirmwareInterface.winc_erase_sector()
ProvisioningFirmwareInterface.winc_erase_tls_certificate_sector()
ProvisioningFirmwareInterface.winc_read()
ProvisioningFirmwareInterface.winc_read_fw_version()
ProvisioningFirmwareInterface.winc_write()
ProvisioningFirmwareInterface.winc_write_endpoint_name()
ProvisioningFirmwareInterface.winc_write_thing_name()
ProvisioningFirmwareInterface.winc_write_tls_certificates_sector()
WincUpgradeFirmwareInterface
- ECC storage
EccStorage
EccStorage.AWS_ENDPOINT
EccStorage.AWS_THINGNAME
EccStorage.AZURE_DEVICE_ID
EccStorage.AZURE_ID_SCOPE
EccStorage.AZURE_IOT_HUB_NAME
EccStorage.EMPTY
EccStorage.GOOGLE_DEVICE_ID
EccStorage.GOOGLE_PROJECT_ID
EccStorage.GOOGLE_PROJECT_REGION
EccStorage.GOOGLE_REGISTRY_ID
EccStorage.NUM_TYPES
EccStorage.add_provinfo_item()
EccStorage.build_item()
EccStorage.create_write_provinfo()
EccStorage.read_provinfo()
EccStorage.write_provinfo_items()
- Kit reconfiguration
- Global configuration
- Module contents