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.
Source Distribution
File details
Details for the file emqxlwm2m-0.6.0.tar.gz
.
File metadata
- Download URL: emqxlwm2m-0.6.0.tar.gz
- Upload date:
- Size: 52.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627c7fccb2cd0e8f04786d231c8c4a11ab244573ad5ff8c01f345dc05fe9e8fc |
|
MD5 | 4a580cdeee3735ee3dddd93e3195d55a |
|
BLAKE2b-256 | ab28e23b025dff7902d9be66a3e738e433db9e0e41857c455e9a07220a616ec8 |