http://wiki.linuxmce.org/api.php?action=feedcontributions&user=Slampt&feedformat=atom
LinuxMCE - User contributions [en]
2024-03-29T06:44:16Z
User contributions
MediaWiki 1.24.1
http://wiki.linuxmce.org/index.php?title=Aeon_Labs_Z-Wave_Multisensor&diff=27878
Aeon Labs Z-Wave Multisensor
2011-05-12T03:14:38Z
<p>Slampt: </p>
<hr />
<div>[[Category: Hardware]]<br />
{{versioninfo|810Status=unknown|810UpdatedDate=N/A|810UpdatedBy=N/A}}<br />
[[Category: RF Control]]<br />
[[Category: ZWave]]<br />
[[Category: ZWave_sensors]]<br />
<br />
[[Image:aeonlabs-zwave-multisensor.jpg|thumb|200px|Aeon Labs Z-Wave Multisensor]]<br />
<br />
== Status ==<br />
<br />
Unknown<br />
<br />
= About = <br />
The Aeon Labs Multi Sensor is a battery-powered Z-Wave motion sensor, temperature sensor and lighting sensor all in one. The sensor will send radio signals up to 6 associated Z-Wave devices within its own Z-Wave network when the sensor detects IR changes in front of its viewing window and can report current temperature and lighting levels in the immediate vicinity.<br />
<br />
Indoor/Outdoor functioning tolerances allow the Aeon Labs Multi Sensor to function under weatherized conditions. Various sensitivity levels can be configured to avoid unintentional triggering from small animals such as cats and small dogs.<br />
<br />
== Links ==<br />
=== Manufacturer ===<br />
http://www.aeon-labs.com/site/public/lib/download.php?type=s&f=29 Specification PDF]<br />
<br />
[http://www.aeon-labs.com/ Aeon Labs]<br />
<br />
http://www.aeon-labs.com/site/products/view/7/ Aeon Labs - Multisensor Product Page]<br />
<br />
<br />
=== Retailers ===</div>
Slampt
http://wiki.linuxmce.org/index.php?title=File:Aeonlabs-zwave-multisensor.jpg&diff=27877
File:Aeonlabs-zwave-multisensor.jpg
2011-05-12T03:14:11Z
<p>Slampt: </p>
<hr />
<div></div>
Slampt
http://wiki.linuxmce.org/index.php?title=Aeon_Labs_Z-Wave_Multisensor&diff=27876
Aeon Labs Z-Wave Multisensor
2011-05-12T03:12:21Z
<p>Slampt: Created page with "Category: Hardware {{versioninfo|810Status=unknown|810UpdatedDate=N/A|810UpdatedBy=N/A}} Category: RF Control Category: ZWave Category: ZWave_sensors [[Image:aeo..."</p>
<hr />
<div>[[Category: Hardware]]<br />
{{versioninfo|810Status=unknown|810UpdatedDate=N/A|810UpdatedBy=N/A}}<br />
[[Category: RF Control]]<br />
[[Category: ZWave]]<br />
[[Category: ZWave_sensors]]<br />
<br />
[[Image:aeonlabs-zwave-multisensor.gif|thumb|200px|Aeon Labs Z-Wave Multisensor]]<br />
<br />
== Status ==<br />
<br />
Unknown<br />
<br />
= About = <br />
The Aeon Labs Multi Sensor is a battery-powered Z-Wave motion sensor, temperature sensor and lighting sensor all in one. The sensor will send radio signals up to 6 associated Z-Wave devices within its own Z-Wave network when the sensor detects IR changes in front of its viewing window and can report current temperature and lighting levels in the immediate vicinity.<br />
<br />
Indoor/Outdoor functioning tolerances allow the Aeon Labs Multi Sensor to function under weatherized conditions. Various sensitivity levels can be configured to avoid unintentional triggering from small animals such as cats and small dogs.<br />
<br />
== Links ==<br />
=== Manufacturer ===<br />
http://www.aeon-labs.com/site/public/lib/download.php?type=s&f=29 Specification PDF]<br />
<br />
[http://www.aeon-labs.com/ Aeon Labs]<br />
<br />
http://www.aeon-labs.com/site/products/view/7/ Aeon Labs - Multisensor Product Page]<br />
<br />
<br />
=== Retailers ===</div>
Slampt
http://wiki.linuxmce.org/index.php?title=Receivers_rs-232&diff=26857
Receivers rs-232
2011-01-29T00:30:45Z
<p>Slampt: </p>
<hr />
<div>[[Category: Serial]]<br />
[[Category: Audio]]<br />
{{versioninfo}}<br />
= Receivers rs-232 support =<br />
Here is a list of receivers that do or do not have rs-232 (serial port) support<br />
<br />
== Denon ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| [http://www.denon.co.uk/site/frames_main.php?main=prod&ver=1&MID=3&sub=1&action=detail&Pid=296 AVR-2307]<br />
| yes<br />
| yes<br />
| Plug and Play.<br />
|-<br />
| [http://www.denon.co.uk/site/frames_main.php?main=prod&ver=1&MID=3&sub=1&action=detail&Pid=338 AVR-2308]<br />
| yes<br />
| yes<br />
|<br />
|-<br />
| [http://www.denon.co.uk/site/frames_main.php?main=prod&ver=1&MID=3&sub=1&action=detail&Pid=237 AVR-2807]<br />
| yes<br />
|<br />
|<br />
|-<br />
| [http://www.denon.co.uk/site/popup/index.php?Pid=351 AVR-2808]<br />
| yes<br />
|<br />
|<br />
|-<br />
| AVR-3807<br />
| yes<br />
| yes<br />
|<br />
|-<br />
| [[Denon_AVR-4306|AVR-4306]]<br />
| no (ethernet)<br />
| yes (ethernet)<br />
| Seemed to work fine at LinuxTag 2008, although no extensive testing was done.<br />
|}<br />
<br />
== Harman Kardon ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| AVR 247<br />
| yes<br />
| no<br />
|<br />
|-<br />
| AVR 347<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== [[Kenwood Sovereign Receivers]] ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| VR 5900<br />
| yes<br />
| yes<br />
| working: On/Off, Mute and Volume. Input Selection, DSP Modes, and a few others are defined, but not tested to see if they work.<br />
|-<br />
| VR 5700<br />
| yes<br />
| yes<br />
|working: On/Off, Mute and Volume. Input Selection, DSP Modes, and a few others are defined, but not tested to see if they work.<br />
|-<br />
| VR 5080<br />
| yes<br />
| yes<br />
|working: On/Off, Mute and Volume. Input Selection, DSP Modes, and a few others are defined, but not tested to see if they work.<br />
|}<br />
<br />
== Marantz ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| SR5001<br />
|<br />
|<br />
|<br />
|-<br />
| SR5002<br />
|<br />
|<br />
|<br />
|-<br />
| [http://www.marantz.com/new/index.cfm?fuseaction=Products.Product&cont=eu&bus=hf&prod_id=3662&series=comp&type=avr SR6001 ]<br />
|<br />
|<br />
|<br />
|-<br />
| SR5600<br />
| yes<br />
| yes<br />
| in development(several problems exist)<br />
|-<br />
| SR7001<br />
| yes<br />
| yes<br />
|<br />
|-<br />
| [http://www.marantz.com/new/index.cfm?fuseaction=Products.Product&cont=eu&bus=hf&prod_id=3702&series=comp&type=avr SR7002]<br />
|<br />
|<br />
|<br />
|-<br />
| ZR6001<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== Meridian ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| [http://www.meridian-audio.com/p_g68.htm G68-ADV]<br />
| yes<br />
| yes<br />
| yes<br />
|}<br />
<br />
== NAD ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| T-765<br />
|<br />
|<br />
|<br />
|-<br />
| T-773<br />
|<br />
|<br />
|<br />
|-<br />
| T-763<br />
| yes<br />
| yes<br />
|<br />
|}<br />
<br />
== Onkyo ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| TX-SR705<br />
|<br />
|<br />
|<br />
|-<br />
| TX-SR805/875<br />
| yes<br />
| yes<br />
| [[Onkyo_TXSR805]]<br />
|}<br />
<br />
== Pioneer ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| VSX-LX50<br />
| no<br />
| no<br />
| no<br />
|-<br />
| VSX-LX51<br />
| yes<br />
| ?<br />
| ?<br />
|-<br />
| VSX-LX53<br />
| yes<br />
| yes<br />
| ?<br />
|-<br />
| VSX-LX60<br />
| yes<br />
| ?<br />
| ?<br />
|-<br />
| VSX-LX70<br />
| yes<br />
| ?<br />
| ?<br />
|}<br />
<br />
== Sony ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| STR-DA3000ES<br />
|<br />
|<br />
|<br />
|-<br />
| STR-DA3200ES<br />
|<br />
|<br />
|<br />
|}<br />
<br />
<br />
== Yamaha ==<br />
{| class="wikitable" border="1" cellpadding="5" cellspacing="0"<br />
|-<br />
! model<br />
! rs-232 port<br />
! rs-232 controllable<br />
! lmce support<br />
|-<br />
| RX-V1700<br />
| yes<br />
| yes<br />
| yes, using RX-V1XXX template (multizone not tested)<br />
|-<br />
| RX-V1800<br />
|<br />
|<br />
|<br />
|-<br />
| RX-V2700<br />
|<br />
|<br />
|<br />
|}</div>
Slampt
http://wiki.linuxmce.org/index.php?title=File:Epson_eh-tw3500_1.jpg&diff=26856
File:Epson eh-tw3500 1.jpg
2011-01-29T00:28:55Z
<p>Slampt: </p>
<hr />
<div></div>
Slampt
http://wiki.linuxmce.org/index.php?title=Epson_EH-TW3500&diff=26855
Epson EH-TW3500
2011-01-29T00:27:31Z
<p>Slampt: New page: Category: Hardware {{versioninfo}} Category: Projectors {{stub}} right Full 1080p High Definition Digital Home Theatre : http://www.epson.com.au/p...</p>
<hr />
<div>[[Category: Hardware]]<br />
{{versioninfo}}<br />
[[Category: Projectors]]<br />
{{stub}}<br />
<br />
[[Image:epson_eh-tw3500_1.jpg|right]]<br />
<br />
Full 1080p High Definition Digital Home Theatre : http://www.epson.com.au/products/projector/EH-TW3500_specs.asp<br />
<br />
Inputs:<br />
* HDMI x 2<br />
* RGB (Sub-D)<br />
* Y/C (S-Video)<br />
* RS232<br />
<br />
The rs232 command specification can be found here: <br />
<br />
GSD is currently being built.</div>
Slampt
http://wiki.linuxmce.org/index.php?title=Realtek_8168&diff=26826
Realtek 8168
2011-01-25T09:05:13Z
<p>Slampt: </p>
<hr />
<div>[[Category: Hardware]]<br />
{{versioninfo}}<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category: Networking]]<br />
[[Category: Network Adapters]]<br />
[[Category: Tutorials]]<br />
<br />
=The Realtek RTL8168 network card on LinuxMCE=<br />
<br />
This card is supposed to work with the r8169 module, but this seems to fail for newer cards. Realtek provides the source code for a r8168 module on [http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2 their site].<br />
<br />
===What you need to do===<br />
* Download the driver from Realtek (at the time of this article, the version is 8.008.00, released 2008/7/24) to compile the r8168 module<br />
* Install the linux-source package, to hack into the r8169 module.<br />
<br />
The default r8169 module and Realtek's r8168 overlap on a PCI ID, and that's why you need the kernel source. You'll compile the r8169 without the PCI ID that r8168 will associate with.<br />
<br />
>>TODO: Insert section of required packages for the build to work<br />
<br />
===Compiling Realtek's r8168 module===<br />
<br />
* [http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#2 Download] the Realtek driver: you'll get a file called r8168-8.008.00.tar.bz2<br />
<br />
>> Please note the above link did not work, but Google allowed us to find an Username/Password for one of the realtek FTP Mirrors ;<br />
wget ftp://WebUser:2mG8dBW@202.134.71.22/cn/nic/r8168-8.020.00.tar.bz2<br />
<br />
<br />
* unpack the file:<br />
tar -jxf r8168-8.008.00.tar.bz2<br />
* switch into the directory that is created:<br />
cd r8168-8.008.00<br />
* build the module:<br />
make<br />
* copy the module to the running kernel:<br />
cp src/r8168.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/<br />
<br />
(I believe the last cp step is no longer required as it version 8.012.00 of the driver sources, as it does this as part of the make - colinjones)<br />
<br />
===Hacking the r8169 module===<br />
<br />
This part is only required if you actually need the r8169 to be in the kernel at the same time as the new r8168 module. You may not need this if your MD has only one r8168 compatible NIC. If so, just move the r8169.ko file out of /lib/modules/2.6.22-14-generic/kernel/drivers/net/ prior to generating the new initrd.mg file, and that module will not be included in the new image.<br />
<br />
* Install the kernel source:<br />
apt-get install linux-source<br />
* Un pack the kernel source:<br />
cd /usr/src; tar -jxf linux-source-2.6.22.tar.bz2<br />
* Switch to the kernel directory:<br />
cd linux-source-2.6.22<br />
* Copy the running kernel's configuration:<br />
cp /boot/config-2.6.22-14-generic .config<br />
* Prepare the kernel so you can build modules:<br />
make scripts prepare<br />
* Apply this patch:<br />
patch < r8168.diff<br />
<pre><br />
--- drivers/net/r8169.c.orig 2008-09-05 17:07:29.000000000 +0300<br />
+++ drivers/net/r8169.c 2008-09-04 23:49:51.000000000 +0300<br />
@@ -162,7 +162,7 @@<br />
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8129), 0, 0, RTL_CFG_0 },<br />
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8136), 0, 0, RTL_CFG_2 },<br />
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8167), 0, 0, RTL_CFG_0 },<br />
- { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8168), 0, 0, RTL_CFG_1 },<br />
+ //{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8168), 0, 0, RTL_CFG_1 },<br />
{ PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8169), 0, 0, RTL_CFG_0 },<br />
{ PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4300), 0, 0, RTL_CFG_0 },<br />
{ PCI_DEVICE(0x1259, 0xc107), 0, 0, RTL_CFG_0 },<br />
</pre><br />
* Build the network modules:<br />
make M=`pwd`/drivers/net modules<br />
* Confirm that the new r8169 module doesn't have the "pci:v000010ECd00008168sv" alias:<br />
modinfo drivers/net/r8169.ko<br />
* Copy the new r8169.ko to the running kernel:<br />
cp drivers/net/r8169.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/<br />
* Run depmod<br />
depmod<br />
* Load the module:<br />
modprobe r8169<br />
<br />
=== MDs ===<br />
After you created the modules as described above:<br />
<br />
* Copy the modules to all the affected MD filesystems, in the corresponding location<br />
* Follow the instructions on the [[Unrecognized NIC]] page<br />
<br />
== Asus M3A78-EM Please Note!!!! This driver was for LMCE version 710 !!!! Not valid for 810!!! ==<br />
Here are the steps required to get this motherboard's Realtek 8168 Gigabit Ethernet Working for an MD.<br />
<br />
To save some steps, I will make my driver available here for LinxMCE version 710. : [http://dataless.jeromenet.org/r8168.ko r8168 driver]<br />
This can be used on the Realtek 8111B/8111C chipsets as well, that is what my motherboard says, just before PXE boot.<br />
<br />
--[[User:Sethj|Sethj]] 12:50, 12 December 2008 (CET)<br />
<br />
[[Generic_PC#Manual_Setup_of_a_Media_Director | First I manually created the Media Director]] from the [[LinuxMCE Admin Website]]. Did not want it to build an AMD64 image, wanted to stay with i386, and I knew the MAC address of the new MD onboard NIC. Ran "Setup Diskless MD" when that completed I clicked the "Rebuild Image" for the new MD. While that was running I completed the next few things. Wait for this to complete, and then continue.<br />
<br />
* Download the driver package for Linux from Asus' web site here : [http://support.asus.com/download/download.aspx?SLanguage=en-us&model=M3A78-EM LinuxDrivers.zip] - It is under "Others"<br />
* unzip the package to /usr/src<br />
sudo su<br />
cd /usr/src<br />
unzip -qq /path/to/LinuxDrivers.zip<br />
cd /usr/src/LinuxDrivers/LAN/r8168-8.003.00/r8168-8.003.00<br />
make<br />
cp src/r8168.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/<br />
mv /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko.not<br />
depmod -a<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
cp /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8168.ko /usr/pluto/diskless/<moon #>/lib/modules/2.6.22-14-generic/kernel/drivers/net<br />
vi /usr/pluto/diskless/<moon #>/etc/initramfs-tools/modules<br />
added r8168 and saved<br />
cd /usr/pluto/diskless<br />
chroot <moon #><br />
mv /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko.not<br />
depmod -a /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8168.ko<br />
cd /boot<br />
update-initramfs -uv<br />
(scrolled up to verify the new module was added it was at the top of the output)<br />
for S and G's ran depmod -a again<br />
exit out of the chroot<br />
<br />
Now boot or reboot the MD.<br />
<br />
For a Core:<br />
<br />
* Get some means to download and store [url]http://dataless.jeromenet.org/r8168.ko[/url], as you may not have internet (no 2nd nic) !!!!!Please note. This driver is for LinuxMCE 710!!!!<br />
I used a pen drive.<br />
* Once you have this file, boot the system in Safe Mode, using option 2 in grub (press ESC when system starts to get to grub)<br />
after the system comes up, you will have your dcerouter# prompt. Insert pen drive, mount it some where: I did:<br />
<br />
mkdir /mnt/temp<br />
mount /dev/sdx1 /mnt/temp (insert your letter for "x" in this, you can find it with dmesg<br />
cp /mnt/temp/r8168.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/<br />
mv /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8169.ko.not<br />
depmod -a /lib/modules/2.6.22-14-generic/kernel/drivers/net/r8168.ko<br />
vi /etc/initramfs-tools/modules<br />
add r8168<br />
cd /boot <br />
update-initramfs -uv<br />
(scroll up to verify the new module was added)<br />
<br />
* Now reboot, and that should sort it out.</div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21951
IPC-1002
2010-01-02T12:12:33Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_64 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:s = "GET "+device_.devdata_[2]+" HTTP/1.0\r\n"<br />
13:s+= "Accept: */*\r\n"<br />
14:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
15:s+= "\r\n"<br />
16:<br />
17:conn_.Send(s)<br />
18:recv=""<br />
19:while(true)<br />
20: buff=conn_.Recv(16384, 5000)<br />
21: if(buff.length() == 0)<br />
22: break<br />
23: end<br />
24: recv = recv + buff<br />
25:end<br />
26:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
27: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
28: imageFile=File.new(fileName+".jpg",'w')<br />
29: imageFile.print $1<br />
30: imageFile.close()<br />
31: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
32: size=File.stat(fileName+".png").size <br />
33: imageFile=File.new(fileName+".png",'r')<br />
34: img = imageFile.read(size);<br />
35: imageFile.close()<br />
36: data_set(img)<br />
37: format_set('png')<br />
38:end<br />
39:return @returnParamArray<br />
40:end<br />
41:#### 200 ####################################################################<br />
42:def cmd_200(streamid, cmd=nil)<br />
43:@returnParamArray.clear<br />
44:conn_.Reconnect()<br />
45:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
46:auth_a=Array.new;<br />
47:auth_s.each{|c| auth_a.push(c)}<br />
48:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up HTTP/1.0\r\n"<br />
49:s+= "Accept: */*\r\n"<br />
50:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
51:s+= "\r\n"<br />
52:<br />
53:conn_.Send(s)<br />
54:recv=""<br />
55:while(true)<br />
56:buff=conn_.Recv(256, 5000)<br />
57:if(buff.length() == 0)<br />
58:break<br />
59:end<br />
60:recv = recv + buff<br />
61:end<br />
62:return @returnParamArray<br />
63:end<br />
64:#### 201 ####################################################################<br />
65:def cmd_201(streamid, cmd=nil)<br />
66:@returnParamArray.clear<br />
67:conn_.Reconnect()<br />
68:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
69:auth_a=Array.new;<br />
70:auth_s.each{|c| auth_a.push(c)}<br />
71:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down HTTP/1.0\r\n"<br />
72:s+= "Accept: */*\r\n"<br />
73:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
74:s+= "\r\n"<br />
75:<br />
76:conn_.Send(s)<br />
77:recv=""<br />
78:while(true)<br />
79:buff=conn_.Recv(256, 5000)<br />
80:if(buff.length() == 0)<br />
81:break<br />
82:end<br />
83:recv = recv + buff<br />
84:end<br />
85:return @returnParamArray<br />
86:end<br />
87:#### 202 ####################################################################<br />
88:def cmd_202(streamid, cmd=nil)<br />
89:@returnParamArray.clear<br />
90:conn_.Reconnect()<br />
91:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
92:auth_a=Array.new;<br />
93:auth_s.each{|c| auth_a.push(c)}<br />
94:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left HTTP/1.0\r\n"<br />
95:s+= "Accept: */*\r\n"<br />
96:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
97:s+= "\r\n"<br />
98:<br />
99:conn_.Send(s)<br />
100:recv=""<br />
101:while(true)<br />
102:buff=conn_.Recv(256, 5000)<br />
103:if(buff.length() == 0)<br />
104:break<br />
105:end<br />
106:recv = recv + buff<br />
107:end<br />
108:return @returnParamArray<br />
109:end<br />
110:#### 203 ####################################################################<br />
111:def cmd_203(streamid, cmd=nil)<br />
112:@returnParamArray.clear<br />
113:conn_.Reconnect()<br />
114:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
115:auth_a=Array.new;<br />
116:auth_s.each{|c| auth_a.push(c)}<br />
117:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right HTTP/1.0\r\n"<br />
118:s+= "Accept: */*\r\n"<br />
119:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
120:s+= "\r\n"<br />
121:<br />
122:conn_.Send(s)<br />
123:recv=""<br />
124:while(true)<br />
125:buff=conn_.Recv(256, 5000)<br />
126:if(buff.length() == 0)<br />
127:break<br />
128:end<br />
129:recv = recv + buff<br />
130:end<br />
131:return @returnParamArray<br />
132:end<br />
133:#### 350 ####################################################################<br />
134:def cmd_350(cmd=nil)<br />
135:@returnParamArray.clear<br />
136:conn_.Close()<br />
137:return @returnParamArray<br />
138:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=File:Ip-400.jpg&diff=21947
File:Ip-400.jpg
2010-01-02T11:59:43Z
<p>Slampt: Dealextreme ip-400 IP Camera</p>
<hr />
<div>Dealextreme ip-400 IP Camera</div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21946
IPC-1002
2010-01-02T11:56:19Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_64 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:s = "GET "+device_.devdata_[2]+" HTTP/1.0\r\n"<br />
13:s+= "Accept: */*\r\n"<br />
14:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
15:s+= "\r\n"<br />
16:<br />
17:conn_.Send(s)<br />
18:recv=""<br />
19:while(true)<br />
20: buff=conn_.Recv(16384, 5000)<br />
21: if(buff.length() == 0)<br />
22: break<br />
23: end<br />
24: recv = recv + buff<br />
25:end<br />
26:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
27: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
28: imageFile=File.new(fileName+".jpg",'w')<br />
29: imageFile.print $1<br />
30: imageFile.close()<br />
31: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
32: size=File.stat(fileName+".png").size <br />
33: imageFile=File.new(fileName+".png",'r')<br />
34: img = imageFile.read(size);<br />
35: imageFile.close()<br />
36: data_set(img)<br />
37: format_set('png')<br />
38:end<br />
39:return @returnParamArray<br />
40:end<br />
41:#### 200 ####################################################################<br />
42:def cmd_200(streamid, cmd=nil)<br />
43:@returnParamArray.clear<br />
44:conn_.Reconnect()<br />
45:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
46:auth_a=Array.new;<br />
47:auth_s.each{|c| auth_a.push(c)}<br />
48:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up〈=eng HTTP/1.0\r\n"<br />
49:s+= "Accept: */*\r\n"<br />
50:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
51:s+= "\r\n"<br />
52:<br />
53:conn_.Send(s)<br />
54:recv=""<br />
55:while(true)<br />
56:buff=conn_.Recv(256, 5000)<br />
57:if(buff.length() == 0)<br />
58:break<br />
59:end<br />
60:recv = recv + buff<br />
61:end<br />
62:return @returnParamArray<br />
63:end<br />
64:#### 201 ####################################################################<br />
65:def cmd_201(streamid, cmd=nil)<br />
66:@returnParamArray.clear<br />
67:conn_.Reconnect()<br />
68:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
69:auth_a=Array.new;<br />
70:auth_s.each{|c| auth_a.push(c)}<br />
71:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down〈=eng HTTP/1.0\r\n"<br />
72:s+= "Accept: */*\r\n"<br />
73:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
74:s+= "\r\n"<br />
75:<br />
76:conn_.Send(s)<br />
77:recv=""<br />
78:while(true)<br />
79:buff=conn_.Recv(256, 5000)<br />
80:if(buff.length() == 0)<br />
81:break<br />
82:end<br />
83:recv = recv + buff<br />
84:end<br />
85:return @returnParamArray<br />
86:end<br />
87:#### 202 ####################################################################<br />
88:def cmd_202(streamid, cmd=nil)<br />
89:@returnParamArray.clear<br />
90:conn_.Reconnect()<br />
91:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
92:auth_a=Array.new;<br />
93:auth_s.each{|c| auth_a.push(c)}<br />
94:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left〈=eng HTTP/1.0\r\n"<br />
95:s+= "Accept: */*\r\n"<br />
96:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
97:s+= "\r\n"<br />
98:<br />
99:conn_.Send(s)<br />
100:recv=""<br />
101:while(true)<br />
102:buff=conn_.Recv(256, 5000)<br />
103:if(buff.length() == 0)<br />
104:break<br />
105:end<br />
106:recv = recv + buff<br />
107:end<br />
108:return @returnParamArray<br />
109:end<br />
110:#### 203 ####################################################################<br />
111:def cmd_203(streamid, cmd=nil)<br />
112:@returnParamArray.clear<br />
113:conn_.Reconnect()<br />
114:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
115:auth_a=Array.new;<br />
116:auth_s.each{|c| auth_a.push(c)}<br />
117:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right〈=eng HTTP/1.0\r\n"<br />
118:s+= "Accept: */*\r\n"<br />
119:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
120:s+= "\r\n"<br />
121:<br />
122:conn_.Send(s)<br />
123:recv=""<br />
124:while(true)<br />
125:buff=conn_.Recv(256, 5000)<br />
126:if(buff.length() == 0)<br />
127:break<br />
128:end<br />
129:recv = recv + buff<br />
130:end<br />
131:return @returnParamArray<br />
132:end<br />
133:#### 350 ####################################################################<br />
134:def cmd_350(cmd=nil)<br />
135:@returnParamArray.clear<br />
136:conn_.Close()<br />
137:return @returnParamArray<br />
138:end<br />
139:#### START SETTERS ####################################################################<br />
140:def initialize()<br />
141:super<br />
142:@returnParamArray=Array.new<br />
143:end<br />
144:def data_set(value)<br />
145:@returnParamArray[19]=value<br />
146:end<br />
147:def format_set(value)<br />
148:@returnParamArray[20]=value<br />
149:end<br />
150:#### END SETTERS ####################################################################<br />
151:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21945
IPC-1002
2010-01-02T11:55:54Z
<p>Slampt: Undo revision 21944 by Slampt (Talk)</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_95 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:fix_path=device_.devdata_[2];<br />
13:fix_path='/'+fix_path if(fix_path[0]!='/'[0]);<br />
14:<br />
15:s = "GET "+fix_path+" HTTP/1.0\r\n"<br />
16:s+= "Accept: */*\r\n"<br />
17:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
18:s+= "\r\n"<br />
19:<br />
20:conn_.Send(s)<br />
21:recv=""<br />
22:while(true)<br />
23: buff=conn_.Recv(16384, 5000)<br />
24: if(buff.length() == 0)<br />
25: break<br />
26: end<br />
27: recv = recv + buff<br />
28:end<br />
29:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
30: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
31: imageFile=File.new(fileName+".jpg",'w')<br />
32: imageFile.print $1<br />
33: imageFile.close()<br />
34: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
35: size=File.stat(fileName+".png").size <br />
36: imageFile=File.new(fileName+".png",'r')<br />
37: img = imageFile.read(size);<br />
38: imageFile.close()<br />
39: data_set(img)<br />
40: format_set('png')<br />
41:end<br />
42:return @returnParamArray<br />
43:end<br />
44:#### 200 ####################################################################<br />
45:def cmd_200(cmd=nil)<br />
46:@returnParamArray.clear<br />
47:conn_.Reconnect()<br />
48:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
49:auth_a=Array.new;<br />
50:auth_s.each{|c| auth_a.push(c)}<br />
51:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up&lang=eng HTTP/1.0\r\n"<br />
52:s+= "Accept: */*\r\n"<br />
53:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
54:s+= "\r\n"<br />
55:<br />
56:conn_.Send(s)<br />
57:recv=""<br />
58:while(true)<br />
59:buff=conn_.Recv(256, 5000)<br />
60:if(buff.length() == 0)<br />
61:break<br />
62:end<br />
63:recv = recv + buff<br />
64:end<br />
65:return @returnParamArray<br />
66:end<br />
67:#### 201 ####################################################################<br />
68:def cmd_201(cmd=nil)<br />
69:@returnParamArray.clear<br />
70:conn_.Reconnect()<br />
71:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
72:auth_a=Array.new;<br />
73:auth_s.each{|c| auth_a.push(c)}<br />
74:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down&lang=eng HTTP/1.0\r\n"<br />
75:s+= "Accept: */*\r\n"<br />
76:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
77:s+= "\r\n"<br />
78:<br />
79:conn_.Send(s)<br />
80:recv=""<br />
81:while(true)<br />
82:buff=conn_.Recv(256, 5000)<br />
83:if(buff.length() == 0)<br />
84:break<br />
85:end<br />
86:recv = recv + buff<br />
87:end<br />
88:return @returnParamArray<br />
89:end<br />
90:#### 202 ####################################################################<br />
91:def cmd_202(cmd=nil)<br />
92:@returnParamArray.clear<br />
93:conn_.Reconnect()<br />
94:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
95:auth_a=Array.new;<br />
96:auth_s.each{|c| auth_a.push(c)}<br />
97:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left&lang=eng HTTP/1.0\r\n"<br />
98:s+= "Accept: */*\r\n"<br />
99:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
100:s+= "\r\n"<br />
101:<br />
102:conn_.Send(s)<br />
103:recv=""<br />
104:while(true)<br />
105:buff=conn_.Recv(256, 5000)<br />
106:if(buff.length() == 0)<br />
107:break<br />
108:end<br />
109:recv = recv + buff<br />
110:end<br />
111:return @returnParamArray<br />
112:end<br />
113:#### 203 ####################################################################<br />
114:def cmd_203(cmd=nil)<br />
115:@returnParamArray.clear<br />
116:conn_.Reconnect()<br />
117:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
118:auth_a=Array.new;<br />
119:auth_s.each{|c| auth_a.push(c)}<br />
120:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right&lang=eng HTTP/1.0\r\n"<br />
121:s+= "Accept: */*\r\n"<br />
122:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
123:s+= "\r\n"<br />
124:<br />
125:conn_.Send(s)<br />
126:recv=""<br />
127:while(true)<br />
128: buff=conn_.Recv(256, 5000)<br />
129: if(buff.length() == 0)<br />
130: break<br />
131: end<br />
132: recv = recv + buff<br />
133:end<br />
134:return @returnParamArray<br />
135:end<br />
136:#### START SETTERS ####################################################################<br />
137:def initialize()<br />
138:super<br />
139:@returnParamArray=Array.new<br />
140:end<br />
141:def data_set(value)<br />
142:@returnParamArray[19]=value<br />
143:end<br />
144:def format_set(value)<br />
145:@returnParamArray[20]=value<br />
146:end<br />
147:#### END SETTERS ####################################################################<br />
148:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21944
IPC-1002
2010-01-02T11:55:17Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_64 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:s = "GET "+device_.devdata_[2]+" HTTP/1.0\r\n"<br />
13:s+= "Accept: */*\r\n"<br />
14:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
15:s+= "\r\n"<br />
16:<br />
17:conn_.Send(s)<br />
18:recv=""<br />
19:while(true)<br />
20: buff=conn_.Recv(16384, 5000)<br />
21: if(buff.length() == 0)<br />
22: break<br />
23: end<br />
24: recv = recv + buff<br />
25:end<br />
26:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
27: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
28: imageFile=File.new(fileName+".jpg",'w')<br />
29: imageFile.print $1<br />
30: imageFile.close()<br />
31: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
32: size=File.stat(fileName+".png").size <br />
33: imageFile=File.new(fileName+".png",'r')<br />
34: img = imageFile.read(size);<br />
35: imageFile.close()<br />
36: data_set(img)<br />
37: format_set('png')<br />
38:end<br />
39:return @returnParamArray<br />
40:end<br />
41:#### 200 ####################################################################<br />
42:def cmd_200(streamid, cmd=nil)<br />
43:@returnParamArray.clear<br />
44:conn_.Reconnect()<br />
45:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
46:auth_a=Array.new;<br />
47:auth_s.each{|c| auth_a.push(c)}<br />
48:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up〈=eng HTTP/1.0\r\n"<br />
49:s+= "Accept: */*\r\n"<br />
50:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
51:s+= "\r\n"<br />
52:<br />
53:conn_.Send(s)<br />
54:recv=""<br />
55:while(true)<br />
56:buff=conn_.Recv(256, 5000)<br />
57:if(buff.length() == 0)<br />
58:break<br />
59:end<br />
60:recv = recv + buff<br />
61:end<br />
62:return @returnParamArray<br />
63:end<br />
64:#### 201 ####################################################################<br />
65:def cmd_201(streamid, cmd=nil)<br />
66:@returnParamArray.clear<br />
67:conn_.Reconnect()<br />
68:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
69:auth_a=Array.new;<br />
70:auth_s.each{|c| auth_a.push(c)}<br />
71:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down〈=eng HTTP/1.0\r\n"<br />
72:s+= "Accept: */*\r\n"<br />
73:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
74:s+= "\r\n"<br />
75:<br />
76:conn_.Send(s)<br />
77:recv=""<br />
78:while(true)<br />
79:buff=conn_.Recv(256, 5000)<br />
80:if(buff.length() == 0)<br />
81:break<br />
82:end<br />
83:recv = recv + buff<br />
84:end<br />
85:return @returnParamArray<br />
86:end<br />
87:#### 202 ####################################################################<br />
88:def cmd_202(streamid, cmd=nil)<br />
89:@returnParamArray.clear<br />
90:conn_.Reconnect()<br />
91:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
92:auth_a=Array.new;<br />
93:auth_s.each{|c| auth_a.push(c)}<br />
94:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left〈=eng HTTP/1.0\r\n"<br />
95:s+= "Accept: */*\r\n"<br />
96:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
97:s+= "\r\n"<br />
98:<br />
99:conn_.Send(s)<br />
100:recv=""<br />
101:while(true)<br />
102:buff=conn_.Recv(256, 5000)<br />
103:if(buff.length() == 0)<br />
104:break<br />
105:end<br />
106:recv = recv + buff<br />
107:end<br />
108:return @returnParamArray<br />
109:end<br />
110:#### 203 ####################################################################<br />
111:def cmd_203(streamid, cmd=nil)<br />
112:@returnParamArray.clear<br />
113:conn_.Reconnect()<br />
114:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
115:auth_a=Array.new;<br />
116:auth_s.each{|c| auth_a.push(c)}<br />
117:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right〈=eng HTTP/1.0\r\n"<br />
118:s+= "Accept: */*\r\n"<br />
119:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
120:s+= "\r\n"<br />
121:<br />
122:conn_.Send(s)<br />
123:recv=""<br />
124:while(true)<br />
125:buff=conn_.Recv(256, 5000)<br />
126:if(buff.length() == 0)<br />
127:break<br />
128:end<br />
129:recv = recv + buff<br />
130:end<br />
131:return @returnParamArray<br />
132:end<br />
133:#### 350 ####################################################################<br />
134:def cmd_350(cmd=nil)<br />
135:@returnParamArray.clear<br />
136:conn_.Close()<br />
137:return @returnParamArray<br />
138:end<br />
139:#### START SETTERS ####################################################################<br />
140:def initialize()<br />
141:super<br />
142:@returnParamArray=Array.new<br />
143:end<br />
144:def data_set(value)<br />
145:@returnParamArray[19]=value<br />
146:end<br />
147:def format_set(value)<br />
148:@returnParamArray[20]=value<br />
149:end<br />
150:#### END SETTERS ####################################################################<br />
151:end</div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21934
IPC-1002
2009-12-31T03:15:14Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_95 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:fix_path=device_.devdata_[2];<br />
13:fix_path='/'+fix_path if(fix_path[0]!='/'[0]);<br />
14:<br />
15:s = "GET "+fix_path+" HTTP/1.0\r\n"<br />
16:s+= "Accept: */*\r\n"<br />
17:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
18:s+= "\r\n"<br />
19:<br />
20:conn_.Send(s)<br />
21:recv=""<br />
22:while(true)<br />
23: buff=conn_.Recv(16384, 5000)<br />
24: if(buff.length() == 0)<br />
25: break<br />
26: end<br />
27: recv = recv + buff<br />
28:end<br />
29:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
30: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
31: imageFile=File.new(fileName+".jpg",'w')<br />
32: imageFile.print $1<br />
33: imageFile.close()<br />
34: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
35: size=File.stat(fileName+".png").size <br />
36: imageFile=File.new(fileName+".png",'r')<br />
37: img = imageFile.read(size);<br />
38: imageFile.close()<br />
39: data_set(img)<br />
40: format_set('png')<br />
41:end<br />
42:return @returnParamArray<br />
43:end<br />
44:#### 200 ####################################################################<br />
45:def cmd_200(cmd=nil)<br />
46:@returnParamArray.clear<br />
47:conn_.Reconnect()<br />
48:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
49:auth_a=Array.new;<br />
50:auth_s.each{|c| auth_a.push(c)}<br />
51:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up&lang=eng HTTP/1.0\r\n"<br />
52:s+= "Accept: */*\r\n"<br />
53:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
54:s+= "\r\n"<br />
55:<br />
56:conn_.Send(s)<br />
57:recv=""<br />
58:while(true)<br />
59:buff=conn_.Recv(256, 5000)<br />
60:if(buff.length() == 0)<br />
61:break<br />
62:end<br />
63:recv = recv + buff<br />
64:end<br />
65:return @returnParamArray<br />
66:end<br />
67:#### 201 ####################################################################<br />
68:def cmd_201(cmd=nil)<br />
69:@returnParamArray.clear<br />
70:conn_.Reconnect()<br />
71:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
72:auth_a=Array.new;<br />
73:auth_s.each{|c| auth_a.push(c)}<br />
74:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down&lang=eng HTTP/1.0\r\n"<br />
75:s+= "Accept: */*\r\n"<br />
76:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
77:s+= "\r\n"<br />
78:<br />
79:conn_.Send(s)<br />
80:recv=""<br />
81:while(true)<br />
82:buff=conn_.Recv(256, 5000)<br />
83:if(buff.length() == 0)<br />
84:break<br />
85:end<br />
86:recv = recv + buff<br />
87:end<br />
88:return @returnParamArray<br />
89:end<br />
90:#### 202 ####################################################################<br />
91:def cmd_202(cmd=nil)<br />
92:@returnParamArray.clear<br />
93:conn_.Reconnect()<br />
94:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
95:auth_a=Array.new;<br />
96:auth_s.each{|c| auth_a.push(c)}<br />
97:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left&lang=eng HTTP/1.0\r\n"<br />
98:s+= "Accept: */*\r\n"<br />
99:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
100:s+= "\r\n"<br />
101:<br />
102:conn_.Send(s)<br />
103:recv=""<br />
104:while(true)<br />
105:buff=conn_.Recv(256, 5000)<br />
106:if(buff.length() == 0)<br />
107:break<br />
108:end<br />
109:recv = recv + buff<br />
110:end<br />
111:return @returnParamArray<br />
112:end<br />
113:#### 203 ####################################################################<br />
114:def cmd_203(cmd=nil)<br />
115:@returnParamArray.clear<br />
116:conn_.Reconnect()<br />
117:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
118:auth_a=Array.new;<br />
119:auth_s.each{|c| auth_a.push(c)}<br />
120:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right&lang=eng HTTP/1.0\r\n"<br />
121:s+= "Accept: */*\r\n"<br />
122:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
123:s+= "\r\n"<br />
124:<br />
125:conn_.Send(s)<br />
126:recv=""<br />
127:while(true)<br />
128: buff=conn_.Recv(256, 5000)<br />
129: if(buff.length() == 0)<br />
130: break<br />
131: end<br />
132: recv = recv + buff<br />
133:end<br />
134:return @returnParamArray<br />
135:end<br />
136:#### START SETTERS ####################################################################<br />
137:def initialize()<br />
138:super<br />
139:@returnParamArray=Array.new<br />
140:end<br />
141:def data_set(value)<br />
142:@returnParamArray[19]=value<br />
143:end<br />
144:def format_set(value)<br />
145:@returnParamArray[20]=value<br />
146:end<br />
147:#### END SETTERS ####################################################################<br />
148:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21933
IPC-1002
2009-12-31T01:02:11Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_95 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:fix_path=device_.devdata_[2];<br />
13:fix_path='/'+fix_path if(fix_path[0]!='/'[0]);<br />
14:<br />
15:s = "GET "+fix_path+" HTTP/1.0\r\n"<br />
16:s+= "Accept: */*\r\n"<br />
17:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
18:s+= "\r\n"<br />
19:<br />
20:conn_.Send(s)<br />
21:recv=""<br />
22:while(true)<br />
23: buff=conn_.Recv(16384, 5000)<br />
24: if(buff.length() == 0)<br />
25: break<br />
26: end<br />
27: recv = recv + buff<br />
28:end<br />
29:if (recv=~ /^HTTP\/.*Cache-control:\sno-cache\n.(.*)/m)<br />
30: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
31: imageFile=File.new(fileName+".jpg",'w')<br />
32: imageFile.print $1<br />
33: imageFile.close()<br />
34: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
35: size=File.stat(fileName+".png").size <br />
36: imageFile=File.new(fileName+".png",'r')<br />
37: img = imageFile.read(size);<br />
38: imageFile.close()<br />
39: data_set(img)<br />
40: format_set('png')<br />
41:end<br />
42:return @returnParamArray<br />
43:end<br />
44:#### 200 ####################################################################<br />
45:def cmd_200(cmd=nil)<br />
46:@returnParamArray.clear<br />
47:conn_.Reconnect()<br />
48:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
49:auth_a=Array.new;<br />
50:auth_s.each{|c| auth_a.push(c)}<br />
51:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_up&lang=eng HTTP/1.0\r\n"<br />
52:s+= "Accept: */*\r\n"<br />
53:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
54:s+= "\r\n"<br />
55:<br />
56:conn_.Send(s)<br />
57:recv=""<br />
58:while(true)<br />
59:buff=conn_.Recv(256, 5000)<br />
60:if(buff.length() == 0)<br />
61:break<br />
62:end<br />
63:recv = recv + buff<br />
64:end<br />
65:return @returnParamArray<br />
66:end<br />
67:#### 201 ####################################################################<br />
68:def cmd_201(cmd=nil)<br />
69:@returnParamArray.clear<br />
70:conn_.Reconnect()<br />
71:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
72:auth_a=Array.new;<br />
73:auth_s.each{|c| auth_a.push(c)}<br />
74:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_down&lang=eng HTTP/1.0\r\n"<br />
75:s+= "Accept: */*\r\n"<br />
76:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
77:s+= "\r\n"<br />
78:<br />
79:conn_.Send(s)<br />
80:recv=""<br />
81:while(true)<br />
82:buff=conn_.Recv(256, 5000)<br />
83:if(buff.length() == 0)<br />
84:break<br />
85:end<br />
86:recv = recv + buff<br />
87:end<br />
88:return @returnParamArray<br />
89:end<br />
90:#### 202 ####################################################################<br />
91:def cmd_202(cmd=nil)<br />
92:@returnParamArray.clear<br />
93:conn_.Reconnect()<br />
94:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
95:auth_a=Array.new;<br />
96:auth_s.each{|c| auth_a.push(c)}<br />
97:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_left&lang=eng HTTP/1.0\r\n"<br />
98:s+= "Accept: */*\r\n"<br />
99:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
100:s+= "\r\n"<br />
101:<br />
102:conn_.Send(s)<br />
103:recv=""<br />
104:while(true)<br />
105:buff=conn_.Recv(256, 5000)<br />
106:if(buff.length() == 0)<br />
107:break<br />
108:end<br />
109:recv = recv + buff<br />
110:end<br />
111:return @returnParamArray<br />
112:end<br />
113:#### 203 ####################################################################<br />
114:def cmd_203(cmd=nil)<br />
115:@returnParamArray.clear<br />
116:conn_.Reconnect()<br />
117:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
118:auth_a=Array.new;<br />
119:auth_s.each{|c| auth_a.push(c)}<br />
120:s = "GET /cgi-bin/action?action=cam_mv&diretion=cam_right&lang=eng HTTP/1.0\r\n"<br />
121:s+= "Accept: */*\r\n"<br />
122:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
123:s+= "\r\n"<br />
124:<br />
125:conn_.Send(s)<br />
126:recv=""<br />
127:while(true)<br />
128: buff=conn_.Recv(256, 5000)<br />
129: if(buff.length() == 0)<br />
130: break<br />
131: end<br />
132: recv = recv + buff<br />
133:end<br />
134:return @returnParamArray<br />
135:end<br />
136:#### START SETTERS ####################################################################<br />
137:def initialize()<br />
138:super<br />
139:@returnParamArray=Array.new<br />
140:end<br />
141:def data_set(value)<br />
142:@returnParamArray[19]=value<br />
143:end<br />
144:def format_set(value)<br />
145:@returnParamArray[20]=value<br />
146:end<br />
147:#### END SETTERS ####################################################################<br />
148:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21932
IPC-1002
2009-12-31T01:00:01Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_95 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:fix_path=device_.devdata_[2];<br />
13:fix_path='/'+fix_path if(fix_path[0]!='/'[0]);<br />
14:<br />
15:s = "GET "+fix_path+" HTTP/1.0\r\n"<br />
16:s+= "Accept: */*\r\n"<br />
17:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
18:s+= "\r\n"<br />
19:<br />
20:conn_.Send(s)<br />
21:recv=""<br />
22:while(true)<br />
23: buff=conn_.Recv(16384, 5000)<br />
24: if(buff.length() == 0)<br />
25: break<br />
26: end<br />
27: recv = recv + buff<br />
28:end<br />
29:if (recv=~ /^HTTP\/.*Cache-control:\sno-cache\n.(.*)/m)<br />
30: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
31: imageFile=File.new(fileName+".jpg",'w')<br />
32: imageFile.print $1<br />
33: imageFile.close()<br />
34: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
35: size=File.stat(fileName+".png").size <br />
36: imageFile=File.new(fileName+".png",'r')<br />
37: img = imageFile.read(size);<br />
38: imageFile.close()<br />
39: data_set(img)<br />
40: format_set('png')<br />
41:end<br />
42:return @returnParamArray<br />
43:end<br />
44:#### 200 ####################################################################<br />
45:def cmd_200(cmd=nil)<br />
46:@returnParamArray.clear<br />
47:conn_.Reconnect()<br />
48:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
49:auth_a=Array.new;<br />
50:auth_s.each{|c| auth_a.push(c)}<br />
51:s = "GET /cgi-bin/camctrl.cgi?move=up HTTP/1.0\r\n"<br />
52:s+= "Accept: */*\r\n"<br />
53:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
54:s+= "\r\n"<br />
55:<br />
56:conn_.Send(s)<br />
57:recv=""<br />
58:while(true)<br />
59:buff=conn_.Recv(256, 5000)<br />
60:if(buff.length() == 0)<br />
61:break<br />
62:end<br />
63:recv = recv + buff<br />
64:end<br />
65:return @returnParamArray<br />
66:end<br />
67:#### 201 ####################################################################<br />
68:def cmd_201(cmd=nil)<br />
69:@returnParamArray.clear<br />
70:conn_.Reconnect()<br />
71:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
72:auth_a=Array.new;<br />
73:auth_s.each{|c| auth_a.push(c)}<br />
74:s = "GET /cgi-bin/camctrl.cgi?move=down HTTP/1.0\r\n"<br />
75:s+= "Accept: */*\r\n"<br />
76:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
77:s+= "\r\n"<br />
78:<br />
79:conn_.Send(s)<br />
80:recv=""<br />
81:while(true)<br />
82:buff=conn_.Recv(256, 5000)<br />
83:if(buff.length() == 0)<br />
84:break<br />
85:end<br />
86:recv = recv + buff<br />
87:end<br />
88:return @returnParamArray<br />
89:end<br />
90:#### 202 ####################################################################<br />
91:def cmd_202(cmd=nil)<br />
92:@returnParamArray.clear<br />
93:conn_.Reconnect()<br />
94:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
95:auth_a=Array.new;<br />
96:auth_s.each{|c| auth_a.push(c)}<br />
97:s = "GET /cgi-bin/camctrl.cgi?move=left HTTP/1.0\r\n"<br />
98:s+= "Accept: */*\r\n"<br />
99:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
100:s+= "\r\n"<br />
101:<br />
102:conn_.Send(s)<br />
103:recv=""<br />
104:while(true)<br />
105:buff=conn_.Recv(256, 5000)<br />
106:if(buff.length() == 0)<br />
107:break<br />
108:end<br />
109:recv = recv + buff<br />
110:end<br />
111:return @returnParamArray<br />
112:end<br />
113:#### 203 ####################################################################<br />
114:def cmd_203(cmd=nil)<br />
115:@returnParamArray.clear<br />
116:conn_.Reconnect()<br />
117:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
118:auth_a=Array.new;<br />
119:auth_s.each{|c| auth_a.push(c)}<br />
120:s = "GET /cgi-bin/camctrl.cgi?move=right HTTP/1.0\r\n"<br />
121:s+= "Accept: */*\r\n"<br />
122:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
123:s+= "\r\n"<br />
124:<br />
125:conn_.Send(s)<br />
126:recv=""<br />
127:while(true)<br />
128: buff=conn_.Recv(256, 5000)<br />
129: if(buff.length() == 0)<br />
130: break<br />
131: end<br />
132: recv = recv + buff<br />
133:end<br />
134:return @returnParamArray<br />
135:end<br />
136:#### START SETTERS ####################################################################<br />
137:def initialize()<br />
138:super<br />
139:@returnParamArray=Array.new<br />
140:end<br />
141:def data_set(value)<br />
142:@returnParamArray[19]=value<br />
143:end<br />
144:def format_set(value)<br />
145:@returnParamArray[20]=value<br />
146:end<br />
147:#### END SETTERS ####################################################################<br />
148:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=21931
IPC-1002
2009-12-31T00:58:14Z
<p>Slampt: /* Ruby Code */</p>
<hr />
<div>[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<pre><br />
RCODE:<br />
0:require 'Ruby_Generic_Serial_Device'<br />
1:class Command < Ruby_Generic_Serial_Device::RubyCommandWrapper<br />
2:end<br />
3:class Device_95 < Ruby_Generic_Serial_Device::RubySerialIOWrapper<br />
4:#### 84 ####################################################################<br />
5:def cmd_84(data, format, disable_aspect_lock, streamid, width, height, cmd=nil)<br />
6:@returnParamArray.clear<br />
7:conn_.Reconnect()<br />
8:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
9:auth_a=Array.new;<br />
10:auth_s.each{|c| auth_a.push(c)}<br />
11:<br />
12:fix_path=device_.devdata_[2];<br />
13:fix_path='/'+fix_path if(fix_path[0]!='/'[0]);<br />
14:<br />
15:s = "GET "+fix_path+" HTTP/1.0\r\n"<br />
16:s+= "Accept: */*\r\n"<br />
17:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
18:s+= "\r\n"<br />
19:<br />
20:conn_.Send(s)<br />
21:recv=""<br />
22:while(true)<br />
23: buff=conn_.Recv(16384, 5000)<br />
24: if(buff.length() == 0)<br />
25: break<br />
26: end<br />
27: recv = recv + buff<br />
28:end<br />
29:if (recv=~ /^HTTP[^\r\n]+200\sOK.+?\r\n\r\n(.+)$/m)<br />
30: fileName="/tmp/ip_camera_img"+device_.devid_.to_s<br />
31: imageFile=File.new(fileName+".jpg",'w')<br />
32: imageFile.print $1<br />
33: imageFile.close()<br />
34: system("/usr/bin/convert "+fileName+".jpg "+fileName+".png");<br />
35: size=File.stat(fileName+".png").size <br />
36: imageFile=File.new(fileName+".png",'r')<br />
37: img = imageFile.read(size);<br />
38: imageFile.close()<br />
39: data_set(img)<br />
40: format_set('png')<br />
41:end<br />
42:return @returnParamArray<br />
43:end<br />
44:#### 200 ####################################################################<br />
45:def cmd_200(cmd=nil)<br />
46:@returnParamArray.clear<br />
47:conn_.Reconnect()<br />
48:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
49:auth_a=Array.new;<br />
50:auth_s.each{|c| auth_a.push(c)}<br />
51:s = "GET /cgi-bin/camctrl.cgi?move=up HTTP/1.0\r\n"<br />
52:s+= "Accept: */*\r\n"<br />
53:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
54:s+= "\r\n"<br />
55:<br />
56:conn_.Send(s)<br />
57:recv=""<br />
58:while(true)<br />
59:buff=conn_.Recv(256, 5000)<br />
60:if(buff.length() == 0)<br />
61:break<br />
62:end<br />
63:recv = recv + buff<br />
64:end<br />
65:return @returnParamArray<br />
66:end<br />
67:#### 201 ####################################################################<br />
68:def cmd_201(cmd=nil)<br />
69:@returnParamArray.clear<br />
70:conn_.Reconnect()<br />
71:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
72:auth_a=Array.new;<br />
73:auth_s.each{|c| auth_a.push(c)}<br />
74:s = "GET /cgi-bin/camctrl.cgi?move=down HTTP/1.0\r\n"<br />
75:s+= "Accept: */*\r\n"<br />
76:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
77:s+= "\r\n"<br />
78:<br />
79:conn_.Send(s)<br />
80:recv=""<br />
81:while(true)<br />
82:buff=conn_.Recv(256, 5000)<br />
83:if(buff.length() == 0)<br />
84:break<br />
85:end<br />
86:recv = recv + buff<br />
87:end<br />
88:return @returnParamArray<br />
89:end<br />
90:#### 202 ####################################################################<br />
91:def cmd_202(cmd=nil)<br />
92:@returnParamArray.clear<br />
93:conn_.Reconnect()<br />
94:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
95:auth_a=Array.new;<br />
96:auth_s.each{|c| auth_a.push(c)}<br />
97:s = "GET /cgi-bin/camctrl.cgi?move=left HTTP/1.0\r\n"<br />
98:s+= "Accept: */*\r\n"<br />
99:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
100:s+= "\r\n"<br />
101:<br />
102:conn_.Send(s)<br />
103:recv=""<br />
104:while(true)<br />
105:buff=conn_.Recv(256, 5000)<br />
106:if(buff.length() == 0)<br />
107:break<br />
108:end<br />
109:recv = recv + buff<br />
110:end<br />
111:return @returnParamArray<br />
112:end<br />
113:#### 203 ####################################################################<br />
114:def cmd_203(cmd=nil)<br />
115:@returnParamArray.clear<br />
116:conn_.Reconnect()<br />
117:auth_s=device_.devdata_[114]+":"+device_.devdata_[115]<br />
118:auth_a=Array.new;<br />
119:auth_s.each{|c| auth_a.push(c)}<br />
120:s = "GET /cgi-bin/camctrl.cgi?move=right HTTP/1.0\r\n"<br />
121:s+= "Accept: */*\r\n"<br />
122:s+= "Authorization: Basic "+auth_a.pack("m").chop+"\r\n"<br />
123:s+= "\r\n"<br />
124:<br />
125:conn_.Send(s)<br />
126:recv=""<br />
127:while(true)<br />
128: buff=conn_.Recv(256, 5000)<br />
129: if(buff.length() == 0)<br />
130: break<br />
131: end<br />
132: recv = recv + buff<br />
133:end<br />
134:return @returnParamArray<br />
135:end<br />
136:#### START SETTERS ####################################################################<br />
137:def initialize()<br />
138:super<br />
139:@returnParamArray=Array.new<br />
140:end<br />
141:def data_set(value)<br />
142:@returnParamArray[19]=value<br />
143:end<br />
144:def format_set(value)<br />
145:@returnParamArray[20]=value<br />
146:end<br />
147:#### END SETTERS ####################################################################<br />
148:end<br />
</pre></div>
Slampt
http://wiki.linuxmce.org/index.php?title=File:Ipc-1002.small.jpg&diff=20174
File:Ipc-1002.small.jpg
2009-08-10T03:08:16Z
<p>Slampt: DX IPC-1002 camera</p>
<hr />
<div>DX IPC-1002 camera</div>
Slampt
http://wiki.linuxmce.org/index.php?title=IPC-1002&diff=20173
IPC-1002
2009-08-10T03:07:47Z
<p>Slampt: New page: Category: Hardware Category: Cameras Category: IP Cameras Category: LinuxMCE_Devices right = Status = The IPC-1002 device template can be de...</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Cameras]]<br />
[[Category: IP Cameras]]<br />
[[Category: LinuxMCE_Devices]]<br />
<br />
[[Image:ipc-1002.small.jpg|right]]<br />
<br />
<br />
= Status =<br />
The IPC-1002 device template can be derived from the Panasonic IP Camera. <br />
A template for this Camera has been submitted (Plug and Play doesn't quiet work however).<br />
Pan and Tilt support.<br />
This camera is a cheap camera and can be found at http://www.dealextreme.com/details.dx/sku.14272<br />
<br />
= Features =<br />
* Browser based<br />
* PAN Range +/- 180°, TILT Range 120°<br />
* 10/100mbit LAN<br />
* LCD display the IP address /Network mask/gateway IP etc<br />
* 6 infrared LED, automatic operate in dark environment <br />
* 30fps max<br />
* External sensor & alarm interface<br />
* MPEG4 compression<br />
* UPnP, DynDNS<br />
<br />
More features can be found at the above link.<br />
<br />
= Ruby Code =<br />
<br />
Needs to be entered here.</div>
Slampt
http://wiki.linuxmce.org/index.php?title=Mirrors_710&diff=15409
Mirrors 710
2008-08-29T08:21:42Z
<p>Slampt: </p>
<hr />
<div>= LinuxMCE 0710 =<br />
'''Before installing, check out the [[Known Issues|Known issues]], and please read the [[Installation Guide]].''' Installing from DVD is the fastest. Installing from CD .iso images on your hard disk is second fastest (you will need to install Kubuntu first), and installing from burned CDs is slowest.<br />
<br />
'''''Warning: The DVD installation will wipe the entire disk of the machine -- all previous data will be permanently lost!''''' <br />
(Note: There is a new "keep settings" option which will preserve data in the home directory for most, '''''but not all''''', installations.)<br />
<br />
LinuxMCE 0710 was released on May 7th, 2008. This is also known as LinuxMCE 0710 RC2.<br />
<br />
====NOTES:====<br />
<br />
- To upgrade from a 0710 beta to 0710, you can use "LinuxMCE Install CDs for i386" or "LinuxMCE Install DVD for i386" with "keep settings" option. <br />
<br />
- To upgrade from 0704, you can use :<br />
a) "LinuxMCE Install CDs for i386 - 0710 RC2" or "LinuxMCE Install DVD for i386 - 0710 RC2" with "keep settings" option or<br />
b) the upgrade helper application from [http://www.linuxmce.com/upgrade/gutsy-upgrade-scripts_0.1.0-2_i386.deb gutsy-upgrade-scripts_0.1.0-2_i386.deb] and choose to install from web or from DVD (you must have the double layer DVD).<br />
<br />
==Download locations==<br />
<br />
To get the latest sources, use [[http://svn.linuxmce.com/pluto/trunk svn]].<br />
<br />
This wiki page is editable so users can add additional mirrors. If you would like to mirror LinuxMCE, please contact danielk@cuymedia.net. He will give you rsync access to the linuxmce.org servers so you can automatically download the releases ahead of time.<br />
<br />
{| border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse; border-color:#8eabd0; background:#e7edf5"<br />
|- style="background: lightsteelblue"<br />
|-<br />
!Official Torrents:<br />
|<br />
*[http://torrents.thepiratebay.org/4175308/LinuxMCE_Install_DVD_for_i386_-_0710_RC2.4175308.TPB.torrent LinuxMCE-DVD-i386-rc2.iso]<br />
*[http://torrents.thepiratebay.org/4175304/LinuxMCE_Install_Upgrade_DVD_for_i386_-_0710_RC2.4175304.TPB.torrent LinuxMCE-DVD-DL-i386-rc2.iso]<br />
*[http://torrents.thepiratebay.org/4175297/LinuxMCE_Install_CDs_for_i386_-_0710_RC2.4175297.TPB.torrent LinuxMCE-CD1-i386-rc2.iso LinuxMCE-CD2-i386-rc2.iso]<br />
*[http://torrents.thepiratebay.org/4175299/LinuxMCE_Install_DVD_for_AMD64_-_0710_RC2.4175299.TPB.torrent LinuxMCE-DVD-amd64-rc2]<br />
*[http://torrents.thepiratebay.org/4175295/LinuxMCE_Install_CDs_for_AMD64_-_0710_RC2.4175295.TPB.torrent LinuxMCE-CD1-amd64-rc2.iso LinuxMCE-CD2-amd64-rc2.iso]<br />
<br />
<br />
<br />
Please help us seed! Leave your torrent open for as long as possible after your download finishes.<br />
|-<br />
|-<br />
!Worldwide (CoBlitz):<br />
|<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-DVD-i386-rc2.iso 3.9G<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-DVD-DL-i386-rc2.iso 7.0G<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-CD1-i386-rc2.iso 681M<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-CD2-i386-rc2.iso 678M<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-DVD-amd64-rc2.iso 3.9G<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-DVD-DL-amd64-rc2.iso 7.1G<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-CD1-amd64-rc2.iso 692M<br />
*http://coblitz.codeen.org/linuxmce.iptp.org/710/LinuxMCE-CD2-amd64-rc2.iso 695M<br />
|-<br />
|-<br />
|-<br />
|-<br />
!Europe (full):<br />
|<br />
*http://linuxmce.iptp.org/<br />
*ftp://ftp.possy.de<br />
|-<br />
|-<br />
!Middle East (full):<br />
|<br />
<!-- *http://mirror.mirimar.net/linuxmce/ (CDs only so far for 710RC2) Ran out of space --><br />
|-<br />
|-<br />
!Australia (full):<br />
|<br />
*http://linuxmce.ihas.com.au/ (for NZ and AU only, others are heavily throttled)<br />
*http://mirror.waia.asn.au/pub/linuxmce/<br />
|-<br />
|-<br />
<br />
|-<br />
|-<br />
!Europe (partial):<br />
|<br />
<!-- *http://www.tsl.csd.uoc.gr/users/koutras/download/linuxmce/ (0704 release & beta only) --><br />
<br />
|-<br />
|-<br />
|-<br />
|-<br />
!USA (full):<br />
|<br />
|-<br />
|-<br />
!USA (partial):<br />
|<br />
*http://www.linuxmcecookbook.com/iso/i386 (latest i386 release CD's only)<br />
*http://mirrorlinux.net/distros/mce710rc2/ (latest release only)<br />
|-<br />
|}<br />
<br />
<br />
Please see the [http://www.linuxmce.org/news.php?id=25 release announcement] on the front page for the md5sums of the files. Since this wiki page is editable we can not keep the md5sums here without the risk of tampering.</div>
Slampt