Solutions
IoT device control
Turn live sensor data into automated, proactive control of remote devices. No manual intervention required.
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.
Rolling time windows evaluate conditions continuously, so control decisions keep pace with the data as it arrives.
Write control logic in JavaScript, Python or Java. Plug straight into your team's existing skills.
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.