Webcam Server.
Dependencies: uvchost FatFileSystem mbed HTTPServer NetServicesMin
WebcamServer.cpp@1:7a4f2c038803, 2012-08-14 (annotated)
- 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?
User | Revision | Line number | New 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 | } |