Webcam Server.

Dependencies:   uvchost FatFileSystem mbed HTTPServer NetServicesMin

Committer:
va009039
Date:
Wed Jun 06 11:47:06 2012 +0000
Revision:
0:2b4ea8a138e5
Child:
1:7a4f2c038803

        

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