top of page

Build Custom IoT Data Collectors Using JEDI and JSON Forms

Bring In Your Data. Your Way.


You know your data.


You know your sensors, your equipment, your APIs.


But getting that data into a working, visual, and useful system has always been the challenge.


With Machinechat JEDI's custom plugin data collectors and new JSON Forms-powered settings UI, you can finally connect any data source–legacy or bleeding edge–and make it live inside a real-time monitoring system. No cloud. No vendor lock-in. No friction.


With Settings UI, your custom data collectors get a dynamic UI that you didn't have to build.


🧭 Why This Matters

You've got:

  • A sensor on a serial port

  • A PLC that speaks a custom Modbus dialect

  • An API streaming out data you care about

  • A USB device with zero public documentation


And you know how to talk to it.


But wiring it into a dashboard? Managing config changes? Giving someone else a clean way to use it? It is messy.


Machinechat JEDI's custom plugin system ≠ JSON Forms UI turns your expertise into a reusable, professional-grade IoT data connector.

Write a script, define a few JSON files, and boom–your logic has a live data stream and its own configuration UI in JEDI.


💡Think of It Like This:

  • Your script = the data brain

  • JSON Forms = the face of your plugin data collector

  • JEDI = the muscle: dashboards, alerts, storage, automation


You don't need to build an IoT platform. JEDI is your platform.

You bring the logic. JEDI'll handle the rest.



Image showing the data path from data acquisition to JEDI through the custom data collector
Data Flow Diagram From Sensor to Machinechat JEDI with Custom Data Collectors


🛠️ How It Works

1. Write Your Plugin

Your script (Python, Go, C, Node.js—whatever you love) reads your data source and prints metrics in JEDI’s simple format:

text​​CopyEditmetric: id=SensorX, n=Temperature, vd=22.7, u=C

Send data to STDOUT, errors to STDERR. You’re speaking JEDI’s language.


2. Add a Dynamic UI with JSON Forms

Drop four files in your plugin folder:

JEDI automatically builds a settings UI for your plugin in the browser.

Refer to JEDI's documentation on custom data collectors and Settings UI here Custom Data Collector Documentation


3. Read Settings in Your Script

Your script reads a CONFIG environment variable—JSON-formatted with the user’s settings.

Example:

json​​CopyEdit{  "polling_interval": 5,  "serial_port": "/dev/ttyUSB0"}

Use that data however you like. You’re in control.


👷 Real-World Examples

🏭 Modbus Vibration Monitor

  • Plugin written in Go

  • UI for serial port, address, and polling interval

  • Streams machine health data 24/7 into dashboards and rules

🌱 Smart Greenhouse

  • Plugin in Node.js

  • UI for API key and soil moisture threshold

  • Triggers watering rules via JEDI

🔌 DIY Energy Meter

  • C plugin to decode custom voltage sensor

  • UI for calibration and alert thresholds

  • Sends daily reports and alerts on overuse


👨‍💻 Built for Engineers Like You

You don’t want to fiddle with UI frameworks or cloud platforms. You want results.


JEDI lets you:

  • Use your favorite programming language

  • Build once, configure easily, share freely

  • Avoid writing front-end code, ever

  • Deploy fast—on Windows, Mac, Linux, Raspberry Pi


⚡ Your Next Step

You already know how to read your sensor, parse that file, or talk to that controller.

Now, take that script and make it rock inside JEDI:

  1. Drop it in /plugins/

  2. Add your JSON UI files

  3. See your data. Customize it. Trigger actions. Share it.


You’ve done the hard part—writing the logic. JEDI does the rest for you—bringing your logic to life.


Want to Go Deeper?


 
 
 

Bình luận


bottom of page