Laundry Alert Log
Week of January 29, 2018
- Brainstormed ideas for our project and came up with one final idea that we want to go for.
- Talked about what we want our objectives to be for the project.
Week of February 05, 2018
- Billy and Young worked on developing a Gantt chart for 40 minutes.
- Started our project proposal
Challenges for following weeks
- Learning how to use a Raspberry pi
- Learning python programming language
- Learning about Twilio API
- Finding out which vibration sensors to get
- Young updated the challenges, and budget section in the project proposal for 40 min
Week of February 12, 2018
- Billy and Ezra worked on putting together the power point for our project proposal presentation for about an hour.
- For the coming week, we plan to get started with making the Raspberry pi do some things as suggested by the instructor.
- Young downloaded raspbian onto the sd card and booted the pi. Had challenges along the way as the raspbian stretch lite download was not working. Tried to use that download method twice. Switch to use the NOOBS download and worked. Tried to set up the ip emailing from a remote desktop to connect to the pi. Code kept failing when creating the /etc/ssmtp/ssmtp.conf document as the pi would not let me save. Also pi would not let me turnoff Sendmail. Worked for about 2 hrs 30 min
- We had meeting on Tuesday 2/13 for about one and a half hours
- We divided responsibilities among ourselves, finalized the Gantt chart and the budget.
- Young continued to work on setting up the Raspberry pi without success. He tried the method from the tutorial again which did not work again. Tried a method using python code and did not work either.
- Billy and Ezra worked on finishing the powerpoint for the project proposal presentation.
- Young worked on the pi again for 1 hr and 30 min
- IP address emailing is working now
- Tried using the tutorial method again. Each time the raspberry pi boots up, it sends an email that is titled root without the ip address. First thought was that the hash code did not give enough time to the pi to connect to the internet before sending the email. Changed the sleep from 30 to 60 and still didn't work. If the pi couldn't connect to the internet in time in the first place how could it send an email? Hypothesize that the reason it's not working is because I haven't logged in yet from the remote desktop. Tried to find a way to make the pi login automatically remotely from the ssh. Tried using a key. Works for the current ip address of 172.27.44.61. Not sure if it would work with another ip address. Had to use a sudo in the crontab give permission for the code to work. IP emailer works now.
Week of February 19, 2018
- Thursday 22 30 min
Billy set up a twilio account and made changes to the powerpoint for our project presentation in class per Ellen and Prof. Jim's recommendations.
- Saturday 24 2 hrs 30 min
All three of us worked on the GPIO pins on the Raspberry Pi. The circuit works using the 3.3V pin and the 5V pin. However, when we use the GPIO pins, the light does not light up. The code works because when we put a print statement into the code printing a 1 when the light is on and a 0 when the light is off it works. The light does not blink. We tried using multiple GPIO pins and multiple configurations of the circuit but it still does not work.
Week of February 26, 2018
Learning Twilio and how to use it with the Raspberry Pi
- Monday February 26, 2018 1 hour
Had our weekly meeting with TA and instructor Notes from meeting Blinking LED demo: fixed and working
- Issue was that you were using GPIO numbering while having the program set to a physical numbering schematic: https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/README.md (appendix 1)
- Purchase your parts!
- ADD converter contained
- Demos for next week:
- Demo Twilio
- Demo vibration sensor
- And if you don’t have your vibration sensor yet, just show us you can read an ADD converter, at at a certain threshold your program does something (like turn on a light)
- Also by next week: Plan out exactly how your program is going to look
- The program that will be running the whole time,
Also: how you’re going to connect to a private network?
- The user interface, web server
If you’re doing a webpage, take a look at building it on an Amazon Web Services EC2 server.
- Assign someone to be in charge of learning HTML, PHP, etc.
- Try to put in a lot of hours this week if you can
Parts have been purchased
- Friday March 2, 2018 Billy 2 hours
In order to start using Twilio, I had to learn the basics about using the python programming language. I spent most of this time downloading and installing the Atom text-editor that works with Python. After that, I did basic a basic test by getting my program to print "Hello World!" It took a lot of time because I was at first unfamiliar with Python and because I could not find out how to change the directory. However, I finally figured it out and got the program to print.
- Sunday March 4, 2018 Billy 4 hours
Initially, I had successfully sent an sms text to my phone by logging into my twilio account and inserting my phone number. I then started working on sending a SMS message with the help of Twilio using a code provided on the Twilio website. What was challenging was installing The Twilio Python Helper Library. I successfully downloaded the library onto my computer but I could not install it from the Terminal. I tried all three ways explained here: | . I then chose to do it manually but I kept receiving an error "Invalid environment marker: python_version>="3.0"" and I didn't know how to resolve that. Without the library being installed, the code to send a text message to a user using twilio doesn't run as it needs to because it needs to import a file from the library which is why I believe this is the only issue in the way of us sending an sms. As soon the library is installed, the program will be able to send an sms successfully.
- Sunday March 4, 2018 Young 2 hours
Did research about how to create a web interface. I found this | free QR code generator online. The QR code would then would be put onto the case of the device itself or somewhere on the washing machine. The code would take the user to a website, but question I had was instead could have a number to text on the case instead where it would be connected to the twilio component of the project. When the text message is received from the user, the phone number is sent to a wait room on the website and would also tell the vibration sensor to start sensing. Then the when the vibration sensor senses that the load is done, it would send a signal to the webpage to take the user out of the wait room and also send a text to the user that his/ her laundry is done. For connecting to a private network, School wifi is always connected to pi, but setup and connection to the private network from the pi would be needed to done manually if it is setup in another environment. I think it might be easier to just use the pi instead of a webpage. Amazon EC2 would simplify the process for creating the web interface but would have to add to budget.
- Sunday March 4, 2018 Young 3 hours 45 minutes
Started to learn how to use the MCP 3008 A/D converter with the potentiometer. When first starting out had to learn why the analog to digital conversion was needed. Figured out that the GPIO pins only take digital input and output and pi does not have a method onboard to convert the signals. Tried to wire the potentiometer without the A/D converter at first and tried to code a voltage barrier that if passed would light an led. It did not work. I then figured out what the A/D converter was used for and tried to wire it up on the breadboard. Figured out a wiring scheme from an | adafruit tutorial but did not have enough wires to configure both the A/D converter and potentiometer onto the breadboard and the pi.
Week of March 5, 2018
- Monday March 5 Billy 30 mins
After our weekly meeting, we realized that the problem with Twilio was the version of python that I was using. I downloaded a lower version and it installed the library successfully. Thereafter, I tried again sending a message to myself and this time it worked. Because I have a trial Twilio account as of now, I am only able to send a message to myself. However, our next step will be to upgrade the account and update our code with the user's number every time we get a new user. Here is a link for the twilio demo: Twilio Demo