loading
 
Trendnet TV-IP110W camera and Roborealm woes
Jes1510 from United States  [1 posts]
9 years
I am trying to use roborealm with a Trendnet TV-IP110W Wifi camera.  Unfortunately I am unable to access the image from the camera.  I have tried to use the HTTP Read module and it was a no go.  The camera hosts a page that presents the video in what appears to be ActiveX which I know exactly nothing about.  

Here is the source from the page:
[code]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Wireless Network Camera</title>
<link href="web.css" rel="stylesheet" type="text/css">
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>

<script language="JavaScript" type="text/javascript" src="itemname.js"></script>
<script language="JavaScript" type="text/javascript" src="msg.js"></script>
<script language="JavaScript" type="text/javascript" src="cookies.js"></script>
<script language="JavaScript" type="text/javascript" src="warn.js"></script>
<script language="JavaScript" type="text/javascript" src="date.js"></script>
<script language="JavaScript" type="text/JavaScript">
var profile=1;
var group="admin";
var nightmode = "";
var msgRecOK = new Array(item_name[_STOP_RECORD],item_name[_MANUAL_RECORD]);
var msgAlmOK = new Array(item_name[_ALARM_SENT],item_name[_MANUAL_ALARM]);
var msgSnpOK = new Array(item_name[_SAVE_OK],item_name[_SNAPSHOT]);
var msgSnpFail = new Array(item_name[_SAVE_FAIL],item_name[_SNAPSHOT]);
var msgTlkOK = new Array(item_name[_TALKING],item_name[_TALK]);
var msgLisOK = new Array(item_name[_LISTENING],item_name[_LISTEN]);
var msgtrigOK = new Array(item_name[_TRIGGER_OUT],item_name[_TRIGGER_OUT]);

function time_go(){
    time_init(document.getElementById("datebar").innerHTML);
    start_date_show(document.getElementById("datebar"));

}

function BrowserCheck()
{
        if( window.opera)
        {
            if( document.getElementById)
            {
                return false;
            }
        }
        if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER' && navigator.appVersion.indexOf("MSIE") > 0)
        {
            if (parseFloat(navigator.appVersion.substr(navigator.appVersion.indexOf("MSIE")+4)) >= 6.0)
            {
                return true;
            }
        }
            return false;
}

function start(){
    document.getElementById("location").appendChild(document.createTextNode(item_name[_LOCATION]));
    document.getElementById("manualrecord").appendChild(document.createTextNode(item_name[_MANUAL_RECORD]));
    document.getElementById("snapshot").appendChild(document.createTextNode(item_name[_SNAPSHOT]));
    document.getElementById("browse").appendChild(document.createTextNode(item_name[_BROWSE]));
    document.getElementById("talk").appendChild(document.createTextNode(item_name[_TALK]));
    document.getElementById("listen").appendChild(document.createTextNode(item_name[_LISTEN]));
    document.getElementById("manualalarm").appendChild(document.createTextNode(item_name[_MANUAL_ALARM]));
    document.getElementById("nightmode").appendChild(document.createTextNode(item_name[_NIGHTMODE]));

    if(BrowserCheck()){
        if(document.getElementById("ucx")==null)
                return;

        if(group != "guest")
        {
            document.getElementById("ctltb").style.display = "";
            avGetCookie();
            document.getElementById("nighttd").style.display = "none";
            document.getElementById("nightspc").style.display = "none";        
            
        }
        else
                setAFlag(true);
            
            
        document.ucx.RemoteHost = "192.168.1.10";
        document.ucx.RemotePort = 80;
        document.ucx.AccountCode = "YWRtaW46YWRtaW4=";
        
        pathGetCookie();
    
        avStart();
        scaleColor(1);
        
        checkIntv = window.setInterval("checkSize()",2000);
    }else{
        document.getElementById("formattb").style.display = "none";
        document.getElementById("zoomtb").style.display = "none";
    }
    
}

function checkSize(){
    if(document.ucx.fChgImageSize == 1)
    {
    
        document.ucx.fChgImageSize=0;
        avStop();
        document.ucx.height = document.ucx.ImgHeight;
        document.ucx.width = document.ucx.ImgWidth;
        avStart();
    }
}

function changeMode(val){
    window.location = "view.cgi?profile=" +val
    
}
function avGetCookie(){
    if(getCookie("Video") != null)
        v = (getCookie("Video")=="true")?1:0;
    if(getCookie("Audio") != null)        
        a = (getCookie("Audio")=="true")?1:0;

}
function getVFlag(){

    return true;
}
var aflag = false;
function getAFlag(){
    return aflag;
}
function setAFlag(d){
    aflag = d;
}
function avStop(){
    videoEnable(false);
    audioEnable(false);    
}
function avStart(){
    videoEnable(getVFlag());
    audioEnable(getAFlag());
}
function videoEnable(flag){
    if(flag)
        document.ucx.PlayVideo(profile);
    else
        document.ucx.StopVideo();
    setCookieYears("Video",flag,null,null,null,null);

}
// -3 : disabled
// -2 : OS sound not-available
// -1 : server occupied
// 0 : success
function audioEnable(flag){
    var ret = 0;
    if(flag)
        ret = document.ucx.PlayAudio();
    else
        document.ucx.StopAudio();
    if(ret ==  0)
        setCookieYears("Audio",flag,null,null,null,null);    
        
    return ret;
    
}

///////////////////////////////////////////////////////////////////////////////

var filepath = "";
var flagRecording = false;
var cntRecording = 0;
function pathGetCookie(){
     var tpath=getCookie("CapPath");
     if((tpath!=null)&&(tpath!="null"))
     {
            filepath = tpath;
     }
     else
     {
        filepath = "";
     }
}


function addTrailSlash(s){
        if(s.substring(s.length-1,s.length) != "\\")
                s=s+"\\";
        return s;
}



//////////////////////////////////////////////////////////
function scale(f,obj){

    if((document.ucx.ImgWidth * f) >640)
        document.ucx.width = 640;
    else
        document.ucx.width = document.ucx.ImgWidth * f    
    if((document.ucx.ImgHeight * f) >480)        
        document.ucx.height = 480;
    else
        document.ucx.height = document.ucx.ImgHeight * f
        
            document.ucx.SetImgScale(f);
    scaleColor(f);
}
function scaleColor(f){
    var i;
    for(i=1;i<=3;i++)
    {
        if(f==i)
            document.getElementById("scale"+i).className="texthighlight";
        else
            document.getElementById("scale"+i).className="textori";
    }
}
function change(idx){
    window.location = "view.cgi?profile=" + idx;
}

var obja;
var intcss;
var blinkflag = false;
var blinkobj;
var blinktxt;
function blinkCSS(obj){    
    if(blinkflag)
        obj.className = "t12 style8";
    else
        obj.className = "t12 style11";
    blinkflag = !blinkflag;
}

function Timer(pobj,pmsec){
    this.msec  = pmsec;
    this.obj    = pobj;
    this.bflag = false;
    this.int_timer = null;
    
    
    
    this.Blinking = function(){
        if(this.bflag)
            this.obj.className = "t12 style8";
        else
            this.obj.className = "t12 style11";
            this.bflag = !(this.bflag);        
    }
    
    this.Start = function(){
        if(this.int_timer == null)
            this.int_timer  = window.setInterval(this.Blinking,this.msec);
    }
    this.Stop = function(){
        if(this.int_timer != null)
            window.clearInterval(this.int_timer);
    }
}

function swapCSS(flag,obj,texton,textoff){
    if(flag)
    {    
        obja = obj.firstChild;
        obj.removeChild(obja);
        obj.innerHTML = texton
        obj.className = "t12 ButtonBig";
    }
    else
    {    
        obj.className =  "bglblue";
        obja = document.createElement("a");
        obja.className = "a";
        //obja.innerText = textoff;
        obja.appendChild(document.createTextNode(textoff));
        obja.href = "javascript:;";
        obj.innerHTML = "";
        obj.appendChild(obja);
    }
}

function listen(obj){
        setAFlag(!aflag);
        var ret = audioEnable(aflag);
        
        if(ret == -1)
            alert(popup_msg[popup_msg_5]);
        else if (ret == -2)
            alert(popup_msg[popup_msg_6]);
        else if (ret == -3)    
            alert(popup_msg[popup_msg_7])
        else if (ret == -4)    
            alert(popup_msg[popup_msg_3]);
        else if (ret < 0)
            alert(popup_msg[popup_msg_4]);
        //restoring the flag
        if(ret<0)
            setAFlag(!aflag);
        swapCSS(aflag,obj,msgLisOK[0],msgLisOK[1]);
}
var tflag = false;
function setTFlag(d){
    tflag = d;
}


// -3 : disabled
// -2 : os mic not-available
// -1 : server occupied
// 0 : success
function talkEnable(f){
    var ret = 0;
    if(f)
        ret = document.ucx.TalkOn();
    else
        document.ucx.TalkOff();
    return ret;
}

function talk(obj){

    setTFlag(!tflag);
    var ret  = talkEnable(tflag);

    if(ret == -1)
        alert(popup_msg[popup_msg_0]);
    else if (ret == -2)
        alert(popup_msg[popup_msg_1]);
    else if (ret == -3)
        alert(popup_msg[popup_msg_2]);
    else if (ret == -4)
        alert(popup_msg[popup_msg_3]);
    else if (ret < 0)
        alert(popup_msg[popup_msg_4]);
        
    //restoring the flag
    if(ret < 0)
        setTFlag(!tflag);
    swapCSS(tflag,obj,msgTlkOK[0],msgTlkOK[1]);    
}

function browse(){
   if((t =  document.ucx.OpenFolder(filepath))!= "")  
        {       filepath =      addTrailSlash(t);
                    
                        setCookieYears("CapPath",filepath);
        }

}


function snap(obj){
        if(filepath == "")
                {       browse();
                        if(filepath == "")
                        {
                        return;
                        }
                }
                document.ucx.SnapFileName= filepath
                ret = document.ucx.SnapVideo();
                if(ret!=0)
                {
                        swapCSS(true,obj,msgSnpFail[0],msgSnpFail[1]);
                }
                else
                {
                    swapCSS(true,obj,msgSnpOK[0],msgSnpOK[1]);
                    
                }
                window.setTimeout("clearMsg('snp','"+ msgSnpOK[0] +"','"+ msgSnpOK[1] + "')",500);

                        
}
function clearMsg(tdid,mesgon,mesgoff){
       var obj = document.getElementById(tdid);
       swapCSS(false,obj,mesgon,mesgoff);
    
}




function record(obj){

        if(flagRecording == false)
        {

                if(recordStart()!=false)
                {
                            flagRecording = true;                            
                            swapCSS(flagRecording,obj,msgRecOK[0],msgRecOK[1]);
                }
                    
        }
        else
        {
                recordStop();
                flagRecording = false;
                swapCSS(flagRecording,obj,msgRecOK[0],msgRecOK[1]);
        }
}

var wholepath="";
function recordStart(){

                if(filepath == "")
                {       browse();
                        if(filepath == "")
                        {

                        return false;
                        }
                }
                        fileDate=new Date();
                        filename = ""
                        cntRecording++;
                        if(cntRecording>30000)
                                cntRecording=1;
                        filename = filename +(fileDate.getFullYear())+ addZero((fileDate.getMonth()+ 1 ))+addZero(fileDate.getDate())+"_"+addZero(fileDate.getHours())+ addZero(fileDate.getMinutes()) + addZero(fileDate.getSeconds())+ "_" + cntRecording + ".avi"

                        wholepath = filepath+filename;
                        document.ucx.AVIRecStart(wholepath);

                rint = window.setInterval("getRecordState()",1000);

}
function recordStop(){

                document.ucx.AVIRecEnd()
                window.clearInterval(rint);

}
// -1: no space
// -2: resolution or framerate change
// -3: source format changed
// -4: file access error
function getRecordState(){
        var ret;

        if((ret =document.ucx.AVIRecStatus )!=0)
        {

                recordStop();
                flagRecording = false;
                swapCSS(flagRecording,document.getElementById("recordtd"),msgRecOK[0],msgRecOK[1]);
                document.ucx.AVIRecStatus= 0;
                if(ret == -1)
                     alert(popup_msg[popup_msg_59]);
                else if(ret == -2)
                    alert(popup_msg[popup_msg_60])
                else if(ret == -3)
                    alert(popup_msg[popup_msg_61]);
                else if(ret == -4)
                    alert(popup_msg[popup_msg_62]+" (" + wholepath+")" );
        }
}

function alarmtrig(tdobj){
    var obj = document.formalarm;
    obj.alarm.value = 1;
    obj.target = "hid";
    obj.submit();
    swapCSS(true,tdobj,msgAlmOK[0],msgAlmOK[1]);
    window.setTimeout("clearMsg('altd','" +msgAlmOK[0]+"','"+msgAlmOK[1]+"')",500);
    
    }

</script>
</head>
<body onLoad="time_go();start();">
<table width="800" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td width="21"><img src="images/c1_tl.gif" width="21"></td>
        <td width="758" background="images/bg1_t.gif"><img src="images/top_1.gif" width="390"></td>
        <td width="21"><img src="images/c1_tr.gif" width="21"></td>
    </tr>
    <tr>
        <td valign="top" background="images/bg1_l.gif"><img src="images/top_2.gif" width="21" height="69"></td>
        <td background="images/bg.gif">
            <table width="100%" height="70" border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="13%" valign="top"><img src="images/logo.gif" width="300" height="69"></td>
                    <td width="87%" align="right" valign="top">
                        <table width="100%" border="0" cellpadding="4" cellspacing="0">
                            <tr>
                                <td align="right" valign="top"><img src="images/description_TV-IP110W.gif"></td>
                            </tr>
                            <tr>
                                <td align="right" valign="top"><font color="#FFFFFF"><span id="location" name="location"></span>: <span class="t12">
                                On a robot    </span></font><font color="#FFFFFF"><span class="style1">
                                <span id="datebar">2007/01/01 01:34:10</span>
                                  </span>  </font>
</td>
                            </tr>
                        </table>
                    </td>
                </tr>
              </table>
              <table width="100%" border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td width="145" valign="top" align="center">
                    <table width="21%" border="0" cellpadding="0" cellspacing="0">
                        <tr>
                            <td>
                                <table border="0" cellpadding="0" cellspacing="0">
                                    <tr>
                                      <td><img src="images/but_top.gif" width="144" height="3"></td>
                                    </tr>
                                    <tr>
                                      <td><table width="100%" border="0" cellpadding="3" cellspacing="0" class="submenubg">
                                          <tr>
                                            <td width="100%" align="right"><img src="images/spacer.gif" width="10" height="5"></td>
                                          </tr>
                                          <tr>
                                            <td align="center"><a href="../."><img src="images/but_liveview_1.gif" name="b_liveview" width="122" height="25" border="0" id="Image1" onMouseOver="MM_swapImage('b_liveview','','images/but_liveview_1.gif',1)" onMouseOut="MM_swapImgRestore()"></a></td>
                                          </tr>
                                          <tr>
                                            <td align="center"><a href="../admin/setup.cgi?page=system"><img src="images/but_setup_0.gif" name="b_setup" width="122" height="25" border="0" id="Image2" onMouseOver="MM_swapImage('b_setup','','images/but_setup_1.gif',1)" onMouseOut="MM_swapImgRestore()"></a></td>
                                          </tr>
                                          <tr>
                                            <td align="right"><img src="images/spacer.gif" width="10" height="5"></td>
                                          </tr>
                                        </table></td>
                                    </tr>
                                    <tr>
                                      <td><img src="images/but_bottom.gif" width="144" height="3"></td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                        <tr>
                            <td width="100%"><img src="images/spacer.gif" width="8" height="8"></td>
                        </tr>
                    </table>
                    <table width="100%" border="0" cellpadding="4" cellspacing="2" id="ctltb" style="display:none">
                        <tr>
                          <td width="100%"  class="bglblue" onClick="record(this);" align="center" id="recordtd"><a href="javascript:;" class="a"><span id="manualrecord" name="manualrecord"></span></a></td>
                        </tr>
                        <tr>
                          <td class="bglblue" onClick="snap(this);" align="center" id="snp"><a href="javascript:;" class="a"><span id="snapshot" name="snapshot"></span></a></td>
                        </tr>
                        <tr>
                          <td class="bglblue" onClick="browse(this);" align="center" id="brtd"><a href="javascript:;" class="a"><span id="browse" name="browse"></span></a></td>
                        </tr>
                        <tr style="display:none">
                          <td class="bglblue" onClick="talk(this);" align="center" id="tktd"><a href="javascript:;" class="a" id="tlk"><span id="talk" name="talk"></span></a></td>
                        </tr>                
                        <tr style="display:none">
                          <td class="bglblue" onClick="listen(this);" align="center" id="lstd"><a href="javascript:;" class="a" id="lis"><span id="listen" name="listen"></span></a></td>
                        </tr>
                        <tr style=" display:none">
                          <td class="bglblue" onClick="alarmtrig(this);" align="center" id="altd"><a href="javascript:;" class="a" id="alm"><span id="manualalarm" name="manualalarm"></span></a></td>
                        </tr>
                    </table>
                    </td>
                    <td width="10"><img src="images/spacer.gif" width="10" height="15"></td>
                    <td valign="top">
                        <form>
                          <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tabBigTitle">
                            <tr>
                              <td valign="top"><table width="98%" border="0" cellpadding="3" cellspacing="1" class="box_tn">
                                <tr>
                                  <td class="bggrey"><div align="right"></div>
                                    <div> <br />
                                    </div>
                                    <div align="center">
                                      <table width="146" border="0" cellpadding="0" cellspacing="2" bgcolor="#4b688b" id="zoomtb">
                                        <tr align="center" >
                                          <td background="images/bg_but.gif" class="t12"><a id="scale1" class="textori" href="javascript:scale(1.0);">1x</a></td>
                                          <td background="images/bg_but.gif" class="t12"><a id="scale2" class="textori" href="javascript:scale(2.0);">2x</a></td>
                                          <td background="images/bg_but.gif" class="t12"><a id="scale3" class="textori" href="javascript:scale(3.0);">3x</a></td>
                                          <td width="70"  bgcolor="4b688b" class="t12" id="nightspc"  style="display:none">  </td>
                                          <td width="70" background="images/bg_but.gif" class="t12" id="nighttd" style="display:none"><a href="" id="nighta" class="textori" ><span id="nightmode" name="nightmode"></span></a></td>
                                        </tr>
                                      </table>
                                    </div></td>
                                </tr>
                              </table></td>
                            </tr>
                          </table>
                        </form>
                        <br><div align="center">
                        <object classid="CLSID:707ABFC2-1D27-4a10-A6E4-6BE6BDF9FB11" codebase="http://192.168.1.10:80/UltraMJCamX.cab#version=1,1,51,0" width="640" height="480" align="middle" id="ucx" title="ActiveX Streaming Client">
                        <br/>
                        ActiveX is not installed. This function is only avaiable in Windows Internet Explorer.
                        </object>
                        </div>
                    </td>
                </tr>
            </table>
        </td>
  <td width="21" background="images/bg1_r.gif"></td>
  </tr>
  <tr>
    <td><img src="images/c1_bl.gif" width="21"></td>
    <td align="right" background="images/bg1_b.gif"><img src="images/copyright.gif" width="264"></td>
    <td><img src="images/c1_br.gif" width="21"></td>
  </tr>
</table>
<iframe name="hid" width="0" height="0" src="hidden.asp" frameborder="0"></iframe>
</body>
</html>
[\code]

I tried the trendnet camera setup under controls (for the TV-IP201W camera) and that didn't work either.  I'm an electronics guy and know next to nothing about web programming and ActiveX.  Does anyone have any ideas?

Thank ahead of time,
Jes1510
Anonymous 8 years
The latest version of roborealm supports this camera.  This issue is resolved.  
Billy from United States  [26 posts] 8 years
I have a TRENDnet TV-IP110W and, it's not working with the current version of RR. I'm using firmware v1.0.0.89 which is kinda new.  Also, the radio buttons on the RR module are strange, if you select IP110W, it doesn't de-select the IP-201 camera.. it selects them both??

Thanks, Billy
Anonymous 8 years
Billy,

We double checked that module against the Trendnet demos at

http://www.trendnet.com/demo/default.asp

and they seem to work (we did have to update the default config for one of the cameras) and also corrected the error you pointed out in the selection. Perhaps that was the error? Please download the latest version and see if you are still having issues.

If so, is it possible to allow outside access to your camera? In that way we could access it directly and see what might be going wrong.

Thanks,
STeven.
Billy from United States  [26 posts] 8 years
STeven,

I figured out what my problem was (with exception to the controls issue).. I was using the default port you had instead of changing it to port 80.. After I did that, it worked like a champ. I did download the new version and can confirm it works also, and the radio button controls now work correctly.

Thanks, Billy

This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index