Using python and socketcan we are reading messages off an industrial bus that need to be spit out to syslog-ng where it goes into our logging solution.
Our proof of concept was build using the python script here: [url removed, login to view]
-We are running on minimal hardware, the speed of the script is very important.
-To read directly from socketcan instead of from file.
-To be able to decode all messages in the stream, the "missing specification datasheet" used in the example is available, for our poc we hardcoded some spn's in.
-To filter messages, on change with hysteresis and on frequency (if next message is the same then only send message every x seconds, if the value changes more than <hysteresis> then send every y seconds.
-To read these settings per spn from a configuration file. ( We need to check in which png the message is, then calculate the hysteresis and afterwards filter the incoming pgn's on the hysteresis from the pgn, this way you don't need to calculate every datapoint from every message before filtering.)
-To spit out the data as a decoded pgn. The data needs to be bundled by all spn's in a png in one line, according format: <spn-number> <spn-value> (optional multiple ones, depending on filter --> <spn-number> <spn-value> <spn-number> <spn-value><spn-number> <spn-value><spn-number> <spn-value>)
Right now we are still on python 2.7 but eventually there would need to be a python 3 version as well.
6 freelancers are bidding on average €176 for this job
I have 7+ years in python - script developers with very good experience. Relevant Skills and Experience I am good in Python Proposed Milestones €200 EUR - Cost