Tech Reflect Log

From ESE205 Wiki
Revision as of 00:46, 26 October 2016 by Samdkramer (talk | contribs)
Jump to navigation Jump to search

9/16/2016

This week we met with our TA, Kjartan to discuss our teams projects & goals. We decided on various aspects of our two-way mirror. Next week we will look into ordering parts and figuring out the main displays we would like to create. Learning python will be critical in order to use Raspberry Pi.

9/23/2016

This week we met again with our TA, Kjartan to further better our project proposal which needed to provide more specificity in regards as to where we wanted to take the project. We decided on focusing on creating three displays on our two-way mirror: A calendar, weather, and stock display that will be connected wirelessly and updated by a cell phone. We also made some progress on the physical design of the case that will house our two-way mirror. The last part of the the week consisted of creating a more detailed budget with relative parts which we will be ordering for our project.

9/30/2016

This week we made a major step in progress as we ordered the main components of our project. We essentially bought everything except the physical housing for the two-way mirror. We also updated our budget to reflect some minor changes. We did move one part of our component of our Gantt Chart, regarding connecting the Raspberry Pi to the phone a week earlier before our first meeting and evaluation. Kjartan gave us the Raspberry Pi and WiFi connector and we plan on meeting tomorrow as well as a team to work on more coding and connecting. We expect to get the parts next week and look forward to begin coding the weather feature!

10/7/2016

This week, our primary objectives were to connect the Raspberry Pi to Andreas’ laptop, access the internet from the raspberry pi, and keep learning python. Originally we were attempting to connect the Raspberry Pi to our cell phone, but decided at least for now that with coding Python on our computers it would be easier to connect via Mac. Andreas was the main task leader this week, and after a few iterations and YouTube videos we were able to successfully pair the two devices and establish a wifi connection.

    • Connecting the raspberry pi to the internet: Initially we tried to tether the Raspberry Pi to the WUSTL WiFi network using an ethernet cable and port. Ultimately we were unable to do so successfully since the authentication credentials from Wustl-2.0 was not the same as the general network accessed through the ethernet cable. Our second attempt was using the WiFi dongles. This was a success by inserting one into Andreas’ laptop and the other into the Raspberry Pi, resulting in a stable wifi connection. This will be useful when the raspberry pi needs to access information such as the weather/time.
    • Now with the wifi set up, we were ready to connect the r-pi to Andreas’ laptop. We established the connection through the use of terminal and vncviewer. In terminal (on the mac), we were able to access the IP address of the raspberry pi. Fortunately for our concerns about cyber security, we were prompted to enter a password for the raspberry pi. After entering the password that we originally set up, we were able to set up a vncserver on the r-pi and connect to it using vncviewer.
Diagram.png
Rpi.png

Setting up the raspberry pi: We first powered up the r-pi (04) and connected it to a monitor using an hdmi cord(6). To set up an account and a password for the raspberry pi, we needed to connect a keyboard (01) and a mouse (02). Once we had established an account and password and accessed the main r-pi desktop (which was already set with raspbian thanks to the preloaded memory card (05)), we set up the wifi connection using the wifi dongle (03). Now we were able to access the r-pi from Andreas’ laptop so we unplugged the HDMI cable, the mouse, and the keyboard.


We have all be learning to code in Python thanks to Codeacademy.com which again is an ongoing process and learning experience as we begin the process of starting to code our first feature, the Weather App.

10/14/2016

This past week, we completed a functioning weather module. We finished the Python Codeacademy course earlier in the week and while it was a solid intro course course, we needed to know more about importing modules and using API's. Fortunately, Codeacademeny also offered an API specific tutorial. With help from Codeacademy as well as additional youtube/python.org tutorials, we were able to get a simplified weather module running. In order to access weather information, we have been using the Dark Sky forecast API (https://darksky.net/dev/docs/forecast) which can easily be called to return the current conditions. In order to present the temperature and conditions on the LCD monitor, we wrote a simple program which contains an array of icons (sunny, cloudy, partly cloudy, rainy) and returns the temperature value from the Dark Sky API.

This week we also made sure to test all of our parts to make sure that they were working as expected. We hooked up the raspberry pi to the LCD screen which worked perfectly. Next we placed the r-pi behind the mirror. At first, even the dark spots on the LCD were showing up (which we certainly don't want); however, after some tests, we fixed this issue by changing the contrast on the screen in order to reduce the amount of light that the darker spots give off. This way only our bright white text will show up through the mirror.

10/21/2016

This week, we were able to get the previously discussed weather program to function completely on on the raspberry pi. We used the Dark Sky API to pull information about current weather conditions and then wrote a program in Python to display these conditions in an organized manner. We then tested to ensure that this weather condition display program could be successfully displayed onto the LCD screen. Now that we have, for all intents and purposes, completed the weather module portion of the project, we began to look into the ways we can display other proposed modules such as time and calendar. For the calendar, we found the Google Calendar API to be a viable option to display calendar features on the raspberry pi. The Google API would allow the user to access private and public calendars and calendar events.

In addition to completing the weather program, we built a functional wood frame for the mirror. We built a frame in which the mirror can easily and securely sit, but that does not take up too much mirror space. This initial frame seems to be sufficient for now but could require some changes based on future unforeseen problems with the fit of the mirror, raspberry pi, or the LCD screen. One problem we have run into is with the mirror itself. Because of the material it is made out of, the mirror has a tendency to bend and warp a slight amount. Any distortion in the shape of the mirror would obviously cause unwanted distortion in the reflected image. We are currently trying to weight the mirror down to flatten it, and, theoretically, a properly built frame will be able to keep the mirror in a proper flat shape.

degree=90