Webcam Server.

Dependencies:   uvchost FatFileSystem mbed HTTPServer NetServicesMin

Committer:
va009039
Date:
Tue Aug 14 03:42:12 2012 +0000
Revision:
1:7a4f2c038803
Parent:
0:2b4ea8a138e5
supported LogitechC270 and Safari

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 0:2b4ea8a138e5 1 #include "mbed.h"
va009039 0:2b4ea8a138e5 2 #include "uvc.h"
va009039 0:2b4ea8a138e5 3 #include "EthernetNetIf.h"
va009039 0:2b4ea8a138e5 4 //#include "WIZ820ioNetIf.h"
va009039 0:2b4ea8a138e5 5 #include "HTTPServer.h"
va009039 1:7a4f2c038803 6 #include "WebcamServerConfig.h"
va009039 0:2b4ea8a138e5 7 #include "WebcamHandler.h"
va009039 0:2b4ea8a138e5 8 #include "WebcamInput.h"
va009039 0:2b4ea8a138e5 9 Serial pc(USBTX, USBRX);
va009039 0:2b4ea8a138e5 10
va009039 0:2b4ea8a138e5 11 HTTPServer svr;
va009039 0:2b4ea8a138e5 12
va009039 0:2b4ea8a138e5 13 EthernetNetIf eth;
va009039 0:2b4ea8a138e5 14 //WIZ820ioNetIf eth;
va009039 0:2b4ea8a138e5 15
va009039 0:2b4ea8a138e5 16
va009039 0:2b4ea8a138e5 17 uvc* Webcam[CAM_COUNT];
va009039 0:2b4ea8a138e5 18
va009039 0:2b4ea8a138e5 19 int main() {
va009039 0:2b4ea8a138e5 20 pc.baud(921600);
va009039 1:7a4f2c038803 21 printf("%s\n", __FILE__);
va009039 0:2b4ea8a138e5 22
va009039 0:2b4ea8a138e5 23 for(int i = 0; i < CAM_COUNT; i++) {
va009039 0:2b4ea8a138e5 24 uvc* cam = new uvc(i);
va009039 0:2b4ea8a138e5 25 cam->SetImageSize(160, 120);
va009039 0:2b4ea8a138e5 26 WebcamInput* input = new WebcamInput(i);
va009039 0:2b4ea8a138e5 27 cam->attach(input);
va009039 0:2b4ea8a138e5 28 if (cam->setup() < 0) exit(1);
va009039 0:2b4ea8a138e5 29 Webcam[i] = cam;
va009039 0:2b4ea8a138e5 30 }
va009039 0:2b4ea8a138e5 31
va009039 0:2b4ea8a138e5 32 int ethErr = eth.setup();
va009039 0:2b4ea8a138e5 33 if (ethErr < 0) exit(1);
va009039 0:2b4ea8a138e5 34 IpAddr ip = eth.getIp();
va009039 0:2b4ea8a138e5 35 printf("http://%d.%d.%d.%d/\n", ip[0], ip[1], ip[2], ip[3]);
va009039 0:2b4ea8a138e5 36 svr.addHandler<WebcamHandler>("/");
va009039 0:2b4ea8a138e5 37 svr.bind(80);
va009039 0:2b4ea8a138e5 38
va009039 0:2b4ea8a138e5 39 while(1) {
va009039 0:2b4ea8a138e5 40 Net::poll();
va009039 0:2b4ea8a138e5 41 for(int i = 0; i < CAM_COUNT; i++) {
va009039 0:2b4ea8a138e5 42 Webcam[i]->poll();
va009039 0:2b4ea8a138e5 43 }
va009039 0:2b4ea8a138e5 44 }
va009039 0:2b4ea8a138e5 45 }