MCU Manager CLI

Clone this repo:
  1. 5c56bd2 chore: upgrade deps by Sebastian Krüger · 1 year, 11 months ago master
  2. 4ca672d Merge pull request #26 from AudioStreamingPlatform/master by mkiiskila · 2 years, 1 month ago
  3. bd841bc Added LICENSE file by Jeppe Frandsen · 2 years, 2 months ago
  4. 0ba791a mynewt-mcumgr-cli: update to latest newt/newtmgr deps by Naveen Kaje · 3 years, 6 months ago
  5. 62a8136 Update to latest newt/newtmgr deps by Fabio Utzig · 4 years, 7 months ago

mcumgr

MCU Manager (mcumgr) is the application tool that enables a user to communicate with and manage remote devices running an mcumgr server.

The mcumgr tool is a thin wrapper over the Apache newtmgr tool. Thus, the newtmgr documentation provides some useful help with using the mcumgr tool.

Building

Build the mcumgr tool as follows:

  1. Unpack mcumgr source.
  2. Rename resulting apache-mynewt-mcumgr-1.3.0 directory to $GOPATH/src/mynewt.apache.org/mcumgr
  3. cd $GOPATH/src/mynewt.apache.org/mcumgr/mcumgr
  4. go build

Examples

Here are some example mcumgr invocations.

Send an echo command over Bluetooth

The following sends an echo command to a Bluetooth device advertising the name “Zephyr”:

mcumgr --conntype ble --connstring peer_name=Zephyr echo hello

Upgrade firmware over Bluetooth

This series of commands performs an image upgrade over Bluetooth. The device is assumed to be advertising the name “Zephyr”.

# 1. Query device for its current image list.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image list

# 2. Upload new image to device.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image upload <filename>

# 3. Tell the device to run the new image on its next boot ("test" the new
#    image).
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image test <image-hash>

# 4. Reboot the device.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' reset

# 5. Query device for its current image list; ensure new image is running.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image list

# 6. Make the image swap permanent.
mcumgr --conntype ble --connstring 'peer_name=Zephyr' image confirm