Skip to main content

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).

Metadata

Release files for dotbot-provision 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dotbot-provision 0.1.5
File Size Uploaded Provenance
dotbot_provision-0.1.5.tar.gz 10.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dotbot-provision 0.1.5
File Interpreter ABI Platform
dotbot_provision-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 23.4 kB

Release files / dotbot_provision-0.1.5.tar.gz

Download URL dotbot_provision-0.1.5.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
effbe055befecbc31723452b6303a76c2fc2d5970714665c7031075f1f0749f1
BLAKE2b-256 checksum
How to use checksums
681a33f0c966d2ee69d61e3a9e6730592e98b00495dc4385c34669038d96b2a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Release files / dotbot_provision-0.1.5-py3-none-any.whl

Download URL dotbot_provision-0.1.5-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49a331141507ac36cce5f3678f515f4ebb52c078e64b2d71168e756e80c87d48
BLAKE2b-256 checksum
How to use checksums
6d605b71f438d51a59dce9bbcda2513ea1ce8992ad7525ad5f82e944af015648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.12

Security for dotbot-provision 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page