Jonathan Cheng’s Status Report for Dec 4 2021

This week was the week of Final Presentations, and as such I have not made any progress in class time. In addition, since the data hub is largely complete, I have not spent any time outside of class to work on it. Right now, the only part we are waiting to complete is the extra chair sensor. In addition, I am waiting for my ordered SD Card to arrive. Once it does, then I can flash it with the raspberry pi OS, plug it into the second raspberry pi, and it should be active.

Due to other classes’ commitments, I will not be working on Freeseats this weekend. However, after Tuesday, I plan to retrieve my SD card, activate the second data hub, download the code onto it and wire up the second XBee. Once those steps are complete, both data hubs should be ready for the demo.

Jonathan Cheng’s Status Report for Nov 20 2021

This week was a productive week for Freeseats. My project component, the datahub, has been largely complete for about a week or two. Thus, I have been working with Will to get the chair modules connected to the datahub. This week, we spent many hours in the lab soldering and configuring the XBee modules to network, and have found great success. After that, we converted the chair modules to run on battery power. The end result is now that two battery-powered chair modules, attached to real chairs, can communicate with a central datahub.

In addition, I tested the datahub’s connection with the backend API earlier in the week. There were some schema inconsistencies that we had to debug by hand, but now it is all cleaned up. The datahub can convert and format received chair data and send the correct state updates to the backend. A full integration test was ran successfully on Wednesday.

This weekend and early next week, Will and I plan to go into the lab to collect some testing metrics for the hardware components, including network latency, sensor accuracy, and power consumption. After this, I will look towards setting up a second datahub to represent another workspace for the final demo. This will bring us to the final presentation, which we will be putting together over thanksgiving break.

Jonathan Cheng Status Report for Nov 13 2021

This week there was a slight lull in progress, due to two main factors (shipping delays, and external coursework). Despite this, I still made some meaningful steps towards completing the Data Hub. One crucial component, the XBee breakout board, did not arrive until Wednesday, meaning we couldn’t work on configuring the XBees until then. So, at the beginning of the week, I worked on testing the Data Hub’s connection to the backend, making sure all the schemas were aligned and verified for seamless communication. This was successful, and the Data Hub can now communicate with the deployed backend API.

Once the breakout boards arrived on Wednesday, Will and I got to soldering the XBee’s to the breakout boards, so that they can be plugged into regular-sized breadboard inputs. After that, we configured both XBees by using the Arduino as a serial converter.

At the start of next week, we expect that we will be able to begin testing of XBee communication, which is the final big step in our development. Once this is complete, finishing the capstone project will just be a matter of recreating another Data Hub for multiple-workspace use cases. Exciting!

Jonathan Cheng’s Status Report for Nov 6 2021

This week, my time was half spent on flashing the RPi with the proper OS and configuring hardware settings to accept GPIO data. Overall, this was a successful endeavor, and I got my data hub code installed on the machine, with all dependencies as well. The second half was spent with Will, helping him with whatever he needed to do to get the sensor connected to the XBee. Fabrication generally takes more time than writing code, so any help I could give, I did.

The work we did this week sets us up well for next week’s interim demos. All three of our components have developed decently, and though we are far from done, we are well on our way. Upon looking at the initial setup for the XBee, it seems like the configuration is going to be fairly straightforward. If everything goes according to plan next week, we should be able to get a full integration test by the middle of the week.

After running an integration test, the next thing to do is fabricate more chairs and one more data hub, to move towards more real-world situational tests. This will put us towards the end of the development cycle for our capstone project.

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.

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.

Jonathan Cheng’s Status Report for Oct 2 2021

This week was focused on research and implementation design for our Design Review coming up. Since Nathan and I switched focuses, I have been working on flushing out details regarding the Data Hub. Some topics that posed difficult design decisions were the communication protocol to use, the software to interact with the backend, timing requirements, etc.

In preparation for the design review next week, which I will be presenting, I was in charge of setting up the slide deck and assigned slides to each person. I also made 4 of the 12 slides, as well as creating the new block diagram for our detailed implementation approach.

Next week, after presenting the Design Review, I will be transitioning into working with Will Foy on exactly how to interface the XBee modules together, optimizing for power efficiency while maintaining data accuracy.

Jonathan Cheng’s Status Report for Sep 25 2021

This week we had our class-wide proposal presentations, so all of our in-class time was used on listening to the other projects our peers are taking on. As such, I did not make much in-class progress this week regarding my research.However, we did have some meaningful discussions in preparation for our proposal presentation regarding division of labor.

In short, I am now switching over to researching the Data Hub portion (using Raspberry Pi) of the project. On that front, I have committed several hours of my time to reading through online materials regarding Raspberry Pi, the XBee Module, and the Zigbee Protocol. I have found multiple articles and walkthroughs that use similar tech stacks to what we initially planned, so these will be valuable when I implement the data hubs. After reading through these articles, I have narrowed down what materials we need for this portion of the project, as well as identified some challenges that we may face. For more information on the Data Hub research, please refer to our Design Notes document in the shared google drive folder.

Jonathan Cheng’s Status Report for Sep 18 2021

This week I focused on coordinated research of potential technologies for our project. I was personally looking into software technologies for our web-app, as well as different types of sensors. During our mandatory lab meetings, we collaboratively conducted research for our project design and formed presentation slides.

In addition, I took the task of setting up our team website and writing our team introduction and project overview. This weekend we, as a team, will be preparing 12 slides (of which I created 3) for our Proposal Presentation. Research, design, and rehearsal will all be part of this week’s weekend meetings.

We seem to be on schedule, perhaps slightly behind on the research side. Since our product has multiple components that are relatively unexplored by the team, we have to make sure that we consider many viable options.

This coming week I plan to present our most promising software technologies to the rest of the team and finalize our tech stack for the web-app, and even start implementation of preliminary software components.