Skip to main content

A command-line tool for provisioning DotBot devices and gateways.

Project description

dotbot-provision

A command-line tool for provisioning DotBot devices and gateways.

It can fetch, config, and flash pre-built firmwares from repos SwarmIT and mari.

Requirements

This tool shells out to external flashing utilities:

  • nrfjprog (Nordic nRF Command Line Tools) for nRF5340 flashing
  • pyocd for DAPLink/J-Link OB programmer flashing
  • JLinkExe (SEGGER J-Link) for STM32 bootloader flashing

Make sure these are installed and available on your PATH.

Installation

pip install dotbot-provision
Usage: dotbot-provision [OPTIONS] COMMAND [ARGS]...

  A tool for provisioning DotBot devices and gateways.

Options:
  --help  Show this message and exit.

Commands:
  fetch          Fetch firmware assets into bin/<fw-version>/.
  flash          Flash firmware + config using versioned bin layout.
  flash-bringup  Flash J-Link OB or DAPLink programmer firmware.
  flash-hex      Flash explicit app/net hex files.
  read-config    Read config from the device.

Deploying a testbed

First, download firmware assets:

dotbot-provision fetch --fw-version v0.7.0

Then, to flash a DotBot-v3 while specifying a certain Network ID:

dotbot-provision flash --device dotbot-v3 --fw-version v0.7.0 --network-id 0100

You can also pass -a <fw-name> to flash, in addition to bootloader and netcore, a default app firmware:

dotbot-provision flash --device dotbot-v3 --fw-version v0.7.0 --network-id 0100 -a motors

And to flash a Mari Gateway:

dotbot-provision flash --device gateway --fw-version v0.7.0 --network-id 0100

... and it's done!

Deploying a testbed on fresh robots

If your robot just arrived from factory, first you have to run the flash-bringup command. You can concatenate it with a regular flash command so that all happens in sequence with minimal manual work. Like this:

dotbot-provision flash-bringup --programmer-firmware jlink -d ../../../programer-files-dotbot && \
  dotbot-provision flash -d dotbot-v3 -f local -n 0100 -s 77

... where the -s flag stands for --sn-starting-digits and serves as a pattern to identify the connected programming probe. In this case it solves a problem where the flash command incorrectly selects the external J-Link probe instead of the dotbot's (most DotBots come from factory with a serial number starting by 77).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dotbot_provision-0.1.3.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dotbot_provision-0.1.3-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file dotbot_provision-0.1.3.tar.gz.

File metadata

  • Download URL: dotbot_provision-0.1.3.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for dotbot_provision-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6105e3397b63ca135803aa2f223eae293c95005c291437ce55f8b3565182975b
MD5 78f1a72565add1647b027f5ed5991d60
BLAKE2b-256 b7d0e3e431b46441b031d7a2c6e11c144176173eb9709dc0ac173292db06afc2

See more details on using hashes here.

File details

Details for the file dotbot_provision-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for dotbot_provision-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e3b083cf0b52804c46309d4c1d7f2a5be9f70977d1fa9fda96674c109f550ec5
MD5 35adfe5114c6eed5d772b57e980bbaa9
BLAKE2b-256 63dbd87dd084219255f2fa6eb0fdba05626addc9800b0387e448dd353b8ee1a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page