Foscam FI8918W
Version | Status | Date Updated | Updated By |
---|---|---|---|
710 | Unknown | N/A | N/A |
810 | Unknown | N/A | N/A |
1004 | Unknown | N/A | N/A |
1204 | Unknown | N/A | N/A |
1404 | Unknown | N/A | N/A |
Usage Information |
Thanks
Just starting to edit this page as I have time but sorry it is mostly a direct copy of the foscam 8908 page Very similar camera to the Foscam F8908W with some modifications to the camera but the firmware (I believe) is the same as the predecessor, the Foscam F8908W
Info
Cheap IR wireless IP/Network Pan/tilt Camera
Status
Working as a plug and play IP camera with pan/tilt commands as soon as I get the device template up. Should work as a 'Generic Motion IP camera' under motion wrapper and used as a sensor as well as recording movement etc. - Check the Foscam F8908 page for more.
Plug and Play Template Settings
This camera is fully plug and play as a stand-alone pan/tilt camera by duplicating the panasonic template and inserting the following scripts.
- 84 Get video frame
conn_.Reconnect() auth_s="user="+device_.devdata_[114]+"&pwd="+device_.devdata_[115]; fix_path=device_.devdata_[2]+auth_s; fix_path='/'+fix_path if(fix_path[0]!='/'[0]); s = "GET "+fix_path+" HTTP/1.0\r\n" s+= "Accept: */*\r\n" s+= "\r\n" conn_.Send(s) recv="" while(true) buff=conn_.Recv(16384, 5000) if(buff.length() == 0) break end recv = recv + buff end if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m) fileName="/tmp/ip_camera_img"+device_.devid_.to_s imageFile=File.new(fileName+".jpg",'w') imageFile.print $1 imageFile.close() system("/usr/bin/convert "+fileName+".jpg "+fileName+".png"); size=File.stat(fileName+".png").size imageFile=File.new(fileName+".png",'r') img = imageFile.read(size); imageFile.close() data_set(img) format_set('png') end
- 201 Move Down
conn_.Reconnect() auth_s="user="+device_.devdata_[114]+"&pwd="+device_.devdata_[115]; s = "GET /decoder_control.cgi?command=2&onestep=1&"+auth_s s+= " HTTP/1.0\r\n Accept: */*\r\n" s+= "\r\n" conn_.Send(s) recv="" while(true) buff=conn_.Recv(256, 5000) if(buff.length() == 0) break end recv = recv + buff end
- 202 move left
conn_.Reconnect() auth_s="user="+device_.devdata_[114]+"&pwd="+device_.devdata_[115]; #auth_a=Array.new; #auth_s.each{|c| auth_a.push(c)} s = "GET /decoder_control.cgi?command=4&onestep=1&"+auth_s s+= " HTTP/1.0\r\n Accept: */*\r\n" #s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n" s+= "\r\n" conn_.Send(s) recv="" while(true) buff=conn_.Recv(256, 5000) if(buff.length() == 0) break end recv = recv + buff end
- 203 Move Right
conn_.Reconnect() auth_s="user="+device_.devdata_[114]+"&pwd="+device_.devdata_[115]; #auth_a=Array.new; #auth_s.each{|c| auth_a.push(c)} s = "GET /decoder_control.cgi?command=6&onestep=1&"+auth_s s+= " HTTP/1.0\r\n Accept: */*\r\n" #s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n" s+= "\r\n" conn_.Send(s) recv="" while(true) buff=conn_.Recv(256, 5000) if(buff.length() == 0) break end recv = recv + buff end
- 200 Move Up
conn_.Reconnect() auth_s="user="+device_.devdata_[114]+"&pwd="+device_.devdata_[115]; #auth_a=Array.new; #auth_s.each{|c| auth_a.push(c)} s = "GET /decoder_control.cgi?command=0&onestep=1&"+auth_s s+= " HTTP/1.0\r\n Accept: */*\r\n" #s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n" s+= "\r\n" conn_.Send(s) recv="" while(true) buff=conn_.Recv(256, 5000) if(buff.length() == 0) break end recv = recv + buff end
It can be made 'plug and play' by adding the mac range of both the wireless and wired adapters into the new template:
- Wireless range 79373008896 to 79389786111 (DHCP).
- Wired range 414170742784 to 414171791359 (DHCP).
Pros:
- Plug and play (Just give it a sensible name)
- Pan and Tilt work from on screen arrows
Cons:
- No motion capture
Features
- Browser based
- 10/100mbit LAN
Dropouts
There have been reports of dhcp dropouts. Suggested fix: http://blog.stead.id.au/2010/06/resolving-foscam-connection-dropouts.html