Team Status Report: 12/4

The past two weeks saw some fantastic development! Lucas etched and manufactured our weight tag pcb’s. MeeDm worked on the Hub’s data analysis scripts. Tarush built out the Web App UI. Throughout Thanksgiving break, the team continued to work diligently. Thanks to Tarush staying on campus, we were able to continue to conduct system tests remotely.

After coming back from break, the team wrapped up the final presentation slide deck, and Tarush presented it on Wednesday. Way to go Tarush!

To wrap up the week, the team continued work on system integration. Specifically, Lucas and MeeDm worked to fix some final issues with the Hub not being able to find characteristic values sent by the Tags, and MeeDm and Tarush implemented further Hub controls into the Web App. We also got a fancy new enclosure designed and built for our weight tags.

As we enter the final week, we’re quite happy with the project. Still, there’s a lot left to be done. Our goals are to implement RFID sensing as well as polish the full project pipeline.

 

 

Lucas’s Status Report: 12/4

The past two weeks saw major development milestones reached and passed. First and foremost, I finally got the Weight Tag pcb etched and populated!

 

The tag runs our firmware and is powered from a single CR2032 coin cell battery.

I went back home to New Jersey for Thanksgiving but brought along plenty to work on…it got a bit messy:

While on break, I primarily worked on the RFID firmware, the Weight Tag hardware (populating a second board), and conducting live tests for our final presentation slides.

After coming back from break, I helped wrap up the final report. Specifically, I wrote the Solution Approach (slide 2), Hardware (slide 3), Live Testing (slide 7), Results (slides 8 and 9), Design Trade-Offs (Slide 10), and Lessons Learned (Slide 11). I also helped on the Project Management (slide 12) and Public Demo (slide 6).

After our final presentation, I took some time to design the enclosure for our weight tag from scratch and printed it out (bottom piece is printed but currently locked in Roboclub :P):

 

The enclosure’s top features a lip to snuggly secure the food bowl and a skirt to push any water or kibble that falls out of the bowl away from the electronics housed underneath. The bottom plate has mounting holes for our custom weight tag offset from the base to add further protection against water damage.

To wrap up the week, I debugged and fixed some issues with the characteristic values from the tags not being seen by the RPI over BLE.

With the weight tag just about fully finished, my goals for next week are to wrap up RFID and prepare for the final demo. Time is tight, but at this point I am confident we’ll have a solid project to show off.

 

MeeDm’s Status Report for 12/4/2021

I’ve since finished analyzing the data to check if the values are dangerous or not. I’ve also used Tarush’s code and edited it so that if it is dangerous, we send an email to the user. I did a statistical analysis to determine if the eating event was out of the norm or not and then sent emails accordingly (out of 2 standard deviations from the mean).

I’ve also finished up the code for determining the food consumed. I had to work with numpy arrays, etc. to subtract consecutive values and deal with edge cases.

I’ve additionally finished up writing the refresh_botton function that Tarush will call when the user wants. I’m now figuring out the kinks of python goodness with importing and using multiple functions from a file.

I’m also meeting later today with Lucas to figure out the remaining kinks for reading data from tags.

I’m on schedule still, and want to finish up the refresh_button function and reading from the tags.

Tarush’s Status Report for 12/04/2021

This week started off with me spending a good amount of time in creating the final presentation for our project and then presenting it for the class and the professors.

I was also able to accomplish a lot of the goals I had set up for myself(which I spoke about in the final presentation as well) I have deployed the web app on the pi and the url on which it will be demod will be http://172.26.161.0:8000/

I also have pretty much wrapped up the UI for the web app and attached some pictures below for reference.

As mentioned in the presentation, we wanted to be able to allow the user to request the latest information from the tags through the web app and so I’ve been working with MeeDm on accomplishing that. MeeDm will be working with Lucas on getting the information from the tags and then converting them to a readable format after which my web app will then be showing them on the graph. I will be assisting with that as well in any way possible.

 

Team Status Report: 11/20

This week saw some major development towards system integration. Primarily, Tag firmware was finally developed to report load cell values over BLE to the Hub RPI. The web app also saw major updates in the form of better  graphs and value display. RPI Hub software was developed to better distinguish “danger levels” of eating habit disparities. Next week, we expect to have custom hardware Tags reporting weight values to our RPI hub. Next steps are to integrate RFID sensing and better data displays.

Tarush’s Status Report for 11/20/2021

Integration! I managed to accomplish a good amount of work on my end this week. First being I wrote the script (fully functional) which will be responsible for sending out emails to the user when their cat’s food/water intake might reach danger levels (based on the analysis currently being conducted by MeeDm) I hope to demo this feature to Professor Mukherjee and Edward on Monday.

I spent a lot of time working on the integration between my part and MeeDm’s code and am pretty much done with the main components required. Now whenever users register themselves and their cats, I also store all of this information in a json file which can be pulled on MeeDm’s end where she can get necessary information like the cat’s microchip number, user’s email address, weight per volume, etc. and make the changes to the right file for the right cat when pulling in updated data from Lucas.

I also spent time brainstorming how to resolve a potential concurrency issue we might run into where my webapp might be reading and writing from the file the same time as MeeDm’s code and do have a solution ready to implement if we run into that case. However, the odds of this happening are quite low since we only pull data through the BLE every 4 hours. Hence, I am putting this on hold for now and will revisit this near the end if we do start running into this issue.

My next steps from here on out would now be improving the UI of the web app, deploying it on the RPi, and refining the graphs to be shown on the cat’s profile page (how many lines per graph, scale of graph, etc)

I suspect a good amount time will also be spent on my end preparing for the final presentation (I will be presenting) since that will be held right after Thanksgiving break. However, I do think I am still on track to complete my part as intended and can’t wait to see how our project turns out!

MeeDm’s Status Report for 11/20/2021

Tarush have gotten our pipeline to work. We’ve figured out how to pipe data in between the web app and the software portion, and are now working on edge cases.

Lucas and I also managed to make a (crude) load cell design that does what we want it to do (MVP). It hooks up to a custom breakout board, the arduino, and then wired to the pi. We are then able to read in the data and print it out on the pi.

I’m now working on analyzing the data to find the right “danger level” tailored to each cat. Additionally I’m finding the consumed amount by the cat not only the raw weights.

Lucas has since figured out how to put up readable data to the bluetooth, and since I have connected to the tags before to read other data, we are meeting up in lab today to read in the correct data and finish up that end of the pipeline.

I’m well on my way to finishing up the last few things. That is, analyzing the data and then connected to the tags and reading in values. I’m on the right timeline, and that’s mostly all I have left other than edge cases for the project itself.

Team Status Report for 11/13/2021

The most significant risk is the pcb getting here in time. We only just managed to get them ordered so if they aren’t right and don’t work the way we thought we will have to just continue with making a breadboard version. The other thing is when the bluetooth will be ready on the tag’s end to figure out. If this does not get done within this week, we will have to switch to the wired version of our project.

We didn’t end up making any changes to the design. Lucas is close to finishing the upper two parts we have mentioned, and we think that it should work out in the end.

An updated schedule is attached below:

 

MeeDm’s Status Report for 11/13/2021

We demo-ed for this week. Tarush and I have finished figuring out how to communicate between us. I will be looping and checking the tags, and tarush will simply be looking at the files. To make sure this runs smoothly we’ve also implemented mutexes, so that the shared resource (files) don’t have a race condition. We’ve also been working on the characteristics with Lucas, and we finally have a couple done with this.

I still have to finalize the cad design for the load cell since talking to Lucas, but it is ready to print. I didn’t get to a lot of stuff (again), since I also got the covid booster and flu shot all in one go this week and have been sick up until Wednesday. I’ve been pushing myself to work on this, but I will be taking some more of that slack week to get myself at a point to start working again.

I’ve been feeling better, and Lucas and I are meeting today to finalize communications between our parts. By this week the goal is to finish up that portion, to finish up mutexes, and print the load cell.

Tarush’s Status Report for 11/13/2021

This week a lot of my time was spent prepping for the interim demo. In particular, I was able to show off users being able to have their own profile pages along with links to separate pages for each of their cats. On the cat’s page we can see a line graph displaying the data from their json file. I also have a button on the user profile’s page which upon clicking refreshes the cat’s database with the updated information in the json file, and hence the graph as well.

The next steps would be to get the graph to contain the updated information without having to click on the button as well as having an email system which sends an email to the designated user upon detecting a sudden change in the cat’s water and food amount. I need to start working with MeeDm on now having a fully integrated system between the web app and her python scripts where the scripts can access the json files created by the web app, read and write to them, and then send an email to the user if necessary.

I am currently on track based off of the updated Gantt chart and am excited as we begin to enter the final stretch of the class.