Skip to content

Learning Log

MaxOSully edited this page Feb 25, 2020 · 7 revisions

Day 1:

AM:

Research about what was achievable in two weeks and what would give us enough work to do. We decided to go with the camera idea but weren’t exactly sure what we’d do specifically, but we had a few ideas with different levels of complexity we could work on.

PM:

Research, set up the Raspberry pi and began trying to connect to it remotely. (Masha’s children went out and got us the raspberry pi camera)

Day 2:

AM:

Research, began connecting to the raspberry pi remotely and also connected a camera, researched how to take photos, videos and start live feeds from it (still not sure how to turn it off).

We successfully connected remotely to the raspberry pi without using a monitor.

We began thinking of what the first MVP of our project could be and decided we needed to do some more research on how to control the raspberry pi using Java.

Created user stories and decided on first MVP - push a button which takes a picture and sends it to the user. We split our MVP into four parts which we then worked on in pairs. One pair looked into taking the picture and saving it and the other pair researched how to send a picture via email using java.

PM: We have added functionality which allows us to take a picture by running some java code. Now the next step is to make it run off of an input but we need to decide what our input is going to be - thinking about buying a button but aren’t sure on the hardware needed to make everything work. We researched the button and the hardware needed (breadboard, wires, button) and looked at tutorials on how to hook it all up. We decided on buying a button.

Have added a user input which allows the user to tell the Pi when to take pictures and stores them all on the desktop. The Pi is able to save all photos with different names and store them all. The next step is getting this to be emailed to a user.

Day 3:

AM:

Found how to send an email through java and researched how the button interacts with the raspberry Pi, we should have a button tomorrow to finish our MVP. (Max is still practicing Java).

PM:

Found how to attach pictures to emails using Java code and began trying to piece together the camera taking the picture and the picture being sent via email (Our first MVP). We discussed the structure of our project and decided how our skeleton would look. We began creating this skeleton and attempted to piece our code together. First we made a repo on GitHub so we could all share files.

Day 4:

AM:

We now have a button and the components to hook it up to the Pi, our plan for this morning is to set it up and try to invoke the code we have written by pressing the button.

We successfully hooked up the button and tested it was working with some python code that came with it in the kit. The next step is to work with Pi4J (Java’s way of interacting with the Pi) to pick up the button press and then we will try to make the button take a picture. The next step after this is combining our code and making the button press take and send a picture - our MVP.

We have installed Pi4J on our Pi and began testing code to pick up the button press. We can now take a picture on button press and save it to our raspberry Pi, and we have added functionality to send the picture to a given email address.

We have decided the next step of our product is to give an option to start a livestream in the email with the picture, which will be hosted on a webpage with the link in the email. Have began looking at testing and what tests we can implement.

PM:

We have successfully added a buzzer, and a light, when you press the bell, like a normal doorbell. We have added a livestream function on a localhost server which works.

Day 5:

AM:

We have now got a microphone and have connected this to the raspberry pi but it’s very quiet - we’re working on boosting the levels and then will attempt to connect to the pi using Google Duo, a chat service which we will use to speak to the person at the doorbell.

We can now access the video livestream from the Pi from our laptops - when the picture is sent it will also start the livestream and send us a link where we can view a live feed of our doorbell - this is our 2nd MVP. The final step will be two way communication between the doorbell and the user.

PM:

We encountered some problems with our microphone and spent the afternoon fixing them and making sure the video call worked from the Pi to our computers. Laura worked with a plug-in for java called intercom which lets you use java to speak with your IP address. We now have to decide if we want to use Duo or this intercom tool.

Day 6:

AM:

We split and began doing some more research on what we would use to host the video call between the user and the doorbell. We used a Java class called Robot which allowed us to control the pi’s mouse using java code, using this we were able to initiate a call using google duo by running a program. We are also still looking into possible ways to test our code.

PM:

We began using the robot class on the Pi and tweaked our code to work with the Pi’s resolution and set up. The next step is to integrate this into our code if this is the option we want to go with.

Day 7:

AM:

We decided on using google duo as the hosting for the video call as the intercom plugin is difficult to work around especially when trying to make it work on a website. We now have an idea what our final product would look like. We also set up a basic website to host the livestream of the camera and are working on adding a button to begin the video call.

Clone this wiki locally