A brief exploration of options for the EdgeX Rules Engine
As of this writing, the EdgeX Rules Engine is based on Drools. The challenge is the footprint for this container is somewhat large for the edge. In a perfect world the replacement would be written in Go or something with a similar small footprint. It also needs to be maintained, not a one off someone threw into the wild.
See the PDF in this repo
As part of the exercise, I played a little. Really more to prove to myself that I could express the simple EdgeX IFTT type rules.
- Install and start Redis
- Install Durable Rules
- Run my little example
python edge-event.py
- Test
curl http://localhost:5000/motortoofastsignal/events -H Content-type:application/json -X POST -d '{"device": "562114e9e4b0385849b96cd8", "parameter": "RPM", "value": 1200}'
curl http://localhost:5000/motortoofastsignal/events -H Content-type:application/json -X POST -d '{"device": "562114e9e4b0385849b96cd8", "parameter": "RPM", "value": 1201}'
- Build
go build
- Test
go run edge_event.go