...
Decoded CAN Data: Similar to telemetry, see Telemetry: Architecture and look specifically at the aggregating data section. We need the datetime, name of message, sender, and data.
...
Setup new repo to hold CAN explorer
Create a Python script to aggregate the data and stream the data with WebSockets, see telemetry_xiv for inspiration. The telemetry_scripts folder should hold web_aggregate_can_data.py which should be useful for developing the python script for CAN Explorer. The Python script should
Figure out how to develop a GUI with Python. Tkinter might be helpful in this case. However, other tools can be used if they are easier to use. The main thing to keep in mind is that the Python script needs to connect to the backend of the GUI and stream data through websockets (or another protocol can be used if it is more suitable)
Develop intuitive design for the GUI that allows the user to easily read the logged CAN. A table would suffice to display this data. However, do keep in mind that this table should be configurable and should allow the user to sort through the data easier later on.
Develop backend of the GUI that connects to the Python script and can retrieve the data
Create functions to allow the user to configure settings within the GUI and send these settings to the Python script
Figure out how the CAN data should be stored within the application.
Deploy the application. This application should be easily run and should not require the user to have to setup many things. Might be good to use something like Docker so it can be platform-independent. However, if this is not possible we can always just stick with Ubuntu.
...