Crate w5500_mqtt

Source
Expand description

MQTT v5 client for the Wiznet W5500 SPI internet offload chip.

§Limitations

This is very basic at the moment, and will be expanded in the future.

  • Does not support password protected MQTT servers.
  • Only supports QoS 0: At most once delivery.

§Example

use w5500_mqtt::{
    ll::{
        net::{Ipv4Addr, SocketAddrV4},
        Sn,
    },
    Client, ClientId, Event, DST_PORT, SRC_PORT,
};

let mut client: Client = Client::new(
    Sn::Sn2,
    SRC_PORT,
    SocketAddrV4::new(Ipv4Addr::new(192, 168, 5, 6), DST_PORT),
);

// wait for a connection or die trying
while !matches!(client.process(&mut w5500, monotonic_secs())?, Event::None) {}

// publish to "duck" with a payload "quack"
client.publish(&mut w5500, "duck", b"quack")?;

// subscribe to "cow"
client.subscribe(&mut w5500, "cow")?;

§Relevant Specifications

§Feature Flags

All features are disabled by default.

  • eh0: Passthrough to w5500-hl.
  • eh1: Passthrough to w5500-hl.
  • defmt: Enable logging with defmt. Also a passthrough to w5500-hl.
  • log: Enable logging with log.
  • w5500-tls: Enable MQTT over TLS.
  • p256-cm4: Passthrough to w5500-tls.

Re-exports§

pub use w5500_tls;w5500-tls
pub use w5500_hl as hl;
pub use w5500_hl::ll;

Modules§

tlsw5500-tls
MQTT over TLS

Structs§

Client
W5500 MQTT client.
ClientId
MQTT client identifier
PublishReader
Reader for a published message on a subscribed topic.
SubAck
SUBSCRIBE acknowledgment.
UnSubAck
UNSUBSCRIBE acknowledgment.

Enums§

ConnectReasonCode
Connect Reason Codes
Error
MQTT client errors.
Event
MQTT events.
State
Internal MQTT client state.
SubAckReasonCode
Subscribe acknowledgment codes.
UnSubAckReasonCode
Unsubscribe acknowledgment codes.

Constants§

DST_PORT
Default MQTT destination port.
SRC_PORT
Default MQTT source port.