Hello,
I believe that I am particularly qualified to build this code for you. I have 3 years of experience building software drivers to communicate with energy meters, implementing various protocols at the byte-stream level (modbus, DLMS, ION, among others). I also have 2 years of experience building data-intensive python scripts, including webapis.
From your proposal, I understand that I would need to build the following components:
very basic webinterface with three pages
* settings
* static sensor mode
* logfile rerun mode
settings page:
* read and parse config file
* list of all sensors
* button to remove sensor
* fields to define analog sensor
* button to add analog sensor
* fields to define serial sensor
* button to add serial sensor
* save config to file
static sensor mode page:
* read and parse config file
* list all sensors
* add checkbox for each sensor
* start button
* stop button
logfile rerun mode page:
* select logfile from disk
* upload logfile
* field for frequency
* start button
* stop button
CANBUS data transmission module:
* must be started in another thread/process so that webserver can handle future requests, such as stop
* receive parameters from sensor configuration
* in the case of serial sensors, read in the NMEA template
* in the case of logfile rerun, load and parse the log
* pack CAN messages correctly and send them in the correct interval
* signal between threads/processes to cancel sending when a stop signal is sent