Skip to content

EMQX Fleets

EMQX Fleets is a fully managed IoT device management service in EMQX Cloud. Built on top of EMQX Broker, it adds the application layer that turns a message broker into a complete device fleet management platform, covering device registry, state synchronization, remote commands, and batch job dispatch.

Why EMQX Fleets?

An MQTT broker solves the message transport problem. It does not answer questions like: which devices are online, what state is each device in, how do you push a configuration change and confirm the device applied it, or how do you track a firmware rollout across hundreds of devices.

Without Fleets, every team building on EMQX Cloud has to build that layer themselves: a device registry in their own database, a state-sync protocol on top of MQTT, a job scheduling system with per-device tracking. Fleets provides these as a managed service so you can focus on your application instead.

Key Features

  • Device Registry: Define device schemas with Thing Types, register individual devices as Things, and organize them into Thing Groups using tags.

  • Device Shadow: A three-state model (reported, desired, delta) that keeps cloud intent and device reality in sync, even across disconnections. The cloud writes a desired state; the device converges toward it and reports back.

  • Device Query: Search across your entire fleet using a SQL-like query language. Filter by connection status, shadow property values, tags, or groups.

  • Commands: Send real-time request-response commands to individual devices (for example, lock, unlock, set temperature) and track execution status.

  • Jobs: Dispatch batch operations to a group of devices and track per-device execution progress through its full lifecycle (queued, in progress, succeeded, failed, timed out).

How It Works

Devices connect to EMQX Broker via MQTT or send data over HTTPS. EMQX's rule engine routes device messages to the Fleets backend. The Fleets service stores device metadata and the latest shadow state in PostgreSQL, and time-series data (events, shadow history) in EMQX Tables. Cloud-to-device communication (shadow updates, commands, job notifications) is delivered via EMQX Broker.

text
Device  <──MQTT──>  EMQX Broker  <──>  Fleets Backend
  │                     │                    │
  └──HTTPS──────────────┘               PostgreSQL
                                         EMQX Tables

Fleets never subscribes to MQTT topics directly. All downlink communication uses the EMQX v5 REST API.

Each Fleets deployment is associated with one EMQX Broker deployment. Both deployments must be in the same project.

When to Use EMQX Fleets

EMQX Fleets is designed for IoT application developers who need more than message transport. Consider Fleets if you:

  • Need a persistent device registry with schema-based device models.
  • Want to synchronize configuration or state between the cloud and devices reliably, including when devices are intermittently connected.
  • Need to send commands to devices and confirm execution outcomes.
  • Want to roll out firmware updates or configuration changes to a fleet and track per-device progress.
  • Need to search or filter your device fleet by status, properties, or tags.

Common Use Cases

  • Smart Hardware Management: Track which devices are online, push configuration updates, and confirm devices applied them.
  • Industrial IoT: Monitor equipment state remotely, send control commands, and log events for compliance and diagnostics.
  • Building Automation: Manage thermostats, door locks, and sensors at scale, with reliable state sync and command acknowledgment.
  • Firmware Rollout: Use Jobs to push a firmware update to a device group and monitor per-device success or failure.

EMQX Fleets vs Other EMQX Cloud Products

EMQX BrokerEMQX TablesEMQX Fleets
Primary functionMQTT message transportTime-series data storageIoT device management
What it managesMessage routingTelemetry and time-series dataDevice identity, state, commands, jobs
Typical userAnyone using MQTTData engineers, analytics teamsIoT application developers

Plans and Pricing

EMQX Fleets is available on the Starter plan during Public Beta. You can open the Fleets creation page from the Console without submitting a support ticket.

During Public Beta, Fleets instance charges and Fleets egress traffic charges are not billed. The Console still displays reference instance and egress traffic prices for each tier.

If you have not created a Fleets trial deployment before, you can use one 14-day free trial at the lowest tier, 10,000 Devices. The trial tier cannot be changed. Non-trial deployments can use any available tier, from 10,000 Devices to 100,000 Devices, and require a payment method to complete the commercial creation flow.

SpecificationValue
Beta availabilityPublic Beta
Beta pricingFleets instance and egress traffic charges are not billed during Public Beta
Cloud platformGoogle Cloud
RegionsIowa (us-central1), Oregon (us-west1)
Maximum devices10,000 to 100,000
Tier increment10,000 devices
Trial eligibilityOne 14-day free trial per account
Trial tier10,000 Devices only
Tier changesNot supported after deployment creation

For more information, see EMQX Fleets Plans and EMQX Fleets Pricing.

Next Steps