Skip to content

quartiq/minimq

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

QUARTIQ Matrix Chat Continuous Integration

Minimq

Minimq provides a minimal MQTTv5 client and message parsing for the MQTT version 5 protocol. It leverages the embedded-nal to operate on top of any TCP stack implementation and is actively used with both smoltcp and and the W5500 hardware network stack.

Minimq provides a simple, no_std interface to connect to an MQTT broker to publish messages and subscribe to topics.

Features

Minimq supports all of the fundamental operations of MQTT, such as message subscription and publication. Below is a detailed list of features, indicating what aspects are supported:

  • Publication at all quality-of-service levels (at-most-once, at-least-once, and exactly-once)
  • Retained messages
  • Connection will messages
  • Session state reconnection and republication
  • Topic subscriptions at quality-of-service at-most-once and at-least-once
    • exactly-once subscription support is not yet implemented
  • Subscription option flags
  • Zero-copy message deserialization
  • Serde-compatible MQTT message serialization and deserialization

If there are features that you would like to have that are not yet supported, we are always accepting pull requests to extend Minimq's capabilities.

Minimq also provides convenient APIs to implement request-response interfaces over MQTT leveraging the ResponseTopic and CorrelationData properties for in-bound and out-bound messages.

Smoltcp Support

If using smoltcp, check out the smoltcp-nal to quickly create an interface that can be used by Minimq.

Examples

An example usage of Minimq that can be run on a desktop PC can be found in tests/integration_test.rs

About

Minimal no_std MQTT v5.0 client implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages