Week 9:
This week the project is finalized. I posted all the documents to a public website: fyt227.wix.com/timelapsecamera. I also worked on poster design and final presentation slides. The poster is showed here:
taylor price

Game Changer & Make Some Noise

#extradirty
tumblr dot com
RMH
𓃗
Phantogram Three
The Bright Sessions
Cookie Run:Kingdom Official!

Discoholic 🪩
Monterey Bay Aquarium

if i look back, i am lost
Interview Vampire Daily
ojovivo
★

oozey mess
No title available

No title available
cherry valley forever

roma★

seen from Philippines

seen from Canada

seen from United States
seen from Indonesia

seen from United States
seen from Singapore
seen from United States

seen from United States

seen from Türkiye

seen from Türkiye
seen from Indonesia

seen from United Kingdom

seen from Venezuela
seen from Philippines

seen from Singapore
seen from Paraguay

seen from Türkiye
seen from Indonesia
seen from Türkiye

seen from Türkiye
@yuetian-feng
Week 9:
This week the project is finalized. I posted all the documents to a public website: fyt227.wix.com/timelapsecamera. I also worked on poster design and final presentation slides. The poster is showed here:
Week 8:
This week I worked on the design specification document of the camera prototype. I used Fritzing -- an open-source software that supports designer and hackers to develop/document electronic projects. Fritzing is a powerful software to draw decent electronic circuits diagrams. But it doesn't contain the Adafruit CC3000 WiFi breakout board and VC0706 Serial Camera components automatically. The solution is to add the Adafruit Fritzing library to your local fritzing library, then you'll find the two breakout boards.
Figure 1 and Figure 2 showed the breadboard view and schematic view, respectively.
Figure 1 Breadboard view of camera prototype
Firgure 2 Schematic view of camera prototype
The next step is to design the poster and final presentation slides.
Week 7:
After milestone #2 has been finished, this week I moved on to milestone #3 and prototype finalization. The milestone #3 is to write a detailed design specs document of the project. I started by taking research on design specs documents of existing products to have a clear understanding of this type of documentation. In terms of the prototype finalization, I first designed the wiring arrangements and soldered and assembled every component together. Figure 1 showed the assembling process and the new version camera prototype.
Figure 1 Prototype finalization I then tested the new assembled prototype and it worked great. After building the new prototype, I went on designing and creating a case for the prototype. I had a hard time finding materials creating a case, but luckily, our HCDE design lab had accessed to a MakerBot Replicator 2 3D printer. So I designed and drew the case in Sketchup software and imported the models to Makerware software to generate the models of the file type supported by the 3D printer (.X3G). Figure 2 showed the models designed in Sketchup and Makerware and Figure 3 showed the 3D printer working. MakerBot Replicator 2 is a really slow machine. It took 4 hours to print the case.
Figure 3 Models of Sketchup and Makerware
Milestone # 2: Camera prototype with secondary features
Capture photos and upload to my personal web server wirelessly.
Provide feedback/interactive features to the system.
i) A RGB LED indicating three states of the camera system. ii) A button to switch photo capture rate between 30s/photo and 1min/photo
Week 6:
Having been working on Wi-Fi photo uploading prototypes for two weeks, a big progress was finally made! The Arduino-driven time lapse photo camera could now automatically upload photos to web server via Wi-Fi! Figure 1 shows the current camera prototype.
Figure 1
Because of the limits of both Arduino RAM and hard drive, the board couldn’t save a photo file temporarily. So the solution is to control the camera component to “freeze” the photo captured and transfer pixels use binary code via serial communication of Arduino board to CC3000 Wi-Fi breakout board, and then the Wi-Fi board sends out the binary code wirelessly to web server. In terms of wireless photo uploading, HTTP post request support binary file data stream uploading. I used “multipart/form-data” HTML form content type to upload the photos captured. The upload result is showed in Figure 2 & 3.
Figure 2
Figure 3
The quality of photos uploaded to web server sometimes are not true to the original, there are some pixel errors generated. I posted a couple questions to the Arduino forum about this issue but was unable to get a solution (Figure 4).
Figure 4
My personal suggestion for anyone who wants to make prototyping a camera with wireless uploading feature is to choose a camera component with better quality and a micro controller with larger memory and hard drive, such as Raspberry Pi. Using a Eye-Fi SD card could be another solution since SD card photo saving is easier and of better quality.
In addition, as the feedback from critical friends suggested that a signaling/feedback component was necessary, I used a RGB (Red Green Blue) LED to show the states of the camera system.
Figure 5
The RGB LED (Figure 5) looks like regular LEDs but it contains three LEDs, one red, one green and one blue, by adjusting the brightness of each of the three LEDs, the RGB LED could mix any color, technically. So I added this component to my camera system, I used the three basic color: red, green, black in my prototype (Figure 6), the light was red during system initializing, turing blue when a photo was captured and uploading to web server, changed to green while waiting.
Figure 6
Week 5:
This week has been a challenging but productive week. I gained a lot of experience and knowledge about Arduino and internet communication working on the Wi-Fi image uploading. Arduino is a flexible, easy-to-use elctronics prototyping platform, it's good for starter to physical computing world, but it doesn't has a built-in intelligent system to support advanced functions, for example Wi-Fi uploading. I posted a couple of questions on both arduino.cc and adafruit forums and received some suggestions to work on the Wi-Fi issue.
I mentioned in the last week's post that there might be two ways of approaching the issue: FTP or HTTP.
I tried both ways and the followings are the results.
1) FTP
I successfully drove CC3000 breakout board connected the web server using FTP protocol on port 21, but couldn't figure out how to upload an image. After in-depth research I found that FTP didn't online file creation. Although I could upload a local image via command line FTP connection, I couldn't create a new file on web server. An image must be an already generated local file (.jpg, gif, png, etc) first before uploading. The problem was Arduino board didn't have enough memory to temporarily saving an image, so FTP alone failed.
Then I figured out it might be possible to use both SD card and Wi-Fi board to achieve uploading. Saving/Creating image to SD card first, reading from card and uploading to web server. I tried to implement the code but met another problem: Arduino had only 16KB hard drive space but photo capture, SD card and Wi-Fi could not be implemented within the 16KB code. I tried to refine and shorten my code but failed.
2) HTTP
Since FTP failed, I turned to HTTP. HTTP uploading required a web server supporting Apache/PHP configuration to support "multipart/form-data" form file uploading. The "multipart/form-data" form file uploading support binary data stream uploading, so it seemed plausible to realize Wi-Fi uploading with Arduino board. I did basic configuration and could upload an image from my laptop to web server via HTTP. I haven't successfully realized the function with Arduino but I hope this would work.
Week 4:
Since the functions of time lapse photo capture and locally storage of photos have been realized, I went on trying to add a wireless communication feature the system. This week, I did research on arduino wireless communication and chose Adafruit CC3000 Wi-Fi breakout board to do the project. I've met a couple of problems using the breakout board and solved some of them.
Problem #1: Cannot connect to UW campus Wi-Fi: The Wi-Fi connection supported by CC3000 is to connect with SSID, password and the encryption type of a Wi-Fi network. But UW Wi-Fi to connect to Wi-Fi first and then provide UW NetID and password.
Solution: Tried a couple of ways failed, then contact UW IT to register the MAC address of the breakout board to the campus Wi-Fi and successfully solved the problem.
Problem #2: Where to upload the photos?
Solution: Set up a free server on www.serversfree.com and registered a domain.
Problem #3: How to upload the photos to web server?
Haven't solved the problem yet. CC3000 support TCP connection, but upper layer communication has to decide by myself. Two possible ways: 1) HTTP: Apache/PHP configuration required, and then use multipart/form-data content type to upload. 2) FTP: No pre-configuration required, but doesn't support online file editting.
Week 3:
Motion Detection Camera!
Storing images captured on SD card!
Week 2: Taking photos with TTL Serial Camera.
This week I did some basic research on camera communication.
Next week's main task is to generate a detailed system specs document.
Week 1:
I assembled this circuit following a project of Arduino Starter Kit— Love-o-Meter. This project used a temperature sensor (TMP36) to measure your skin temperature. For every 2 Celsius degree above the room temperature, one LED would turn on. I’m so hot :-)
I also did another two simple projects of Arduino Starter kit. I learned basic Arduino related knowledge, such as core functions of Arduino board, libraries, etc, and wrote some simple code.
Week 1:
Get to know Arduino by playing with simple circuits!
An quick and easy way to get to know Arduino is follow the official starter kit, tutorials can be found on Youtube. Other useful websites: adafruit.com, sparkfun.com, etc.