I have been testing the Foscam FI8908W IP camera on lmce 810. This camera is readily available on ebay for around £60 ($100) but make sure you get the foscam and not a clone.
Previously only supported active x but latest firmware supports server push mode for firefox/google chrome etc albeit with some limitations. Excellent resource website link:
http://www.gadgetvictims.com/2009/07/foscam-ip-camera-part-two.html
Stream is mjpeg with pan and tilt functions accessible via cgi commands.
I am new to the security aspects of LMCE but I have had the camera working (without pan tilt so far) under motion wrapper and available from all MDs using the following url in the 'device data --> path' parameter:
http://ipcam_url/videostream.cgi?user=username&pwd=password
Sometimes get dropouts and have to reboot core but I think this camera could be made fully operational inside lmce.
Don't shout at me if it doesn't work for you. I am doing more testing and have just ordered 2 more plus the outdoor version (Foscam FI8904W).
http://www.gadgetvictims.com/2010/01/my-first-fi8904w.html
Cool, gives us a review on quality when u get the outdoor cam, thanks
Hi,
I had to join just to chip in on this topic :P. Though My implementation of whole LinuxMCE is still in my head, I'll put my two euro-cents in with what I know about these Foscam IP Cameras, I think it's a good topic to keep alive since they are rather versatile & cheap & hackable little buggers (they run linux)
I bought a foscam FI8908W Pan&tilt IP-cam a couple months ago and though I haven't had time to play with it much, I've been following the stories. Of interest in addition to gadgetvictims are these two blogs:
Even a baby could hack their baby cam with these instructions (not all posts are tagged with ip-cam so I guess that requires manual labor on your part):
http://www.computersolutions.cn/blog/category/ip-cam/
http://irishjesus.wordpress.com/2010/03/30/hacking-the-foscam-fi8908w/
I won't bother to talk about things I don't understand, but what I do understand is that they've managed to extract the binaries and compile them again with added features, which means the sky is the limit with what we can do with these. I'm just a mere noob when it comes to linux (not all Finnish people are Linux gurus) So I leave it to experts to figure what to do with all this...for now (what better way is there to learn everything about linux than project like LinuxMCE)
Also there's the thing about fake Foscam cameras. It seems that most of those cameras are manufactured by Foscam and OEM's just put their own firmware and updating a firmware is restricted by the firmware itself. So I guess even if you happen to have a clone, you should be able to hack it as well as the original. (via JTAG if nothing else)
Sorry for the blabber. Happy Hacking!
Quote from: b4rney on April 15, 2010, 01:21:47 AM
I have been testing the Foscam FI8908W IP camera on lmce 810. This camera is readily available on ebay for around £60 ($100) but make sure you get the foscam and not a clone.
Previously only supported active x but latest firmware supports server push mode for firefox/google chrome etc albeit with some limitations. Excellent resource website link:
http://www.gadgetvictims.com/2009/07/foscam-ip-camera-part-two.html
Stream is mjpeg with pan and tilt functions accessible via cgi commands.
I am new to the security aspects of LinuxMCE but I have had the camera working (without pan tilt so far) under motion wrapper and available from all MDs using the following url in the 'device data --> path' parameter:
http://ipcam_url/videostream.cgi?user=username&pwd=password
Sometimes get dropouts and have to reboot core but I think this camera could be made fully operational inside lmce.
Don't shout at me if it doesn't work for you. I am doing more testing and have just ordered 2 more plus the outdoor version (Foscam FI8904W).
http://www.gadgetvictims.com/2010/01/my-first-fi8904w.html
I suggest you add your user page [1] on wiki and also add this camera to existing list of cameras [2], you can also find lot's of excellent info from other users on their wiki pages.
Welcome to the club.
[1] http://wiki.linuxmce.org/index.php/Category:User_Setups
[2] http://wiki.linuxmce.org/index.php/Category:Cameras
Will you please work on making this a plug and play device template?
Thanks,
-Thom
To help you get started I created starting WIKI page for this IP camera:
http://wiki.linuxmce.org/index.php/Foscam_FI8908W
Please add info to that WIKI page.
Cheers,
Valent.
Valent,
How do I add pages to the wiki? I'm testing Edimax Range Ip Camera's.
Thom gave me some advice on how to get them working and I wanna try and make them Plug n Play.
http://forum.linuxmce.org/index.php?topic=10439.0
I wanna contribute where ever I Can......
Quote from: DragonK on July 31, 2010, 12:03:45 PM
Valent,
How do I add pages to the wiki? I'm testing Edimax Range Ip Camera's.
Thom gave me some advice on how to get them working and I wanna try and make them Plug n Play.
http://forum.linuxmce.org/index.php?topic=10439.0
I wanna contribute where ever I Can......
See: Add a page to the wiki (http://wiki.linuxmce.org/index.php/Add_a_page_to_the_wiki)
The Foscam FI8908W is working with path /snapshot.cgi
BTW, i do have a question: where are pan and tilt commands enabled?
The cgi pan & tilt commands for this camera are:
tilt up = http://cameraip/decoder_control.cgi?command=0&onestep=1
tilt down = http://cameraip/decoder_control.cgi?command=2&onestep=1
pan left = http://cameraip/decoder_control.cgi?command=4&onestep=1
pan right = http://cameraip/decoder_control.cgi?command=6&onestep=1
home pos= http://cameraip/decoder_control.cgi?command=25"
TIA,
Paulo
Hia,
i did begin today to create the template for the Foscam FI8908W ip camera.
Regarding the ruby code, i will include pan / tilt and flip.
I also found http://forum.micasaverde.com/index.php?topic=3720.0, and will test to see if it works. If yes, will make the template available next week, after testing it.
foscam commands:
snapshot.cgi
description To obtain the snapshot
Permission visitor
Syntax /snapshot.cgi[?user=&pwd=&next_url=]
Parameters user:username
pwd:password
next_url:the name of snapshot
Note 1 If not use the parameter "next_url", the snapshot name is:device
id(Alias)_ Current time.jpg
videostream.cgi
description Use server push mode to send videostream to Client APP
Permission visitor
Syntax /videostream.cgi[?user=&pwd=]
Parameters user:username
pwd:password
Note support 2 Authentication Metheds: http Basic64 encode and use
username/password in the param directly.
decoder_control.cgi
Syntax /decoder_control.cgi?command=[&next_url=]
Parameters value
0 up
1 Stop up
2 down
3 Stop down
4 left
5 Stop left
6 right
7 Stop right
... Reserved
25 center
26 Vertical patrol
27 Stop vertical patrol
28 Horizon patrol
29 Stop horizon patrol
... Reserved
94 IO output high
95 IO output low
camera_control.cgi
description To control camera sensor Parameters
Permission operator
Syntax /camera_control.cgi?param=&value=[&next_url=]
Parameters param value (see below)
param value
0 Resolution 8: QVGA 32:VGA
1 Brightness 0~255
2 Contrast 0~6
3 mode 0: 50Hz
1: 60Hz
2: Outdoor
5 Flip&mirror 0: default 1: flip 2: mirror 3: flip + mirror
reboot.cgi
Permission Administrator
Syntax /reboot.cgi[?next_url=]
Hia,
today i've finished the code for the pnp of the Foscam ip camera.
DCErouter.log shows that at least sonething is happening, but the camera does not moves.
I did use the panasonic template as base, changing only the camera commands.
The pnp part is ok, the camera is plugged and automagically recognized, room assigned, and added.
But the after that, the router keeps reloading :(
As this is my first try to build a pnp template, and changing ruby codes, i would like to know if it's possible to get some help.
08 08/13/10 13:47:55.571 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 200 Command:Move Up, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:55.671 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 200 Command:Move Up, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:55.771 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:55.771 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:55.771 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:55.771 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:55.771 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:55.771 Parameter 61(Height): 450 <0x5a6e7b90>
08 08/13/10 13:47:55.944 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 200 Command:Move Up, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:56.144 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:56.144 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:56.144 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.144 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.144 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:56.144 Parameter 61(Height): 450 <0x5a6e7b90>
08 08/13/10 13:47:56.476 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:56.476 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:56.476 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.476 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.476 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:56.476 Parameter 61(Height): 450 <0x5a6e7b90>
08 08/13/10 13:47:56.908 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:56.908 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:56.908 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.908 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:56.908 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:56.908 Parameter 61(Height): 450 <0x5a6e7b90>
08 08/13/10 13:47:57.311 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:57.312 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:57.312 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:57.312 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:57.312 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:57.312 Parameter 61(Height): 450 <0x5a6e7b90>
08 08/13/10 13:47:57.783 Received Message from 21 (OnScreen Orbiter / Living) to 210 (Foscam FI8908W IP Camera / Master), type 1 id 84 Command:Get Video Frame, retry none, parameters: <0x5a6e7b90>
08 08/13/10 13:47:57.783 Parameter 20(Format): jpg <0x5a6e7b90>
08 08/13/10 13:47:57.783 Parameter 23(Disable Aspect Lock): 0 <0x5a6e7b90>
08 08/13/10 13:47:57.783 Parameter 41(StreamID): 0 <0x5a6e7b90>
08 08/13/10 13:47:57.783 Parameter 60(Width): 1125 <0x5a6e7b90>
08 08/13/10 13:47:57.783 Parameter 61(Height): 450 <0x5a6e7b90>
Hi,
for a start, add some logging also to your Ruby code and print out as many info as possible - then proceed with questions...
HTH,
regards,
Bulek.
Thx for the answer, Bulek,
as i'm not a ruby programmer, and maybe will not be.
But i took the panasonic ip camera ruby code and adapted to the foscam commands.
Maybe something is missing, but i don't know what. If it works for the panasonic (i don't know if it works because i don't have the panasonic to test), it should work for the foscam (changing the cgi commands).
If someone could revise the code at http://pastebin.com/LK160n8Z , and tell what is missing, i will change it, continue the tests and once is ready, make it available.
I think that is a way that i can help.
Regards,
Paulo
Quote from: pw44 on August 14, 2010, 10:35:10 PM
Thx for the answer, Bulek,
as i'm not a ruby programmer, and maybe will not be.
But i took the panasonic ip camera ruby code and adapted to the foscam commands.
Maybe something is missing, but i don't know what. If it works for the panasonic (i don't know if it works because i don't have the panasonic to test), it should work for the foscam (changing the cgi commands).
If someone could revise the code at http://pastebin.com/LK160n8Z , and tell what is missing, i will change it, continue the tests and once is ready, make it available.
I think that is a way that i can help.
Regards,
Paulo
Hi,
sorry at the moment I'm completely out of Ruby world (I did few templates for Marantz AV receiver quite a while ago)... But I'm also no Ruby programmer, but any experience will do - Ruby is not so hard to learn from examples....
The best advice I could give at the moment is to browse and learn existing Ruby templates (find some with more extensive logging - maybe you can try even Marantz one). Then start everything and watch device logs and DCERouter logs and you will get the idea of the whole thing...
Try to send commands to device from web-admin page and see what happens in logs... And also watch what happens when Orbiter demands video frame from ip camera...
HTH,
regards,
Bulek.
Any progress with template?
Hi Valent,
The wiki has instructions for creating a template. I've submitted the FI8918W to sqlcvs but don't know when it will be part of the package.
Josh