Webcam Server.
Dependencies: uvchost FatFileSystem mbed HTTPServer NetServicesMin
WebcamServer.cpp@0:2b4ea8a138e5, 2012-06-06 (annotated)
- Committer:
- va009039
- Date:
- Wed Jun 06 11:47:06 2012 +0000
- Revision:
- 0:2b4ea8a138e5
- Child:
- 1:7a4f2c038803
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 | 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 | } |