Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emqxlwm2m-0.6.0.tar.gz (52.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page