Here’s our final report for iDoorlock. Despite all the remote difficulties, we’re proud of what we accomplished this semester.
Alex Xu’s status report for 12/5/2020
Since the last update, I’ve been going back and forth between TechSpark and my home nearly constantly, and I think I’ve had a 3D printing job always running. But after these past 14 days, we finally have a shell that wasn’t marred by the TechSpark printers and a working servo motor horn (thanks to TA Mobolaji for helping with some prints!). I’ve also added extra LED functionality for the final project as an indicator for the user. I’m excited to put everything together, and we’ve spent the time since Monday’s demo making sure that our final video will showcase the project well and that our final slides reflect our testing we’ve been doing.
Open issues: now that everything physical has been finished, all that’s left are the slide deck, video, and final live presentation.
Photos: final shell design, examples of printer issues 🙁
Alex Xu’s status report for 11/21/2020
This week I 3D printed the servo motor horn that we’ll use in our setup. I originally planned on printing it in 2 parts due to horn shape concerns, and after 4 print attempts over 3 days I managed to get both parts functioning. The bottom mounts on the servo motor, while the top fits the lock tailpiece. The durability should last, but if it doesn’t it isn’t the worst to 3D print more parts out as I believe TechSpark is open after Thanksgiving. Once secured, the custom horn does its job of allowing the servo motor to open the door. I’ve also begun doing some CAD on the demo shell we plan to use. I’m going with an open top box design for now (subject to change), and the current issues revolve around making sure measurements will be precise enough to fit everything inside well.
Open issues: finishing the remainder of the 3D design and printing the last few things we need. Ideally I think I’ll be able to get the parts printed before Thanksgiving, and that’s all I’ll be focusing on next week.
Team status update for 11/14/2020
This week, we were able to prevent our subsystems in our MVP during our project demo. Alex Li worked on Android app UI development and functionality, Alex Xu worked on lock mechanism and casing CAD design, and Michael worked on transitioning to REST API and developing its security. We met briefly for our project demo to show off our work so far to Vyas and Jiaqi, and we also talked about how to adhere to our remaining schedule as we wrap up the capstone project.
One risk we need to factor in is the delay in TechSpark services that may crop up as we approach the end of the semester. The self-serve 3D printers are mostly unaffected, but just to be safe, we’d like to get as much of the CAD designing done as soon as possible to avoid any pitfalls. The COVID-19 case at TechSpark unfortunately limits working as closely as we would have liked with TechSpark staff, but we will try our best to work with what we have left. We think that optimistically we’ll still be okay in following our schedule despite these potential delays.
A minor change to the existing design of the system was the addition of the REST API to our system. It will take the place of where we originally wanted to open a WebSocket connection. This change was necessary due to a couple of compatability issues WebSockets were causing to the remainder of our system, and we’re confident that this switch can be done within a fast timeframe and maintain the same level of security and speed we previously had aimed for.
Next week, we plan to finish the two aforementioned tasks related to REST API and CAD, and we’ll also develop functionality and implement a better UI to our Android application.
Alex Xu’s status report for 11/14/2020
This week I helped my group ensure that the demo went smoothly on Wednesday. After that, I had originally wanted to go into TechSpark to further discuss my 3D printing-related plans, but I was told that there was a positive COVID-19 case in TechSpark, so I instead went back to Autodesk CAD and watched tutorials. A friend of mine mentioned that making the parts may be more easily done in Autodesk Inventor and told me that connecting the motor horn could be done more easily by melting the plastic printed part and molding it with the motor horn base, and I plan on talking more with him about a better adhesion method as he’s done this before. I think running by the overall box housing by him as well would be a good idea too.
Open issues: going from CAD/Inventor to 3D printing. I’d like to create at least one of the two as a prototype, assuming the self-serve 3D printers still work. I’ll prioritize the motor horn/motor horn connector first, as that’d allow for a proper lock mechanism, and the aesthetics can come later.
Next week: 3D printing. Preferably both of these being done as prototypes so I will have images next week, but if not at least getting the motor horn (connector) will get us significantly closer to what our project will be.
Alex Xu’s status report for 11/7/2020
This week I made significant progress on the locking mechanism. I finished the code part that actually causes the motor to turn the lock open, which means we’ll have a visual representation of the iDoorlock process going from phone tap to motor activation (which will represent the lock unlocking during our demo). I also talked to Jiaqi about the motor strength issue, and with the stronger motor coming in yesterday I was able to do a quick test and determine that the new motors are indeed strong enough to turn the locking mechanism. We have made precautions, though, and I’ve sent in an order request for a servo shield should the Raspberry Pi by itself not supply enough current for the mechanism.
Open issues: prepping demo and an actual adhesive mechanism for the lock mechanism. Demo is almost ready, we’ll probably need to run a few tests to make sure everything is in order though. As for the lock and motor, I’ll need to look into how I can actually connect the two together. I have a few ideas at the moment, some of which involve sanding down part of the lock so it’s flat enough to superglue a motor horn onto, but I’d like to come up with something more practical.
Next week will be about figuring out these two open issues. I’ll most likely communicate with TechSpark independently to see if they have scroll saws/belt grinders.
Media: testing lock mechanism (video was too large so only testbench shown), naive test mechanism with stronger motor that opened lock (temporarily held in place by wiring)
Team status report for 10/31/2020
This week, we were able to work more on each of our individual parts. Michael researched security involving AWS communications, Alex Li worked on receiving NFC signals with the Raspberry Pi, and Alex began to troubleshoot the motor and lock combo. We also met in person to discuss future workloads and plans.
One critique of our design that was brought up was the unintended additional latency and redundancy of the Arduino Uno in our design. This week, we made significant process in detecting an NFC test card and an NFC chip in an Android device with the NFC Shield module and Raspberry Pi alone. This discovery has allowed us to cut the Arduino Uno from our design, which will hopefully help us better meet latency requirements and keep our final housing design small and lightweight. It also puts us closer to a potential MVP, involving receiving an NFC signal from the Shield, routing it to AWS with the Raspberry Pi, and then requesting it back from AWS.
Next week, we plan to finish the remaining parts of the MVP, which would involve finishing up the code connecting the Raspberry Pi to AWS and from the Raspberry Pi to the locking mechanism. We will also try to find a locking mechanism solution that will work for our current situation.
Alex Xu’s status report for 10/31/2020
This week I wanted to debug the locking mechanism and determine as a group what we wanted to do about using an Arduino in our design. On that latter point, it seems that Alex Li was able to get the Raspberry Pi working with the NFC Shield module directly without needing an Arduino middleman. It invalidates some of the work I’ve been doing on the Arduino, but overall this is a gain for the group. A lot of latency and redundancy concerns stemmed from the inclusion of the Arduino in our design (as it was simply acting as a controller between the NFC Shield, the Raspberry Pi, and the locking mechanism), so removing it will allow the system to be more lightweight.
As for the former issue about the lock, I demonstrated the mechanism in person to Alex and Michael, and the problems we currently faced in getting it to work. We determined that while there may be enough torque in the small servo motor to operate the lock, we would most likely need a 3D-printed cap that fits the door lock tailpiece and the servo motor, but doing so would require some extra design time. In the meantime to be safe, we’ve decided to get a stronger motor that preferably will have a better way to interface with the mechanism we want the motor to turn to avoid needing to spend this extra design time. Hopefully we’ll be able to put in an order request by Wednesday by the latest to get it as soon as possible.
I also went down to TechSpark in person on Wednesday to open discussions about our design plans, and we’ve received a general go-ahead with the estimated dimensions of parts we’ll need. The overall casing looks to be a 6-8 hour job in the self-serve 3D printers, so we can begin the CAD on that side too.
Open issues: finding this mystical lock that works for our design. I’m doubtful by what I’ll be able to find online. We may need to proceed quickly with the 3D designs should I fail to find something that fits our tailpiece.
Next week will be about determining if it’s more possible to find a fitting motor endpiece or if we need to manufacture one ourselves. I also need to finish a purchase request. Finally, I just received the extra Raspberry Pi, which I’m thinking of setting up so we have a backup. No photos from me this week, but next week we’ll hopefully have more to show.
Alex Xu’s status report for 10/24/2020
This week I primarily focused on working with the locking mechanism and started with some basic Arduino code to familiarize myself with the board. Unfortunately, I realized that the tailpiece of the exterior-facing lock cylinder is in an awkward position to be operated on by the motor. I had originally wanted the motor and the lock tailpiece to interact naturally, but I’ll have to make modifications to either the tailpiece or look into a stronger or different motor (one with more rotational power, perhaps). On the Arduino front, I’ve been doing some basic code compilations to make sure the main pins and ports on the Arduino Uno function correctly. I’ll look into hooking more components up to it next week.
Open issues: figuring out a solution to the locking problem. I’m fairly certain I can adapt the current design as it stands to make it work, but I’ll do some more research into lock tailpiece alternatives and stronger motors. I’ve attached a picture to show what the situation currently looks like.
Next week will be finalizing my locking mechanism solution and getting the Arduino to output signals to a breadboard. With spare time, I’d like to look into how an Arduino interfaces with a Raspberry Pi and potentially look into cutting out the middleman.
Pictures: locking mechanism, basic Arduino setup (breadboard not pictured).
Alex Xu’s status report for 10/17/2020
This week I ended up working quite a bit with my group on the design document due at the end of this week. We decided that that would be the main task for the week, as it was the most pressing concern with a hard deadline. I believe we’re still attempting to track a few parts down that are currently unaccounted for, but this shouldn’t have any impact on my parts of the project.
Open issues: catching up to time. Like last week, I’m confident we’ll be able to get back on track. I’ve looked at a few tutorials on how to get the hardware working (both on the Arduino side and on the locking mechanism side), and I think that even though I don’t have a tangible progress update I think I’m in good shape all things considered.
Next week will actually be about getting back to work. I don’t think there’s a report for a while, so progress should pick up.