Solutions

IoT device control

Turn live sensor data into automated, proactive control of remote devices. No manual intervention required.

Sensors and connected devices streaming data to Joule for real-time control

Why it matters

From sensor noise to automatic action

Remote devices generate a constant stream of readings. The hard part is turning that into a decision worth acting on, fast enough for it to matter.

Reacts in seconds

Rolling time windows evaluate conditions continuously, so control decisions keep pace with the data as it arrives.

Any language you already use

Write control logic in JavaScript, Python or Java. Plug straight into your team's existing skills.

Runs next to the devices

Deploy in the cloud, on-prem, or at the edge right beside the sensors and actuators themselves.

How it works

A streaming pipeline that closes the loop between sensor and actuator, running continuously with no operator in the middle.

  • Sensors publish readings

    Connected sensors stream measurements temperature, humidity, CO₂ and more over MQTT.

  • Filter and window the stream

    Joule filters incoming events and aggregates them into rolling time windows.

  • Decide the control action

    A lightweight control function evaluates each window and works out what should happen next.

  • Command the device

    The decision is published back out, driving the connected actuator in real time.

FAQ

Common questions

What protocol do devices use to send data?

MQTT out of the box. Sensors publish readings to a topic and Joule subscribes to them directly.

Where can this run?

Anywhere Joule runs: in the cloud, on-prem, or at the edge close to your devices.

How do I customize the control logic?

Write your own control function in JavaScript, Python or Java, or start from the tutorial's example and adapt it.

Go deeper in the docs

Step-by-step setup, sensor simulation, and configuration for the full IoT device control tutorial.