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.2.tar.gz (10.1 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.2-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dotbot_provision-0.1.2.tar.gz
  • Upload date:
  • Size: 10.1 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.2.tar.gz
Algorithm Hash digest
SHA256 244eeb510a6b386db38c4ed97b051f0c0348df17f9ca6686a83d6841f52e8f23
MD5 46437e3f834063d597ea948e94345118
BLAKE2b-256 98c3503b148d7acef6d64698bb5cbe9238f9fd2af45e90355608d21028ffe6c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dotbot_provision-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a8c5c934735b5e894182c584d644d677f3b1fc6fb4b8927ae7317ff5e0a86bc0
MD5 1b8e752aa945297921ff96300cd3e7b3
BLAKE2b-256 b08ae1ebc9e5cb487bf5c7b5aee940bb875a0ed49a13cb61413d5c320e831e36

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