- Kivy This software seems to be the most popular for creating UIs.
- Pygame Game creation software.
- pyqt5 is a professional looking option.
In the end we decided on using QT Creator to develop our graphics used in our EV dashboard. A few factors contributed to our decision to use QT:
- QT Creator has the option to use C++ for the backend. This was important as we were already experienced with C++ and C languages.
- QT Creator had many tutorials and guides online which accelerated our designs and helped us meet our deadlines.
- QT Creator was a full package. Many of the tutorials involved using JavaScript for the backend and chromium for the front. This was not ideal as we were running short on time and were unexperienced at the time with the tools that would be used. This option would be considered in the future.
- The one of the tools we discovered included a SocketCAN library which was written in c++. With this source code, we were able to reengineer a tool of our own for testing and sniffing called "cansee". With the use of this tool, we were able to learn the syntax behind SocketCAN and develop a backend for the dashboard in C++.
In the future, we would like to:
- Add some custom graphics to our dashboard. Given our short history with QT, we were unable to create an elaborate dashboard. The resulting dashboard featured only the basic QT widgets such as loading bars and seven segment LCD numbers. Our ideal dashboard would contain more circular speedometers.
- Develop in JavaScript or Python in order to utilize more widely used graphical tools.
- Clean up the display and optimize the design to display data in a more useful manner.
Follow the instructions found on here to install PiCAN for the raspberry pi.
"wget http://skpang.co.uk/dl/cantest.tar"
tar xf cantest.tar
cd into linux-can-utils and move cansee.c into the directory.
Modify make file and build the project.
Execute the program using ./cansee
Program should begin finding and displaying CAN frames as they appear.