Depend on latest newtmgr

This fixes #8.
2 files changed
tree: b0d14475a9c8e9b586b5c0a0b86a996aa18013fd
  1. mcumgr/
  2. .gitignore
  3. go.mod
  4. go.sum
  5. README.md
README.md

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