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.
Build the mcumgr tool as follows:
- Unpack mcumgr source.
- Rename resulting
apache-mynewt-mcumgr-1.3.0
directory to$GOPATH/src/mynewt.apache.org/mcumgr
cd $GOPATH/src/mynewt.apache.org/mcumgr/mcumgr
go build
Here are some example mcumgr
invocations.
The following sends an echo command to a Bluetooth device advertising the name "Zephyr":
mcumgr --conntype ble --connstring peer_name=Zephyr echo hello
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