![](/media/cache/profiles/f095cedd23b99f1696fc8caecbcf257e.jpg.50x50_q85.jpg)
see: http://mbed.org/users/okini3939/notebook/wifi_webcam/
Dependencies: GSwifiInterface_ap_webcam USBHost mbed
Diff: main.cpp
- Revision:
- 0:8558bdecb0fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jun 06 00:44:06 2014 +0000 @@ -0,0 +1,74 @@ +/* + * see: http://mbed.org/users/okini3939/notebook/wifi_webcam/ + * + * using: http://mbed.org/users/va009039/code/USBHostC270_example/ + * using: http://mbed.org/users/gsfan/code/GSwifiInterface/ + */ + +#include "mbed.h" +#include "GSwifiInterface.h" +#include "USBHostC270.h" + +#define SEC GSwifi::SEC_OPEN +#define SSID "MBED" +#define PASS "1234567890" +#define MODE GSwifi::WM_LIMITEDAP + +DigitalOut led1(LED1), led2(LED2), led3(LED3); +Serial pc(USBTX, USBRX); +LocalFileSystem local("local"); +GSwifiInterface *gs; + +int main() { + Timer t; + + pc.baud(115200); + pc.printf("GSwifi_ap_webcam\r\n"); + + gs = new GSwifiInterface(p13, p14, p12, P0_22, p20, NC, 115200); + wait_ms(300); +// gs->init(); //Use DHCP + gs->init("192.168.1.1", "255.255.255.0", "192.168.1.1", "192.168.1.1", "www.mbed"); + if (gs->connect(SEC, SSID, PASS, MODE)) return -1; // join the network + NVIC_SetPriority(UART1_IRQn, 1); + printf("IP Address is %s\r\n", gs->getIPAddress()); + + gs->httpd(); + gs->httpdAttach("/", "/local/"); + + USBHostC270* cam = new USBHostC270(C270_MJPEG, C270_160x120, _10FPS); // Logitech C270 +// USBHostC270* cam = new USBHostC270(C270_MJPEG, C270_320x240, _5FPS); // Logitech C270 + + t.start(); + led1 = 1; + for (;;) { + gs->poll(); + + if (!cam->connected()) { + led2 = 1; + if (t.read() > 0.5) { + cam->connect(); + if (cam->connected()) printf("webcam has detected\r\n"); + t.reset(); + } + } else { + led2 = 0; + cam->poll(); + if (t.read() > 10) { + led3 = 1; + uint8_t buf[1024*8]; + int r = cam->readJPEG(buf, sizeof(buf)); + if (r) { + FILE* fp = fopen("/local/photo.jpg", "wb"); + if (fp) { + fwrite(buf, r, 1, fp); + fclose(fp); + } + printf("took a picture\r\n"); + } + t.reset(); + led3 = 0; + } + } + } +}