All Projects → njh → Mqtt Sn Tools

njh / Mqtt Sn Tools

Licence: mit
Command line tools written in C for the MQTT-SN (MQTT for Sensor Networks) protocol

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Mqtt Sn Tools

Uptoc
A static file deployment tool that supports multiple platforms./ 一个支持多家云厂商的静态文件部署工具
Stars: ✭ 159 (-1.85%)
Mutual labels:  cli
Erppeek
A versatile tool for Odoo / OpenERP. *** Forked as Odooly ⟶
Stars: ✭ 160 (-1.23%)
Mutual labels:  cli
Paris
Logger in Rust for pretty colors and text in the terminal. Aiming for a relatively simple API
Stars: ✭ 162 (+0%)
Mutual labels:  cli
Passw0rd
🔑securely checks a password to see if it has been previously exposed in a data breach
Stars: ✭ 159 (-1.85%)
Mutual labels:  cli
Git Machete
Probably the sharpest git repository organizer & rebase/merge workflow automation tool you've ever seen ;)
Stars: ✭ 158 (-2.47%)
Mutual labels:  cli
Domain Cli
Search domain names if registered or not in terminal
Stars: ✭ 161 (-0.62%)
Mutual labels:  cli
Fselect
Find files with SQL-like queries
Stars: ✭ 3,103 (+1815.43%)
Mutual labels:  cli
Serverless Secrets
An opinionated tool for safely managing and deploying Serverless projects and their secrets.
Stars: ✭ 162 (+0%)
Mutual labels:  cli
Ttab
macOS and Linux CLI for opening a new terminal tab/window, optionally with a command to execute and/or display settings
Stars: ✭ 160 (-1.23%)
Mutual labels:  cli
Tty Table
A flexible and intuitive table generator
Stars: ✭ 161 (-0.62%)
Mutual labels:  cli
Eslint Watch
ESLint with simple watching capabilities
Stars: ✭ 159 (-1.85%)
Mutual labels:  cli
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (-3.7%)
Mutual labels:  cli
Designiot
教你设计物联网系统。构建自己的Internet of Things 。
Stars: ✭ 1,983 (+1124.07%)
Mutual labels:  mqtt
Modular Psu
EEZ Bench Box 3 (BB3) Modular T&M chassis
Stars: ✭ 159 (-1.85%)
Mutual labels:  mqtt
Hugo Academic Cli
📚 Import academic publications from Bibtex to Hugo
Stars: ✭ 158 (-2.47%)
Mutual labels:  cli
Enhancd
🚀 A next-generation cd command with your interactive filter
Stars: ✭ 2,049 (+1164.81%)
Mutual labels:  cli
Cistern
A terminal UI for Unix to monitor Continuous Integration pipelines from the command line. Current integrations include GitLab, Azure DevOps, Travis CI, AppVeyor and CircleCI.
Stars: ✭ 161 (-0.62%)
Mutual labels:  cli
Rtop
rtop is an interactive, remote system monitoring tool based on SSH
Stars: ✭ 1,963 (+1111.73%)
Mutual labels:  cli
Prettier Stylelint
code > prettier > stylelint > formatted code
Stars: ✭ 162 (+0%)
Mutual labels:  cli
Table rex
An Elixir app which generates text-based tables for display
Stars: ✭ 161 (-0.62%)
Mutual labels:  cli

MQTT-SN Tools

Build Status

Command line tools written in C for the MQTT-SN (MQTT for Sensor Networks) protocol.

Supported Features

  • QoS 0, 1 and -1
  • Keep alive pings
  • Publishing retained messages
  • Publishing empty messages
  • Subscribing to named topic
  • Clean / unclean sessions
  • Manual and automatic client ID generation
  • Displaying topic name with wildcard subscriptions
  • Pre-defined topic IDs and short topic names
  • Forwarder encapsulation according to MQTT-SN Protocol Specification v1.2.

Limitations

  • Packets must be 255 or less bytes long
  • No Last Will and Testament
  • No QoS 2
  • No automatic re-sending of lost packets
  • No Automatic gateway discovery

Building

Just run 'make' on a POSIX system.

Publishing

Usage: mqtt-sn-pub [opts] -t <topic> -m <message>

  -d             Increase debug level by one. -d can occur multiple times.
  -f <file>      A file to send as the message payload.
  -h <host>      MQTT-SN host to connect to. Defaults to '127.0.0.1'.
  -i <clientid>  ID to use for this client. Defaults to 'mqtt-sn-tools-' with process id.
  -k <keepalive> keep alive in seconds for this client. Defaults to 10.
  -e <sleep>     sleep duration in seconds when disconnecting. Defaults to 0.
  -m <message>   Message payload to send.
  -l             Read from STDIN, one message per line.
  -n             Send a null (zero length) message.
  -p <port>      Network port to connect to. Defaults to 1883.
  -q <qos>       Quality of Service value (0, 1 or -1). Defaults to 0.
  -r             Message should be retained.
  -s             Read one whole message from STDIN.
  -t <topic>     MQTT-SN topic name to publish to.
  -T <topicid>   Pre-defined MQTT-SN topic ID to publish to.
  --fe           Enables Forwarder Encapsulation. Mqtt-sn packets are encapsulated according to MQTT-SN Protocol Specification v1.2, chapter 5.5 Forwarder Encapsulation.
  --wlnid        If Forwarder Encapsulation is enabled, wireless node ID for this client. Defaults to process id.
  --cport <port> Source port for outgoing packets. Uses port in ephemeral range if not specified or set to 0.

Subscribing

Usage: mqtt-sn-sub [opts] -t <topic>

  -1             exit after receiving a single message.
  -c             disable 'clean session' (store subscription and pending messages when client disconnects).
  -d             Increase debug level by one. -d can occur multiple times.
  -h <host>      MQTT-SN host to connect to. Defaults to '127.0.0.1'.
  -i <clientid>  ID to use for this client. Defaults to 'mqtt-sn-tools-' with process id.
  -k <keepalive> keep alive in seconds for this client. Defaults to 10.
  -e <sleep>     sleep duration in seconds when disconnecting. Defaults to 0.
  -p <port>      Network port to connect to. Defaults to 1883.
  -q <qos>       QoS level to subscribe with (0 or 1). Defaults to 0.
  -t <topic>     MQTT-SN topic name to subscribe to. It may repeat multiple times.
  -T <topicid>   Pre-defined MQTT-SN topic ID to subscribe to. It may repeat multiple times.
  --fe           Enables Forwarder Encapsulation. Mqtt-sn packets are encapsulated according to MQTT-SN Protocol Specification v1.2, chapter 5.5 Forwarder Encapsulation.
  --wlnid        If Forwarder Encapsulation is enabled, wireless node ID for this client. Defaults to process id.
  -v             Print messages verbosely, showing the topic name.
  -V             Print messages verbosely, showing current time and the topic name.
  --cport <port> Source port for outgoing packets. Uses port in ephemeral range if not specified or set to 0.

Dumping

Displays MQTT-SN packets sent to specified port. Most useful for listening out for QoS -1 messages being published by a client.

Usage: mqtt-sn-dump [opts] -p <port>

  -a             Dump all packet types.
  -d             Increase debug level by one. -d can occur multiple times.
  -p <port>      Network port to listen on. Defaults to 1883.
  -v             Print messages verbosely, showing the topic name.

Serial Port Bridge

The Serial Port bridge can be used to relay packets from a remote device on the end of a serial port and convert them into UDP packets, which are sent and received from a broker or MQTT-SN gateway.

Usage: mqtt-sn-serial-bridge [opts] <device>

  -b <baud>      Set the baud rate. Defaults to 9600.
  -d             Increase debug level by one. -d can occur multiple times.
  -dd            Enable extended debugging - display packets in hex.
  -h <host>      MQTT-SN host to connect to. Defaults to '127.0.0.1'.
  -p <port>      Network port to connect to. Defaults to 1883.
  --fe           Enables Forwarder Encapsulation. Mqtt-sn packets are encapsulated according to MQTT-SN Protocol Specification v1.2, chapter 5.5 Forwarder Encapsulation.
  --cport <port> Source port for outgoing packets. Uses port in ephemeral range if not specified or set to 0.

License

MQTT-SN Tools is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].