A Python interface to the EMQx LwM2M plugin
Project description
This package provides a command line interface to the EMQx LwM2M plugin.
It supports read, discover, write, write-attr, execute, create, delete. It also has some handy features for tracking notifications, etc.
NOTE: This package is in beta stage and backwards incompatible changes may be added in the releases prior to version 1.0.0.
Usage and command line options
usage: python3 -m emqxlwm2m [--host HOST] [--port PORT]
[-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
[--timeout SEC] [--xml-path DIR]
[--ep-active EP_ACTIVE] [--ep-known EP_KNOWN]
[--ep-prefix EP_PREFIX] [--startup-script PATH]
[command]
positional arguments:
command Select command: cmd, discover, read, write,
write_attr, execute, create, delete, observe,
cancel_observe, wiretap, uplink, downlink, requests,
responses, events, registrations, updates,
notifications, commands, discoverall, reboot, update,
firmware_update. Use with --help to see command
arguments.
optional arguments:
--host HOST EMQx MQTT broker host (default: localhost)
--port PORT, -p PORT EMQx MQTT port (default: 1883)
-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Logging level (default: INFO)
--timeout SEC, -t SEC
Timeout when waiting for response in seconds (default:
60)
--xml-path XML_PATH, -x XML_PATH
Directory containing LwM2M object definition XML-
files. Can be used multiple times to provide multiple
paths. Used when selecting a path interactively.
--ep-active EP_ACTIVE
Default endpoint in interactive mode (subcommand
"cmd")
--ep-known EP_KNOWN Path to a text file listing known endpoints. Used for
interactive selection when endpoint is not specified
in command.
--ep-prefix EP_PREFIX
Ensure endpoints starts with prefix.
--startup-script PATH
Execute initialization commands from a script.
Installation
From PyPI:
$ python3 -m pip install emqxlwm2m
Examples
Read: Read hardware version resource:
$ python3 -m emqxlwm2m --host localhost --port 1883 read urn:imei:123456789012345 /3/0/18
{'/3/0/18': '1.2.3'}
Write: Set the lifetime resource to 60 seconds:
$ python3 -m emqxlwm2m write urn:imei:123456789012345 /1/0/1=60
Execute: Execute the reboot resource:
$ python3 -m emqxlwm2m execute urn:imei:123456789012345 /3/0/4
Write-attr: Set attributes (syntax: [pmin,pmax]lt:st:gt) on battery level resource:
$ python3 -m emqxlwm2m attr urn:imei:123456789012345 /3/0/9=[60,120]5:10:95
Attributes can be omitted. To only set pmax to 100 seconds:
$ python3 -m emqxlwm2m attr urn:imei:123456789012345 /3/0/9=[,100]
Discover: Discover instances/resources and their attributs, for example, the battery level attribute previously set:
$ python3 -m emqxlwm2m discover urn:imei:123456789012345 /3/0/9
{'/3/0/9': {'pmax': '100', 'gt': '95', 'lt': '5', 'st': '10', 'pmin': '60'}}
Observe: Observe battery level resource:
$ python3 -m emqxlwm2m observe urn:imei:123456789012345 /3/0/9
Cancel-Observe: Cancel observe on battery level resource:
$ python3 -m emqxlwm2m cancel-observe urn:imei:123456789012345 /3/0/9
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.