Skip to main content

mqtt-telemetry

The "connected device" starting point: bring up a Wi-Fi station, open an mqtts:// TLS MQTT client, and publish a telemetry metric on a cadence. Entirely on <alp/iot.h>. New in v0.14.0.

:::warning preview — the TLS round-trip is not exercised anywhere Catalog status is preview. CONFIG_MBEDTLS is held off in the build because of a Zephyr 4.4 / mbedtls 3.6 ssl_misc.h include-order bug, so the TLS round-trip is not exercised even under native_sim. The example publishes a synthetic uptime metric, not a real sensor reading. :::

Source: examples/connectivity/mqtt-telemetry/.

What it does

  1. Opens a Wi-Fi station.
  2. Opens an mqtts:// TLS MQTT client.
  3. Publishes a telemetry metric on a cadence.

AEN only

som.sku: E1M-AEN801. The transport is the on-module CC3501E Wi-Fi 6 + BLE bridge (silicon-validated 2026-06-24).

E1M-V2N101 is explicitly unsupported. The Murata Wi-Fi part is hil_silicon: untested and the Linux data path is unmerged — do not expect this example to run there by swapping som.sku.

board.yaml

libraries:
- { name: mbedtls, cores: [m55_hp] }

cores:
m55_hp:
iot: { wifi: true, tls: true }

The mbedtls library is declared here, but CONFIG_MBEDTLS is held off in the build — see the banner above.

Expected output

native_sim — no radio, so this is the framing only:

[mqtt] alp-sdk mqtt-telemetry demo (publish over MQTT/TLS)
[mqtt] transport: CC3501E Wi-Fi bridge (E1M-AEN801)
[mqtt] wifi: opening station
[mqtt] wifi: alp_wifi_open -> NULL (ALP_ERR_NOT_READY)
[mqtt] no transport on this build -- printing framing only
[mqtt] would publish to alp/telemetry/e1m-aen801: {"device":"e1m-aen801-demo","metric":"uptime_s","value":0}
...
[mqtt] done

The example's own README carries a real-hardware block — [mqtt] wifi: associated to "alp-demo-ap", [mqtt] broker: connected, [mqtt] publish 0 -> ALP_OK: {...}, [mqtt] done. It carries no date and no bench citation, so treat it as illustrative only.

Status

  • Catalog status: preview.
  • CONFIG_MBEDTLS off — Zephyr 4.4 / mbedtls 3.6 ssl_misc.h include-order bug. No TLS round-trip is exercised, on hardware or in native_sim.
  • The published metric is synthetic uptime, not a sensor reading.
  • AEN-only; E1M-V2N101 unsupported.

See also

Questions about this page? Discuss in Community Forum