mercoledì 8 gennaio 2020

La Planet ICA-100C-v2 Internet Camera torna a ruggire dopo la pioggia

Superpotente IP-cam 640x480 "per interni" con interfaccia ethernet, lanciata sul mercato nel 2003. Questa ha avuto l'ultimo aggiornamento firmare datato novembre 2005: presumibilmente a bordo c'è Linux 2.4 a meno che i progettisti non amassero il rischio di provare il nuovissimo 2.6. Le basta un alimentatore 5V 2A e una connessione ethernet. Ne esistono versioni anche col microfono (questa non ha l'audio) e col wifi.

Notare in alto al centro l'header JP1 con 5 pin,
probabilmente è la serial console

Durante le ultime settimane di dicembre aveva subìto un po' di pioggia e umidità (e una goccia proprio sulla lente). Si accendeva ma il LED "LNK" lampeggiava continuamente corto-corto-lungo-lungo, probabilmente una segnalazione di errore, anche dopo aver premuto il tasto di reset (mezzo secondo per un reboot, almeno tre secondi per ripristinare le impostazioni di fabbrica) L'ho lasciata asciugare per una settimana, dopodiché sono riuscito a resettarla alle impostazioni di fabbrica (finalmente il ping 192.168.0.20 rispondeva) e finalmente è ripartita.

System Administration menu

La funzione View Video ovviamente non funziona né con Java (vorrebbe caricare un applet xplug.class ma è da parecchi anni che i browser hanno dismesso il tag <applet>) né con ActiveX (vorrebbe caricare un <object> xplugLite.cab che ovviamente è supportato solo da Internet Explorer). Prevede anche l'invio automatico in ftp o via email, ma in entrambi i casi "in chiaro", senza cifratura; può essere utile solo se c'è un server ftp su LAN.

Il firmware ha almeno un bug: la funzione LED On/Off/Dummy non cambia niente: il LED blu (PWR) è sempre acceso, il led LNK lampeggia secondo il traffico dati sulla LAN.

Dopo aver hackerizzato reversenginerizzato il protocollo ho scoperto che per estrarre il fotogramma più recente ("dimmi cosa vedi") è sufficiente fare:
curl -O 192.168.0.20/IMAGE.JPG
Per visualizzare lo stream continuo basta mplayer con un po' di parametri per abilitare gli screenshot manuali, auto-proclamarsi autorizzati, ecc., così mi sono creato un alias:

alias cam='mplayer -fs -demuxer lavf -vf screenshot -cache 128 -http-header-fields '\''User-agent: user'\'','\''Authorization: Basic '\'' http://192.168.0.20/MJPEG.CGI'
Alla massima risoluzione (640x480) lo stream è variabile dai 300 ai 650 kilobytes al secondo.

Nessun commento:

Posta un commento