Neo coolcam en Linux

La cámara IP Neo Coolcam de Cyam, es un dispositivo que se puede conectar a Internet por cable de red o inalambricamente para poder visualizar o grabar, además que se puede girar vertical u horizontalmente para una mejor visualización así como poder transmitir nuestra voz a su bocina integrada.
El problema de todo esto es que como muchos dispositivos, se olvidan de los usuarios de Linux.
Ésta cámara IP viene con un disco de instalación para poder manipular y configurar la cámara, el cual, no funciona con wine, por lo que aquí se mostrará como utilizar un gestor de cámaras web para Linux y Android, así el cómo configurarlo.
Para ello, ya se debe haber desempaquetado y conectada la cámara a nuestra red, la cual debe contar con Internet para poder visualizar el video desde un punto remoto.
Los puntos que en éste momento nos interesan son la entrada de cable de red (RJ45) ya que para configurarlo a señal inalmámbrica, se debe conectar antes por ethernet; la antena para la señal inalámbrica y el conector de corriente eléctrica.
Una vez que lo conectas a corriente y a tu red (puede ser a tu módem, router, hub, etc), la cámara debe ser visible via web. En el disco de instalación automáticamente la detecta y visualiza, pero solo funciona para windows. Por lo que los usuarios de Linux, debemos hacer todo a mano (como siempre). 
Para poder visualizar (sin grabar) con la cámara, primero debemos concoer que IP le asignó nuestro módem o router (Es una IP dinámica obtenida por DHCP), así que en Linux utilizamos nmap.
Si no lo tienes, instálalo
Para distribuciones basadas en Debian (como Mint o Ubuntu)
# apt-get install nmap
Para Arch
$ yaourt -S nmap
Después ejecutamos el comando que escanea nuestra red, así como los puertos que tiene abierto.
$ nmap -A -T4 192.168.1.0/24
Con esa orden se ejecuta un escaneo en toda nuestra red que va de 192.168.1.0 a 192.168.1.254. Esto siempre y cuando pertenezcas a dicha red local.
Va a tardar un poco, y de preferencia solo deja conectada tu pc y tu camara a la red para que sea mas fácil identificar el dispositivo.
Vamos a buscar el dispositivo que tenga el puerto 81 abierto.
Nmap scan report for CamaraIP.lan (192.168.1.84)
Host is up (0.019s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE    VERSION
23/tcp   open  telnet     BusyBox telnetd
81/tcp   open  http       GoAhead-Webs httpd
| http-auth: 
| HTTP/1.1 401 Unauthorized
|_  Digest stale=FALSE algorithm=MD5 nonce=ba5c2b393e1d63c2ad34b8d28ec54cb4 opaque=5ccc069c403ebaf9f0171e9517f40e41 qop=auth domain=:81 realm=GoAhead
|_http-methods: No Allow or Public header in OPTIONS response (status code 400)
|_http-title: Document Error: Unauthorized
8600/tcp open  tcpwrapped
En éste caso fue  192.168.1.84, por lo que si nos dirigimos al navegador (usa chrome ya que necesitaremos una herramienta que tiene), indicando también el puerto, podemos observar lo que transmite la cámara.
Al preguntarnos el usuario y contraseña:
Usuario: admin
Contraseña: 
Así es. No tiene contraseña.
Una vez que nos identificamos, podemos ver lo que transmite la cámara, pero no podemos configurarla, ni grabar lo que en ella se muestra. Nota: no cierres la ventana donde ves lo que transmite la cámara, lo vamos a necesitar mas adelante.
Para ello instalamos la aplicación zoneminder.
Si tenemos una distribución derivada de Debian, entonces podemos agregar a repositorio.
# add-apt-repository ppa:iconnor/zoneminder
# apt-get update
# apt-get install mysql-server
# apt-get install zoneminder
¿Por qué debemos instalar MySQL? Porque ZonMinder lo necesita, y si no lo tenemos, fallará la instalación.
Una vez que lo instalamos accedemos a través de la web a 
Agregamos un nuevo monitor
En tipo de origen, cambia de local a remoto. Local es para cámaras conectadas directamente, como la webcam, y remoto es para las cámaras IP.
En la pestaña origen tendrás que indicar la dirección, el pueto y los accesos.
Nombre del servidor remoto, será la dirección de tu cámara IP, en el caso de éste ejemplo es
192.168.1.84
Puerto servidor remoto será 81
Enlace servidor remoto… aquí es el gran problema, ya que debes indicar el archivo y los parámetros que la cámara usar para poder iniciar sesión y mostrar lo que transmite…dato que no encontré ni en su página web, ni en foros, ni en algún lugar. 
Para esa tarea usamos Google Chrome. En la página donde visualizaste lo que transmite la página, ve al menú de chrome y de ahí a herramientas y finalmente a consola de javascript.
Una vez que aparezca un panel inferior, dirígete a la pestaña network y podrás ver el archivo y los paŕametros necesarios para iniciar sesión.
Podrás ver que el archivo que se ejecuta es snapshot, puedes usar dicho archivo y quedaría la ruta mas o menos así.
snapshot.cgi?user=admin&pwd=&1390001353140.8824588716961443
Ahora bien, éste archivo es para tomar instantáneas, lo que hace que las imágenes tengan un peso considerable. En mis pruebas, cada hora generaba 1Gb de imágenes, por lo que se recomienda utilizar en lugar de snapshot.cgi, videostream.cgi, pues el peso es mucho más reducido.

Otro dato a tener en cuenta es que en éste ejemplo se está utilizando el usuario admin, y la contraseña en blanco. Si más adelante cambias el usuario o la clave, debes indicarlos en la ruta a colocar en zoneminder. De lo contrario no podrás acceder a la cámara.

De regreso a la configuración de zoneminder, coloca eso en enlace servidor remoto y presiona el botón de guardar.
Ya se habrá agregado un nuevo monitor.
Si damos click en el nombre del monitor, en éste ejemplo monitor-1, entonces podemos visualizar loque transmite la cámara ip.
Bien, con ello, podemos tener ilimitadas cámaras de vigilancia… pero que pasa si queremos grabar la transmición, o si queremos que solo grabe cuando detecte movimiento. Zoneminder nos da la opción.
En la lista de cámaras agregadas, da click en la entrada de la función, que en éste caso es monitor. Te desplegará la lista de posibles funciones de la cámara. (Dicho paso también puede modificarse al agregar o editar una cámara.
Las opciones son:
None: Cámara deshabilitada
Monitor: Sólo se visualiza lo que se transmite.
Modect: Solo se activa la función de grabado, cuando detecta movimiento.
Record: Graba todo lo que se transmite.
Mocord: Graba todo lo que se transmite e informa las alertas de movimiento.
Nodect: Se deshabilita la detección de movimiento interna pero puede lanzarse el evento cuando se le da la orden vía externa.
En éste ejemplo, se camabiará a la modalidad record, y dejamos pasar un rato, y de nuevo accedemos a lo que transmite la cámara, dando click en el nombre de la misma.
Y podemos dar cuenta que en la parte inferior comienza a registrar las grabaciones, las cuales podemos reproducir en el momento que queramos, así como exportarlas a formato video.
Pero ¿Que pasa si queremos cambiar el usuario, la contraseña y conectar la cámara vía WiFi? Pues con el disco de instalación en windows, y si eres una persona que no tiene windows… ¡bien! Entonces desde su aplicación oficial para Android.
Para agregar la cámara, nos preguntará la DID, la cual si no tenemos el disco de instalación para windows, no lo sabremos, pero tenemos la opción de buscarla por la red al darle click a buscar, nos regresará la cámara junto con su DID.
Podemos ver la lista de cámaras agregadas:
Y desde cada una de ellas podemos configurar los accesos, así cómo que se conecte por WiFi
Notas importantes:
En mis pruebas, una vez que lo conectaba a la inalámbrica, me dejaba de dar señal la cámara. Hasta que di cuenta que en mi router, el algoritmo de cifrado era TKIP (WPA-PSK + WPA2-PSK), lo cambié a AES (WPA-PSK) y ya no dió problemas.

SI lo conectaste con cable de red y puedes acceder a la cámara via web por DDNS, y después conectas a inalámbrica y ya no puedes acceder, entonces tienes que configurar la IP de la cámara igual a la que te dio con cable de red. Para ello si necesitarás instalar la aplicación cliente de CIAM y desde opciones indicar que no vas a usar DHCP, sino una IP fija, y colocas la misma que te dio con cable de red y se corrige el problema.

Author: angelinux

Desarrollador de páginas web desde el año 2000 y con experiencia en programación de sistemas para empresas desde el 2008; cofundador de CONSoluciones; autor del blog de software libre “Angelinux-slack”; docente en maestría en UPAV y fundador de la distribución Linux Falco que está en desarrollo para la Universidad Veracruzana.
Además, ponente, organizador de congreso, laborista social, impartidor de cursos de programación y servidores Linux, webmaster, y ex invitado en programa de televisión.

Deja un comentario