Difference between revisions of "Foscam FI8908W"

From LinuxMCE
Jump to: navigation, search
m (Status)
Line 12: Line 12:
 
Provisionally working either as a plug and play IP camera with pan/tilt commands or as a 'Generic Motion IP camera' under motion wrapper and used as a sensor as well as recording movement etc.
 
Provisionally working either as a plug and play IP camera with pan/tilt commands or as a 'Generic Motion IP camera' under motion wrapper and used as a sensor as well as recording movement etc.
  
 +
== Generic Motion IP Camera Hack ==
 
If using under motion the pan/tilt commands do not work. It can optionally be made 'plug and play' under motion by manually adding the mac range of both the wireless and wired adapters into the 'Generic Motion IP Camera' template:
 
If using under motion the pan/tilt commands do not work. It can optionally be made 'plug and play' under motion by manually adding the mac range of both the wireless and wired adapters into the 'Generic Motion IP Camera' template:
 
* Wireless range 79373008896 to 79389786111 (DHCP).
 
* Wireless range 79373008896 to 79389786111 (DHCP).
Line 28: Line 29:
 
* No Pan/Tilt other than via its own web interface
 
* No Pan/Tilt other than via its own web interface
  
 +
== 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.
 
This camera is fully plug and play as a stand-alone pan/tilt camera by duplicating the panasonic template and inserting the following scripts.
  

Revision as of 12:28, 30 November 2010

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
Foscam-FI8908W.jpg

Info

Cheap IR wireless IP/Network Pan/tilt Camera

Status

Provisionally working either as a plug and play IP camera with pan/tilt commands or as a 'Generic Motion IP camera' under motion wrapper and used as a sensor as well as recording movement etc.

Generic Motion IP Camera Hack

If using under motion the pan/tilt commands do not work. It can optionally be made 'plug and play' under motion by manually adding the mac range of both the wireless and wired adapters into the 'Generic Motion IP Camera' template:

  • Wireless range 79373008896 to 79389786111 (DHCP).
  • Wired range 414170742784 to 414171791359 (DHCP).

After the device has been detected and assigned a room just give it a sensible name and add the following to the path parameter in web admin:

  • hxxp://<CAMERA_IP_ADDRESS>/videostream.cgi?user=XXXXX&pwd=XXXXX

Replace the ip address and the XXXXX with your settings

Pros:

  • Plug and Play (Just give it a sensible name)
  • Installed under motion for security monitoring/recording

Cons:

  • Path must be manually set as described above
  • No Pan/Tilt other than via its own web interface

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.

  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=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. 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
  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 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

Links