Foscam FI8910W

From LinuxMCE
Jump to: navigation, search
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
Usage Information
F8918W.jpg

Thanks

Thank you to the author of the Foscam FI8918W page as this is mostly a copy.


Info

Cheap IR wireless IP/Network Pan/tilt Camera. There is no zoom with this camera.
Very similar camera to the Foscam FI8918W with some modifications to the camera (IR lights) by using IR-CUT, but the firmware (I believe) is close to the predecessor, the Foscam FI8918W


What's New

Compared to the older Foscam FI8918W:

  • IR lights can be turned off with the software (Not in LinuxMCE)
  • Has IR-CUT filter for better dark and night resolution
  • Audio quality is apparently improved and an added microphone jack is provided. (Not used in LinuxMCE)
  • Extra IR light (Eleven now)
  • Power and network light at the back of the camera.
  • Haven't noticed any drop out issues on my system

Status

Working as a plug and play IP camera with pan/tilt commands.
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 FI8908W 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.
NOTE: The left and right scripts are the other way around from the what is noted in the Foscam FI8918W

  1. 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
  1. 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
  1. 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=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
  1. 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=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
  1. 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 963357310976 to 963357376511 (DHCP).
  • Wired range ??????? - Will try and find this out???????

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
  • WPA2 wireless security

Dropouts

There have been reported drop outs with the Foscam F8910W but I have not noticed this with the Foscam FI8918W but I do use a static IP address.

Wireless Setup

How to setup IP camera wirelessly http://foscam.us/forum/post15934.html#p15934

Test and Tweak IP Camera Setup and Configuration

Make sure your IP Camera is functioning at peak ability http://foscam.us/forum/post34164.html#p34164

Links