Samraj’s Status Report for 5/1/21

This week I worked on adding final changes to the website. I finalized the notification system by adding a series of lights on the page that will flash when an infraction is detected. This way, the user can see the violation but won’t have to read and get too distracted. I also added some more navigational features to the site to view all of the data. We also were able to receive more the error codes from the car through the OBD stream, so I needed to add a feature on the website to be able to see if any of these error codes is triggered on the car. Besides the website, I helped with the final steps of integration and testing the system to make sure everything is functional before the demo. I helped Reid to design and cut a box to store all the components in when it is in the car.  I have also been running tests in the car to make sure that all the data is being read and stored correctly and properly sent to the website in real time. So far, there don’t seem to be any major issues and we just need to do more small refinements before the demo.

Samraj’s Status Report for 4/24/21

This week I made some more modifications to the website. During our demo we noticed some issues with how the live data updates and the update rate was not as fast as it should be. This was mainly due to an issue that the service I was using to host the data was not set at the correct update rate, but I was able to fix this to update every second. Aside from this, I worked more on the live notifications and getting a solution working so that the data is sent in real time and pop’s up on the users screen. I am looking into an alternate solution to send real time push notifications to the phone rather than updated the website constantly, since this is harder than anticipated. This seems to be more feasible and I plan to get this working early this week. I also spent more time working with the team on integration and testing that the system all works together properly.

Samraj’s Status Report 4/10/21

This week I worked on integrating my work on the website with the OBD-II data stream.  In order to visualize the data, I found a website called Thingspeak, which makes it easy for me to store the data and format it into a graph or chart. Using this, I can embed an iframe of the graph that is generated in Thingspeak into our main website and we can visualize all the data the is coming in that way. So far, I am able to visualize most of the raw data and outputs of of the infraction check functions, but there are a few more I need to add in in the next few days. Aside from this, I helped out with integrating the OBD-II logger with the infraction checking functions but putting the code together so they run in sync. Next week, I plan to continue working on integrating the website with the data so we can see all the data we need. I will also add more features if time permits such as user log in and exporting tools.

Samraj’s Status Report for 4/3/21

This week I worked mainly with the team on fixing our issue with the data stream. We were having trouble with the Raspberry Pi Can-bus interface, but we were able to resolve the issue by using an ELM327 cable which removes the need for us to use the CAN bus.  Now that we have the data stream, we are working on final steps of integration to get the whole system running.  Aside from this, I made more adjustments to the website to prepare for the data that we will be taking in. I used the database structure which we are using for the on-board SQLite database so that it is easy to send and store the data without much translation to be displayed on the website. I am working more on getting the real-time notifications to display for the driver and the system is working, but I plan to continue testing this with the real data we are receiving now to ensure that it works correctly and looks good for the driver without much distraction.

Samraj’s Status Report for 3/27/21

This week I worked with Reid on getting the OBD-II data stream functioning properly. We had some issues with the data stream being cut short due to a buffer issue and we were able to target the issue to a header pin that was not connected. Besides this, the rest of the scripts are setup to log the data to a file to be stored on the database and seem to be functional. Once we resolve this issue, we believe our stream will be working properly and be ready for integration.  Aside from working on this, I also spent some time working on the realtime notifications for the website. Since we constantly have to be reading and updating the page, I setup a MySQL database connected to the website, so we can simply use a PHP script to send the data at a set interval to the database which will display on the website. Since we are on a shared network, this is quite simple and is more efficient than our previous idea of using the AWS iOT Core which is far more complicated to setup. Using this, I was able to send some test data to be displayed, but I need to work on getting it to display faster and in a more visible style. Next week, I plan to continue this and also continue helping Reid on the OBD streaming.

Samraj’s Status Report for 3/13/21

This week I worked on setting up AWS to host our website. Since our website involves displaying dynamic data and constantly updating the page, I will be hosting using Amazon EC2. Since I have not used AWS before, I followed a few different tutorials online to help with the process. Setting up the hosting server involves first creating an EC2 instance in the AWS portal. Once this is set up, I can connect and update the server, and then upload the files I need to display on the website. As of now, everything seems to be mostly working, but I need to do more tests with dynamic data to make sure the website can update appropriately. Aside from this, I was the presenter of our groups Design Review presentation so I spent a good amount of time earlier this week preparing for this. Next week, I plan to wrap this up and start working on the database integration/setup process. Also, now that we have all of our parts received, we can start setting up a data stream and I plan to do some preliminary testing with putting this data into a database and trying to read it on the website.

Samraj’s Status Report for 3/6/21

This week I worked more on the website which we will be using to display the real time notifications and user driving report. A lot of my work this week was done on planning out the exact process I will go about on working on this piece of the project and how to integrate it easily with my other team member’s parts, which involved a group effort of ironing out the design our overall system. We decided we will be using AWS as our database, since we can send the driving data to AWS via MQTT and also access this data from the website. Once the data is sent from the Raspberry Pi and received on the server, I can take the data and write Javascript code to interpret the data into different charts and lists to display on the website. For example, on the driving report page, we plan to have a complete summary of the user’s drive, split up into parts such as:  a chart of their speed, amount of time and distance driven, list of infractions, chart of efficiency overtime, etc. Aside from planning, I also continued work on the actual development of the website and created the HTML and CSS for two static pages with the basic template of the final website. The infractions page is just a simple box on the screen where the text will update/flash when an infraction is detected from the server. The other page is the driving report page, and has the layout for where we will be placing the data also when it is received from the server.  Apart from the website, I also spent time doing research on OBD-II data formatting and how exactly we can read this data. I found that the the data has a standardized format array of bytes where each block of the data represents some piece of the information, which is logged online. We simply can create a bit mask based on the data we need and extract it.

Next week, I plan to setup the website with AWS now that I have received credits so that we can host the website and start storing/retrieving data and be ready for when we get the ODB-II reader going.

Samraj’s Status Report for 2/20/21

This week, we shifted our project idea from a smart heating system to this smart driving instructor. Most of my work this week was done in helping my team come up with this new idea and research it’s feasibility. Since our project relies on communicating data from the OBD-II port to the Raspberry Pi, I did some research into the tools we need to achieve this and found that we need to order a PiCAN2 CAN-Bus Board, along with a Raspberry Pi, and an OBD-II cable. I also started to setup the website that we will be using in our project in order to display and store the data by setting up a host and a basic page. We seem to be on track for next week where we will start to get the project fully rolling and hope to order parts and continue with the website.