Team Weekly Status Report for 4/29

This week, our main priority was the Final Presentation on Monday. Afterwards, Ian B. worked on the web app, while Ian F. and Nat worked on refining the nodeMCU code and worked on the encasing solution for the sensor module.

Next week, we plan on working on the final poster, final report, and final video which are due Wednesday, Friday, and Saturday, respectively. Our main priority is the final report, which we plan on starting this weekend.

In terms of schedule, we would say that as a team, we are all on schedule for this final week.

For testing, some tests we have done are:

– Web application response time – how long the web app takes to reflect going from busy to free and vice versa. We ran 10 trials on each of the sensor modules and our average findings were in our final presentation, but they were well below our initial 30s use case requirement.

– Sensor module detection – the accuracy of the sensor module while using it on a treadmill/elliptical bike. We ensured that we had over 90% accuracy as per our use case requirement.

– Sensor module power/battery life – we tested the battery life of the sensor module to ensure it met our 16.5h use case requirement.

Ian Brito’s Weekly Status Report for 4/29

This week, I mainly worked on finishing touches for the web app (UI/front end related tasks and small bug fixes). Overall, I would say work on the web app is complete. There was not much testing to be done individually on the web app that has not already been done: setting up a new machine works, admin page works, we tested time to update with various runs, which all worked.

Next week, we will work on all our deliverables, which include the poster, final report, final video, and final demo. I would say the main priority for this week is the final report due Friday, as it is the largest assignment of the bunch. Therefore, most of this week will be spent working on that.

Heading into the final week, I would say we are on schedule to wrap things up neatly.

Ian Brito’s Weekly Status Report for 4/22

This week (and last week, given there was no status report), I added a few key features to the web app. First, I made sure the register endpoint was fully functional — the register endpoint is the API that the nodeMCUs hit on start up to that they are assigned their IDs. Next, I worked on an admin page as discussed in our group meeting, so that admins can assign machines to IDs. This involved creating HTML for the page, working on JS, and backend login for Django so that only logged in admins can access the page. Thirdly, after discussing with the team and Alex, I realized my initial approach for average business for machine was wrong, and updated that. The new approach simply calculates % business (aka # machines busy/# total machines) and plots them per day.

Next week, the big overall goal is just cleaning up the CSS so that the page looks better. However, the first main focus is the final presentation next week. We have done some testing in terms of our use-case requirements (response time, accuracy, etc.), but have to finish our slides before tomorrow at midnight.

Overall, I would say that I am on schedule, and so is the rest of the team. Not much is left to do with the web app itself besides finishing touches and polishing before the demo, so the main focuses now are the deliverables in the coming weeks.

Team Status Report for 4/8

This week, Ian B. continued work on the front-end of the web application, as well as a new feature on the backend of the site for registering a new device as discussed during the interim demo. Ian F. was able to get a significant amount of testing done with the sensor module. Additionally, we now have a wireless and mobile (battery powered) sensor module, with initial steps for the encasing/mounting mechanism taking place. Nat worked on nodeMCU code, as well as spending time understanding Ian F’s work to have an idea on how to integrate it with his own code.

Next week, Ian B. will work on the final backend feature (average time spent per machine), as well as debugging and testing the new feature/existing features. Ian F. will continue working on the mounting mechanism for the sensor module, as well as integration of his work on the sensor with Nat’s.

In terms of schedule, I would say that we are on schedule in terms of the software stack with the web app. For the sensor module, I believe we should be roughly on schedule according to the new chart made for the interim demo, but it is a tight schedule as Ian F. mentioned in his individual report.

Ian Brito’s Weekly Status Report for 4/8

This week started off with the interim demo on Monday. From there, I continued work on the front-end of the web application this week. While the visuals for the web application were fine for the demo, I believe there was room for improvement. Next, one piece of feedback/one question that I was given during the demo was “How does each machine know which id it is?” The process for the demo was to have the nodeMCU send a POST request with its id preconfigured — but for setting up a new nodeMCU, this was tedious. Instead, I worked on the backend for registering a new device/machine. The nodeMCU sends a POST request to the web app and receives back its unique ID, which the web app also stores in a model. Overall, I would definitely agree this is a much more streamlined solution for registering new devices.

This coming week, I plan on fixing any bugs with existing code, as well as implementing the final functional feature, which is the average time spent on the machine.

In terms of schedule, I would say I am on track with the schedule posted for the interim demo, except for sockets (which we mentioned in the demo that POST requests might just suffice).

The tests that I have run and am planning on running are:

– testing adding new machines with the register api

– updating busy and free status for existing machines

– testing reporting a machine as broken

In particular, the second test is the most important because in order to meet our requirement, we need to ensure that updating the machine is accurate and quick.

Team Status Report for 4/1

This week, Ian B. worked on the front end of the web application and was able to incorporate AJAX polling so that the data displayed on the web app automatically updates/refreshes without needing to manually reload the web page. Nat was able to connect the nodeMCU to CMU-DEVICE and test sending a POST request to the web app, which successfully received the data and updated the database with the new data. Ian F. tested the IR sensor with the nodeMCU, but encountered some errors along the way. However, we plan on fixing this before the interim demo on Monday.

Next week, we plan on doing our best for the interim demo presentation, then start fully integrating Nat and Ian F’s work on the nodeMCU. Additionally, Ian B. plans on finishing work on the front end, working on the “average wait time” feature and the “Report broken machine” feature.

Overall, we would say that we are on schedule in terms of our proposed schedule from the design report. Sending data from the nodeMCU to the web app and having that data be displayed on the web page is a crucial aspect of our project which we have working, so we are proud of that.

Ian Brito’s Weekly Status Report for 4/1

As I stated in the last weekly report, this week was rather busy for me so most of my progress would be made on Friday through Sunday before the interim demo. Regardless, this week I managed to get AJAX working with JavaScript for the front end, so that the website automatically updates which machines are free and which are busy without the need to refresh the page. Furthermore, Nat and I were able to test that sending data from the nodeMCU via POST requests work, which was reassuring.

Next week, including tomorrow, my plan is to finish the work on the front end (mainly CSS), add a “Report machine broken” as Alex suggested, and work on sockets with Nat. Although we want sockets working for the interim demo, sending data via POST request is our fallback.

In terms of schedule, I would say I am on schedule. This week and next week were designated for working on the front end of the web app, since that would mainly be CSS and other visual things.

Team Status Report for 3/25

This week, we each continued to work individually on our separate modules. Ian B. worked on the software stack, and was able to get the domain for the web app as well as get an API (send data via POST request) working in order to transfer information from the sensor module to the web app. Ian F. worked on Arduino scripts for the NodeMCU which perform calculations from the voltage supplied by the sensor. Finally, Nat worked on the POST request for the NodeMCU to get the data Ian F. calculated to the web app.

Next week, our main focus will be getting work done for our interim demo. This includes working on the front end for the web app (Ian B), as well as testing the Arduino code for the nodeMCU with actual sensor in order to send that to the web app (Ian F and Nat).

In terms of schedule, we are on track — maybe slightly behind. However, we plan on making up for lapses in schedule by working extra hard/crunching this week in order to meet expectations for the interim demo.

Ian Brito’s Weekly Status Report for 3/25

This week, I accomplished a few key things on my part. First, I purchased the domain for the website using Amazon Route 53. Then, I used Route 53 to get the domain to host the web app from the EC2 instance. Moreover, I worked on the POST request as described in the Design Report. Specifically, if a POST request is made with data as {‘id’ = 22, ‘status’ = ‘free’, ‘machine’=’bicycle’}, the web app can process that response by updating the pre-initialized Django model with these fields. In this case, it would look in the MySQL database for the machine with id == 22, and set status to  ‘free’. Overall, I think I made solid progress on the backend side of the software stack this week.

Next week, preparing for the interim demo will be the main priority. Unfortunately, I have two exams next week, so I will have to manage my time carefully, and a lot of my work will likely be done towards the end of next week and during lab sessions. The main priority for next week is now that I have the POST requests working and can update the models with whether they are free/busy, I want to work on updating the front-end with this information instead of dummy information that I am still using. To accomplish this, I should just need to loop through all the instances of my Equipment model and place them accordingly with HTML/CSS. Additionally, I need to work on the average time/business feature.

In terms of schedule, I would still say I am personally on track. These next two weeks were meant to be me working on the front end, which is what I am doing now.

Ian Brito’s Weekly Status Report for 3/18

This week, I worked on getting everything set up with EC2. Specifically, I worked on hosting the web app on EC2, configuring Apache with the Django web app, and setting up MySQL. I also worked on the web app itself a bit more in terms of visuals.

Next week, I will work on taking the data from the node MCU (since Nat was able to get POST requests to send data working) and using that for the web app instead of mock data. Additionally, I might consider looking into more secure ways to verify that the data is coming from the nodeMCU, as that was one of the feedback we got from the design report (the `key` in our JSON can be replicated).

I believe we are on schedule, at least for the software stack. The web app is successfully hosted and can be visited, and this week + next week were designated for receiving data from the nodeMCU and storing that for the web app.