Reid’s Status Report for 3/6/21

This week was a little slower since our team has been waiting for parts, which I put in orders for on Wednesday. So far we have received our OBDII to VGA cable in the mail via Amazon, and I was able to find my OBDII port on my own car for testing. The wire is long enough for our device to fit on the dash. We also decided  to pivot from our camera idea since it didn’t have enough value for the end consumer. I also solidified which data I was using from the OBDII port so I can target specific sections of the CANBus data string, and came up with a data schema for my part of the project for our final design presentation. I researched more about the makeup of the OBDII string and where the specific data is located, and made some bit shifting masks that we will be using on our Raspberry Pi to find velocity, accelerator position, hazard lights and steering wheel information.

Team Status Report 3/6/2021

This past week we solidified the overall structure and flow of our data pipeline. We plan on having two processes running on the RaspberryPi at the same time. One process will be continuously receiving, filtering, and decoding the CANbus data and writing it into a local SQL database.  The other process will be reading and analyzing each new entry from that local database. After processing the data, we decided that the second process will send it to the AWS IoT console via MQTT protocol. Lastly, the web application will read all the data written to the AWS console and visualize it with charts and graphs. We also discussed how we are going to integrate the different software components. We decided on the format that the data would be in so that we could build our separate pieces of software knowing how the data will look when it is received. Lastly, we decided on the specific pieces of information we would need from the CANbus in order to perform a quality analysis of a person’s driving.

Team Status Report for 2/27/21

We wrote our initial proposal presentation and presented on Monday. This week, we debated our final design after reading our presentation feedback. We discussed more about how we plan to interpret the data and also found studies done online which look into different ways to interpret this kind of data for driving infractions. Our team solidified our parts list which we will be sending out on TAs before class on Monday. In terms of design, we decided to stick with the PiCan port and add a GPS to our system to track the user’s location and correlate it with Google Maps API data. We updated our GANTT chart to account for delays in the ordering process. For software, we requested AWS credits to help run our website on the backend and set up our Google Maps API and received an API token we can use for the rest of the project. Next week, we plan to make more progress on our individual tasks. This entails, having a working webpage, and starting to setup the Raspberry Pi for receiving and sending data from the OBD-II after our parts are received.

Ryan’s Status Report for 2/27/21

At the beginning of this week, I worked on creating our team’s slide deck for our presentation on Monday. We came up with the requirements for our project and the schedule to track our progress using a GANTT chart. This week I created a GitHub repository for our project where we will store all the analytics code that will run on the RaspberryPi as well as the code for our web application. I also researched how the RaspberryPi will communicate with its data. We decided to store our data using AWS IoT and send it via the MQTT protocol. I spend some time getting familiar with different APIs to find which one works best for our group, including a weather API and a google API for road data to access speed limit.  I also read a few research papers that discussed data that teams had used from a vehicle to try and recognize good and bad driving.

Samraj’s Status Report for 2/27/21

This week I worked on setting up the web application where we will be displaying out infraction warnings in real time as well as the final driving report. I started with setting up the overall layout of the website, using a Bootstrap template. I also researched into how we plan to send data from the Raspberry Pi to a database so that the website is synchronized. For this, I plan to use the AWS iOT core which will allow me to send data from the Raspberry Pi to AWS via MQTT over a mobile hotspot we will use in the car. The website can then read this data and update the warnings and prepare the report as needed. In preparation for next week, I also researched how to dynamically update data on a website from AWS so that we can continually read and update the screen. All of our code will be shared through Github, so I setup a shared repository where all of the website code will be pushed. Next week, I plan to continue on the website by making it so that I can receive AWS data on the website and update the page. Ryan will work concurrently on getting the Raspberry Pi to send the data so that we will be able to both send and receive sooner.

Reid’s Status Report for 2/27/21

This week, I worked on presenting and preparing the slide deck that we worked on. I worked on the technical requirements slides about navigation and infraction detection, as well as technical challenges and preliminary design. I was a little rushed on the presentation but overall I think I was able to communicate Drivaid’s purpose and technical components. One question that arose was how we needed a GPS tracking device connected to the Arduino that sends info to the Google Maps API to tell if a driver is slowing down for a stop sign/traffic light. I settled on the Adafruit ultimate GPS because of its precision and 10Hz updates, which should be frequent enough for precision mapping and location updates. I worked on a preliminary parts list as well which we plan on submitting to the TAs, which includes the PiCan, cables, GPS, and RaspberryPi. I also started researching how difficult it would be to not use the PiCan2 at all and instead use a OBD2 to USB to hook into the RaspPi’s USB port – we will discuss this as a team either later tonight or tomorrow since it would be a substantial change to our initial design.

Reid’s Status Report for 2/20/21

This week, I worked on researching the OBD2 port and finding an optimal technical solution to our problem. After shifting from our initial smart heater idea, I thought of this idea as something that built off a past internship that tracked hard braking and turning to improve street design. I helped design our initial outline of which devices we will be using and how they communicate with each other. I was able to find a OBD2 to Bluetooth device that could communicate directly with our onboard Raspberry Pi, one of the port alternatives that we are looking at. I also researched the OBD2 communication protocol to see the feasibility of reading directly from the port, which looks like it can be manageable using correct bitshifting. I also looked at some gyroscopes and IMUs, as Professor Mukherjee suggested, but am still unsure if they can provide the same data accuracy and breadth that CAN data does.

Team Status Report for 2/20/21

This week the members of our team spent most of our time pivoting from our initial idea. After a brief discussion with Professor Fedder, we came to the conclusion that our first idea didn’t have the teeth to be considered for a full capstone project. We met a few times to reconsider the direction of our project and landed on the idea to make a virtual driver’s ed application. Since we decided on our new idea,  we have researched how to gather the data from the car via the OBDII port and how to make a web application to display our data analytics. We are also considering adding cameras that record the environment around the individual’s car. This will be useful to add context to the analytics that we provide from the internal car data.

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.

Ryan’s Status Report for 2/20/21

This week we spoke with our professor and TA about the shortcomings of our initial idea. Since our meeting on Monday, I spent time considering other ideas for our capstone project. When we decided on a driving assistant I spent time researching the different ways of tracking car data. We discussed bringing in our own sensors that would attach to a RaspberryPi, but came to the conclusion that in order to get the widest range and most accurate data measurements, the best option would be to gather the information from the CANbus through the OBDII port. I researched a few methods for getting this data including commercial solutions that came with their own software, but decided that with a RaspberryPi and PiCAN attachment, we could collect and decipher the CANbus data ourselves. Additionally, I contributed to the proposal presentation slides we made.