Team Status Report for Oct 23 2021

This week, we were able to reflect together on some of the ethical problems that came with our project. These include:

-Someone viewing FreeSeats to steal things when people aren’t there.

-Finding a single person in the library alone as a target for theft or violence.

-Exclusionary to people in wheelchairs.

We thought of solutions to remedy these issues, such as displaying only range of available chairs instead of specific values. Also, we can extend our project to account for those with disabilities with weight sensors if time permits. We will continue to keep these ethical problems in our minds as we implement our project.

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

Progress with the team has been excellent. This week, we focused on the initial implementations of our project. We have been communicating extremely well and feel confident as a team moving forward.

Some risks we face moving forward is the workload of our other courses. As the semester picks up, we all have more auxiliary work to complete. However, we are all on the same page about keeping our Capstone project a high priority. This way, we stay on top of the schedule and make good, incremental progress.

Another is the risk of delayed shipping of our parts. We are gradually receiving the hardware parts we ordered as expected. This includes batteries and Raspberry Pi. However, some of the parts may be delayed this week. We have accounted for this risk by incorporating “slack” time in our schedule so that there is buffer time available. Right now, we feel confident we have enough work to do before the incoming parts arriving which is excellent.

The biggest risk is our hardware capacitance sensor not working. The professor raised this concern to us. Though we feel confident that it will work based on our research , we have accounted for this risk by having a backup plan with the weight sensors. This “backup” plan time is allocated within the slack time for this portion of the implementation.

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

No design changes were necessary this week. The amount of prior time spent designing is beneficial, as now, as a result, the implementation part is smoother.

Nathan’s Status Report for Oct 23 2021

What did you personally accomplish this week on the project?

This week, I worked on the ethics portion of Capstone, and reflected a lot on some of the ethical problems that came with our project with the group. These include:

-Someone viewing FreeSeats to steal things when people aren’t there

-Finding a single person in the library alone as a target for theft or violence.

-Exclusionary to people in wheelchairs

I will continue to keep these ethical problems in mind throughout the implementation and create guards in software to remedy them (ie. range of available chairs instead of specific values).

This week, I continued to work on the web application. I continued to bootstrap the cloud storage, MongoDB, which I chose due to accessibility and ease of use within a JavaScript stack. I setup MongoDB Atlas, to store all of our data in the cloud. This was chosen based on my research of cloud storages with the idea of a scalable MVP as a priority.

My basic database schema is as follows:

const Seat = new Schema({
id:String,
occupied:Boolean,
}
)
const Hub = new Schema({
id:String,
seats: [Seat],
}
)

 

I decided to follow a one-to-many hierarchy to match the nature of a study space having multiple chairs. Each seat has a boolean of occupied or not. I implemented this schema to contain the minimal amount of information needed for functionality, as that makes it simpler for our MVP stage.

I also implemented the server skeleton and client skeleton that are able to interface with each other. This is using Express.js, Node.js, and React,js, which is part of the MERN stack. For the server, it supports CRUD operations, as this is the functional minimum of a database server. The client can then interface freely with the MongoDB Atlas cloud database during the development phase.

Is your progress on schedule or behind?

I am on schedule with my parts and feel confident moving forward. I expect that as we move further into the implementation part, we will have a lot more roadblocks, so I will be working hard in the weeks to come. We are gradually receiving our ordered products, and so far they all seem to be on schedule!

What deliverables do you hope to complete in the next week?

This week, my task it to continue working on the web application. I have to make 25% more progress on the server-side, and get a public endpoint up and running so that the data hubs can act as the clients interfacing with the server. I can’t wait!

 

William Foy’s Status Report for Oct 23 2021

Last week (10/10 – 10/16) I spent most of my time contributing to the design review doc. We split up the doc between the three of us and I was responsible for the system overview section and the tradeoff section.

This week (10/17-10/23), I spent the first couple of days on the Ethics assignment, in preparation for Wednesday’s guest lecture. I enjoyed Wednesday’s lecture and it was nice to get an outside perspective on the ethics of our project.

In addition to the ethics assignment, I spent this week making sure all necessary components were ordered. We had to pivot to using a different type of battery, a 3.7V LiPo with a large capacity close to 5000 mAh. I think all of our components are set to go right now.

I also started setting up an Arduino to test our capacitive sensor. We haven’t yet received our Arduino Pro Minis so I used an Uno which was available. I started getting familiar with the CapSense library and figuring out how to connect the aluminum foil to the board.

I think I am slightly behind on schedule. I need to pick up the pace in terms of getting the proof-of-concept for the capacitive sensor working since that is a vital part of our project. Next week I hope to fully test the sensor and tune it with appropriate resistors in order to pick up human presence. If I can get the capacitive sensor to a good state next week I will be back on pace.

Overall our team is moving ahead nicely and we are collaborating as a team. JJ and Nathan have both made great progress on their respective parts of the project as well. After we get all components delivered and the capacitive sensor working we’ll be in good shape going forwards.

Jonathan Cheng’s Status Report for Oct 23 2021

This week, I spent the first couple of days focusing on the Ethics assignment, in preparation for Wednesday’s guest lecture, which was enlightening and provided me with some valuable insights about our project’s ethics.

After the Ethics assignment, I started drafting up the Python code that would run on the Raspberry Pi. Specifically, I set up the team’s github repository, as well as the project structure. Then, I used jsonschema (a standard for defining json data models) to flush out the exact data structures being transmitted to and from each of our project components. Each component should use these schemas to validate all data sent and received, as the jsonschema standard has implementations in many languages. I then wrote my own validators for the schemas in Python, and tested them with my own PyTest tests, marking the beginning of the Raspberry Pi test suite.

After this, I begun writing the main script that will operate on the Raspberry Pi. The main logic involves reading the GPIO pin data for XBee-received information, processing that data into JSON, validating it, and modifying internal program state to reflect the received updates. In addition, I’m using the Python Time library to embed a countdown timer to program the 15-second timed backend API updates.

Next week, I hope to finish this program, test it on my local machine, and then load it onto an actual RPi, and see how it performs on the target machine.

Jonathan Cheng’s Status Report for Oct 16 2021

This week was focused entirely on completing the design review, which was a challenge because of midterm exams and projects all due at the same time. However, our group did manage to get the Design Review Report done by the end of the week. After completing my part of the report earlier on in the week, I focused on submitting purchase and borrow requests to the ECE department, and also researched on which models of the hardware components would suit our use case the best. The conclusions I made are reflected in the bill of materials, as well as the research results of my teammates.

For the Design Review Report, I was originally tasked with the Design Requirements and Architecture Overview sections, but also contributed to the System Design and Testing sections of the report, due to a time crunch we were facing.

This weekend I hope to finish the Ethics assignment early. Then, I plan to pick up the borrowed raspberry pi’s from the ECE inventory desk, and start implementation of the central data hubs.

William Foy’s Status Report for Oct 9 2021

This week was mostly spent listening to other groups’ design review presentations and giving feedback. I also helped JJ prepare for our presentation and he did a fantastic job. For our project, I continued to do some research for the chair module regarding the Arduino code that will interface with the capacitive sensor and the Xbee. I have been exploring XCTU and how we need to set up the Xbee modules. We also need to start ordering components, specifically Xbee modules. The ECE department should have RPis and Arduino Nanos that we can use. I also put in a request to get AWS credits for our cloud-based web app.

I think we are on schedule still. We will finish up our design review this week and then can dive right into implementation. Everything on the preliminary research end should be wrapping up soon.

Next week I plan to work on our design review document for submission Wednesday. I also want to get all of our components figured out, whether ECE already has them or we need to order them. Finally, I want to start testing the capacitive sensor with an Arduino as soon as we get on.

Jonathan Cheng’s Status Report for Oct 9 2021

This week I spent the beginning part focused on my peers Design Review presentations, the last of which ended on Wednesday. After that, I looked mainly at the order list for my project component, the raspberry pi Data Hubs. Since the r-pi is the main course of the project component, there isn’t much to order on that front, as I can borrow r-pi’s from the ECE department. However, XBee modules do need to be ordered, and those are going on the list. In addition, I conducted more independent research on how I am going to write the embedded code for the r-pi, smoothing out some questions I had internally about the process.

I also took charge of writing this week’s team status report; the team has decided to go with a round robin approach for completing that weekly report. Early next week I plan to help write the Design Review writeup and get that submitted early. Then, I’m going to draft up some of the r-pi python code, and see if I can’t get my hands on a r-pi to test it on.

In terms of schedule, we’re right on track. It is currently the beginning of October and we are finishing up final designs and starting implementation.

Team Status Report for Oct 9 2021

This week, the class spent the two lab times giving our Design Review presentations, all of which were impressive and enlightening.

As such, we didn’t have any in-lab time to work, but our group coordinated well and got some meaningful research done in preparation for our Design Review writeup. Each of us cleared up unknowns within our respective focus areas, and smoothed out implementation details for the work we have to come. In addition, we have made progress towards finalizing our list of components to order, and are planning to submit the order form by tomorrow, Oct 10.

Next week, we plan to have ordered our full component list. In addition, we want to have completed our Design Review writeup early in the week, in time for the Wednesday submission deadline. Later in the week, we aim to start implementing some software, whatever we can get to before the hardware arrives. For some project components such as the web app, this will probably involve bootstrapping the web app stack. For the hardware-related project components, this will be writing the embedded code that will run on the respective devices. Achieving this will put us right on schedule!

Nathan Ang’s Status Report for Oct 9 2021

What did you personally accomplish this week on the project?

This week, I worked on bootstrapping the cloud storage (MongoDB) and setting up the skeleton framework of the software stack. It is still a work in progress.

I also helped edit the slides for the our Design Review Presentation, which was a big focus for our group in the beginning of the week.

Is your progress on schedule or behind?

I am on schedule with my parts and feel confident moving forward. I expect the implementation part to have a lot more roadblocks, so I will be working hard in the weeks to come. I also expect shipping of necessary to take a while, so we will order parts soon (by Monday)

What deliverables do you hope to complete in the next week?

This week, my task it to continue working on the cloud storage and setting up the skeleton framework of the software stack. I will also help the team order necessary components!

William Foy’s Status Report for Oct 2 2021

This week was spent doing further research in order to find a viable solution for the chair module that meets our requirements. At the beginning of the week, we thought we would switch to using a NodeMCU since it’s cheaper than an Arduino Nano, but then we switched back to the Nano since it consumes less power and we don’t need the WiFi capabilities of the NodeMCU.

I also found a new idea for the chair sensor, which involves the Arduino Capacitive Sensing Library. With some tuned resistors and pieces of aluminum foil, I think we can detect human presence on the chair using this library. More info can be found here https://playground.arduino.cc/Main/CapacitiveSensor/.

I helped our team prepare for the design review as well, which involved making 4 of the slides for our slide deck and working with JJ to prepare for his presentation. I think we are prepared to give a great presentation next week.

I think we are on track according to our schedule. After presentations next week we should be all good to start our implementation. We have a solid design in place with good requirements and a valid testing plan.