Equipment/Webcams

From London Hackspace Wiki

The IP Secure300r webcam

The camera is one of these.

Warning

The java app on the main admin page of the camera tends to lockup firefox

Access

  • IP: 172.31.24.169
  • Host: netcam
  • Username: admin
  • Password: hackspace

Infrared led control

To toggle the ir leds:

wget netcam/goform/WebCam_MotoForm?MotoBut=Light --http-user=admin --http-password=hackspace

you will get a page returned as either:

webcam_logoIROff.htm (Meaning the leds are on)

or

webcam_logoIROn.htm (Meaning the leds are off)

How to get an image

  • Java a stream of width and size followed by JPEG.
  • M-JPEG returns a multipart/x-mixed-replace stream. However, the boundary provided is incorrect, which motion does not appreciate, so use:
  mkfifo campipe; nc -l -p 8011<campipe | nc netcam 80|sed -r 's/(boundary=)--sonixboundary/\1sonixboundry/'>campipe

And stream from there. On Babbage, the script netcamfix is started automatically from xinetd and does the same.

From outside the space

Currently http://hack.rs:8001 or http://babbage.hackspace.org.uk/ (if you have IPv6)

The Day So Far

EasyN IPCam

Model FS-618A-M136, ordered from Ebay (with a free NETWOKR CABLE).

IP: 172.31.24.122

For commands: /cmmd=%s, where %s is:

52 username=?
50 ? (disconnects)

3207???????? set DDNS IP
3206???????? set IP ?
3205???????? set DNS 2 (C0A80001)
3204???????? set DNS 1 (C0A80001)
3203???????? set subnet mask (FFFFFF00)
3202???????? set gateway (C0A80001)
3201???????? set IP (C0A80064)
320000 DHCP off
3200?? DHCP on

31?? ? (0-0xf) (v. slow if set high)

30?? causes it to sleep for a proportionate time

290405 tilt scan
290404 pan scan
290403 pan & tilt scan?
290402 also tilt scan?
290401 also pan scan?
290400 stop

2903?? also centre?
290301 centre

290004 tilt down
290003 tilt up
290002 pan left
290001 pan right

28 state info

26 ? (disconnects)
25 ? (returns a value)

2401 cold reboot?

2201 flip on
22?? flip off

2101 mirror on
21?? mirror off

(not a flag in state)
2005 gamma? high
2003 gamma? med
2001 gamma? low

Also increases quality by 0x10 until it's above 0x3a:
1F01 60Hz
1F?? 50Hz

1E01 outdoor on
1E?? outdoor off

1D01 night on
1D?? night off

1C02 reboot (reset cam software?)
1C01 warm reboot

1802 res high (640x480)
1801 res med (320x240)
1800 res low (160x120)

1701 ?
1700 ?

13?? qual
13E0 qual lowest (14kB for 640x480)
1389 qual v. low
1359 qual std
1339 qual v. high
1329 qual highest (60kB for 640x480)

12 qual higher by 0x10
11 qual std (0x59)
10 qual lower by 0x10


Known URLs

  • /
  • /viwx\..* (viwx.html)
  • /pant\..* (pant.html)
  • /image.* (image.jpg)
  • /cgi-bin.*
  • /cmmd

HTTP version is ignored for all except /.

/image and /cmmd return the following headers:

HTTP/1.1 200 OK
Content-Type: image/jpeg
Server: vid=smarteye      username=002agfq&userpwd=12764977          alarm=11111111 status=00000000 pksize=0900 uiv3.4
Cache-control: no-cache

State info

All values are big-endian:

0000 uint32_t "uiv2"
0004 uint8_t Major version (0x34 for version 34)
0005 uint8_t Minor version
0006 uint16_t Reserved/extra version?
0008 uint8_t[6] MAC address
000e uint16_t HTTP port (0x50)
0010 uint32_t IP address (0xc0a80064)
0010 uint32_t Default gateway address (0xc0a80001)
0018 uint32_t Subnet mask (0xffffff00)
001c uint32_t DNS 1 (0xc0a80001)
0020 uint32_t DNS 2
0024 uint32_t IP ?
0028 uint32_t IP of DDNS server
...
002f uint8_t ?
0x01-0x0f ? (310?)
0030 uint16_t Reserved?
0032 uint8_t Flags
0x40 mirror
0x80 flip
0033 uint8_t Compression level (0x00 for highest quality)
0034 uint8_t ?
0035 uint8_t Flags:
0x08 night
0x10 60Hz
0x20 outdoor
0x40 res 320x240
0x80 res 640x480
0036 uint8_t Flags:
0x01 ?
0x02 ?
0x80 DHCP
0037 uint8_t ?
0038 uint8_t[6] ?


UDP control

The state info is also returned from UDP broadcast of "uicam query\0" on port 10139.

The camera responds 520 bytes (512, assuming the first 8 bytes are separate), starting with "uiv2". The state info is followed by the DDNS update details: host, "\0\0", data to send (i.e. an HTTP request without the HTTP version).

You can change the settings by returning uisp (set params?) in place of uiv2. The webcam replies with oksp "OK", followed uibo "Booting". Only the uiv2 response populates the version field.


At boot:

0000000: 75 69 76 32 34 00 00 00 00 60 6e 51 66 43 00 50  uiv24....`nQfC.P
0000010: ac 1f 18 7a ac 1f 18 01 ff ff fe 00 ac 1f 18 01  ...z............
0000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 71 6e 01  .............qn.
0000030: 00 00 c8 59 36 89 83 00 00 00 00 00 00 00        ...Y6.........

Later:

0000000: 75 69 76 32 34 00 00 00 00 60 6e 51 66 43 00 50  uiv24....`nQfC.P
0000010: ac 1f 18 7a ac 1f 18 01 ff ff fe 00 ac 1f 18 01  ...z............
0000020: 00 00 00 00 00 00 00 00 3a 3d 26 b1 00 71 6e 01  ........:=&..qn.
0000030: 00 00 c8 4a 36 89 83 00 00 00 00 00 00 00        ...J6.........
0000000: 75 69 76 32 34 00 00 00 00 60 6e 51 66 43 00 50  uiv24....`nQfC.P
0000010: ac 1f 18 7a ac 1f 18 01 ff ff fe 00 ac 1f 18 01  ...z............
0000020: 00 00 00 00 00 00 00 00 3a 3d 26 b1 00 73 56 01  ........:=&..sV.
0000030: 00 00 c8 29 36 89 83 00 00 00 00 00 00 00        ...)6.........

After a reboot:

0000000: 75 69 76 32 34 00 00 00 00 60 6e 51 66 43 00 50  uiv24....`nQfC.P
0000010: ac 1f 18 7a ac 1f 18 01 ff ff fe 00 ac 1f 18 01  ...z............
0000020: 00 00 00 00 00 00 00 00 3a 3d 26 b1 00 73 d0 01  ........:=&..s..
0000030: 00 00 c8 39 36 89 83 00 00 00 00 00 00 00        ...96.........