Mrinmayee Status Report 2/26

I did not get a chance to visit the lab this week due to the design presentations. According to our gantt chart, I was supposed to help Kanvi build the spot modules. Instead, I focused on working on pseudocode for how the back-end of our web app would look like. According to Pennsylvania law(https://www.dmv.pa.gov/Driver-Services/Driver-Licensing/Driver-Manual/Chapter-3/Everyday-Driving/Pages/Parking.aspx), the tires of the car must be within 12 inches of the curbside. We will use this metric to tune the ultrasonic sensors inside the spot modules. Since each module has its own nodemcu unit, each module will be able to communicate with the database independently. Moreover, we will be statically storing their arrangement on software via unique ids that indicate which modules are next to each other. Overall, the database will store information, such as availability, location of the spot module(coordinates), location city, unique id of module, and a “assigned user” attribute. Thus, when the web app receives a request from a user, who inputs their destination, we use geocoding (https://developers.google.com/maps/documentation/javascript/geocoding) to convert the address to coordinates, with which we can query the database. The city attribute can help index through data faster. We will use the google maps api to calculate the minimum distance (https://developers.google.com/maps/documentation/distance-matrix?csw=1). It is important that we find not one available module that is closest, but rather three modules that are next to each other, since they are spaced 8ft apart each. Furthermore, since more than one user will be requesting parking spaces, we will assign priority to requests based on the request timestamp and use a queue to process all requests. To make sure the app does not direct two users to the same parking space, we set the “assigned user” attribute for a module in the database when a spot module is technically available according to sensor information in the database but is already assigned to a user request. Everytime the module gets occupied and is no longer available, this “assigned user” attribute gets reset for future use. Next week, I hope to work with Kanvi and build the module, and work with the team overall to turn this pseudocode into code, changing details as needed.

Leave a Reply

Your email address will not be published. Required fields are marked *