Asked — Edited
Resolved Resolved by DJ Sures!

Http_Server - As A Static Webpage?

Good Morning,

I would like some assistance with the setting up the HTTP_Server Command - that points to a Virtual Desktop, that acts like a Static WebPage, Is this possible?

Thanks Wayne


ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

#1  

I have tried, but never put much effort into. It should in theory be doable, but I find the occasionally the web server changes things from the standard.

#2  

Thanks!

I guess another question would be, how to make a Virtual Desktop, the "default view"? thru the HTTP_Server? (My boss is asking about it.....)

Thanks!

#3  

I would think that it would require a program that makes a controllable video source from a computer. I have not seen something like this before.

#4  

Does anyone else in the community have any ideas?

#5  

As opposed to asking how you want the feature to work, can you explain in a little more detail what you goal is? I am not sure what you mean by "a static web page" and are you talking about the ARC virtual desktops, or a Windows 10 virtual desktop?

There may be other tools than ARC to achieve your goal (like VNC)

Alan

PRO
USA
#6  

TeamViewer is also a good professional choice for closed environments (without nat rules).

#7  

@ptp Does Teamviewer support automatically connecting to a virtual desktop? VNC has a mode which does: https://www.realvnc.com/products/vnc/documentation/5.3/guides/user/ai1104281.html

And it can be accessed through a web browser with no client install (I think it does require Java, been a while since I used the web client).

Alan

PRO
USA
#8  

Alan,

I'm familiar with multiple desktops e.g. "virtual desktops" in Linux, long time ago before windows, but only now that you raised the question i just tried on my windows 10.

But unless i'm wrong the concept in windows is different from XWindows/Linux, you don't have isolation between the desktops.

Are you sure VNC viewer provides virtual desktop isolation ? I'm familiar also launching VNC clones in different desktops on Linux, or in new XWindows without interfering with main desktop,

but on windows ? Is that possible ?

PRO
USA
#9  

the other question "web browser with no client install " yes check here:

https://www.teamviewer.com/en/res/pdf/first_steps_webconnector_en.pdf

https://www.youtube.com/watch?v=dqIsBs8PVwI

and you don't need:

  1. No extra software neither admin rights
  2. Java (available only on Firefox)
  3. Activex (available on IE not EDGE)
  4. Netscape plugins (available on Chrome and Firefox, but now removed on Chrome)

I'm guessing how it works:

The technology behind is very simple, the screen is rendered on a TeamViewer Server (Cloud), and sent as video stream to your browser, then the mouse clicks (x,y) plus keyboard strokes are sent to the server, and forward to the destination machine.

very cool.

#10  

VNC can do it even when Windows does not. Virtual desktops on Windows (non server environments) is more of a convenience, where you can separate apps into different desktops but all accessible by the same user. VNC, in virtual mode, can create desktops more akin to what you can do in Linux where the local user does not see the VNC desktop activity.

@WayneA If this is not what you were asking about, we apologize for hijacking your thread ;)

Alan

#11  

If Teamviewer meets the need, it is an easier solution because the Teamviewer servers provide location and authentication services, so you don't need to know the hosts public IP address or deal with port forwarding.

Alan

PRO
USA
#12  

Alan,

you nailed "VNC can do it even when Windows does not.".

I'm really surprised.

I'm looking for "VNC virtual mode" windows and i can't find windows articles only linux:

https://community.spiceworks.com/how_to/118734-creating-virtual-desktops-with-realvnc-software

even on your link they mention Linux, on windows they mentioned windows service, user mode, but those are regular vnc modes.

#13  

Doh.. you are right. I missed that Virtual mode is a Unix/Linux feature only.

Alan

PRO
USA
#14  

Microsoft has the Remote Desktop Services, known as Terminal Services.

if something like that was possible, i'cant imagine the number of applications would surface targeting the concept of Virtual Desktop.

Money talks :)

PRO
Synthiam
#15  

Microsoft has to pick and choose what features it can include in Windows without knocking out competitive products. There was a massive monopoly trial against Microsoft years ago regarding this kind of activity.

The problem is that Microsoft Windows is an operating system - but it also ships with software. It doesn't ship with enough software to make your PC entirely usable. Just enough so you need to install additional software, such and tightvnc for remote control.

The minute Microsoft begins to build features in Windows that deprecates 3rd part software development, suddenly they are a monopoly.

So yeah, while you may think it "sucks" that Microsoft Windows doesn't have all features - in reality it's creating jobs, careers and inspiring new inventions.

PRO
Synthiam
#16  

oh, and on that note... here is how you can provide a link directly to the Remote Control in ARC's HTTP Server

Quote:

http://192.168.56.1/RemoteControl?Password=admin

Where the breakdown is...

Quote:

http://<your_ip_address>/RemoteControl?Password=<your_password>

PRO
USA
#17  

@DJ,

I agree with Microsoft, Apple, Google whatever company, is their operating system so if the company want's to explore a business opportunity not opening a free feature, is their call.

but in the end does not matter is always "money talks", because only money can pay salaries, innovate, charity etc.

Is like open source, people want free stuff, but someone needs to pay other people to work on open source.

Otherwise you will have cr*py software, people can't expect other people to work for free, or work on their free time to build quality software.

Regarding Microsoft monopoly wars, there are different sides of the coin, but the story repeats with different players, Apple, Google, whatever ...

#18  

HAH! You guys kinda did, but it is ok!

I am going to have to assume that it is not possible to do what I originally asked.

Thanks, for the info and feed back.

#19  

@Wayne

Virtually anything is possible, just whether it is exists in the code today, or needs to be added, or an alternate method provided is the only question. So back to my initial request, if you can better describe what you are trying to do, we can do a better job staying on topic and finding a solution for you.

Alan

#20  

Correct, you are correct.

This goes back to my tower light project post. Another TV station is going to also monitor the lights. "I" will host the computer ARC is on. I have asked my networking staff to create a public address so the other TV station can the ARC interface. (The mobile Page.)

My plan was that when the other TV station when to the public address with the correct port that I assigned in the ARC with the HTTP_Server, all they would see is this. User-inserted image

But after working with the HTTP_Server you in essence "remote control" the program. My boss, at the time, thought that could be dangerous, in regards the other TV station would have access to our network. But, after showing him that was not the case he seemed be really cool about the fact that you could do that.

So, his thoughts were and mine also was, could the software have the option of just seeing the above Mobile Interface, and not the extra features such as the pic below. User-inserted image

PRO
Synthiam
#21  

You can use the custom http server for that.

#22  

@DJ

Thank You, is there any help you can provide with using the HTTP_Custom Server?

#23  

Is your project posted to the cloud? If not can you post or attach it? I think this should be pretty easy to do, but I need to dig into your variables and stuff.

You need to know a little html to use the custom web server, but since you explicitly don't want them controlling anything, just viewing, it should be fairly basic.

I have only played with it a little bit so I can't give step by step instructions without a little time to look at it.

Alan

#24  

crud.. I just lost post I had typed when my phone rang and I got distracted and accidentally closed my browser.

Short version:

@DJ, can you provide a sample of the syntax for displaying a variable (preferably auto updating, if AJAX supports that, otherwise I can write HTML to auto-refresh the page every minute)? The HTTP custom sample and documentation just show how to do commands and display the camera.

Alternately, if that syntax doesn't exist, we could write a script that writes the variables to a file, and then some HTML that imports and displays from the file. Might be better running that under IIS or Apache where we have some web scripting available and can password protect the site since the HTTP Custom object has no security built in. That might go a little over my head to write, or at least to write quickly since I would need to do some research and barely have time to work on my own projects let alone other peoples, but we have smart people helping out here. Heck PTP could probably write you a plugin :)

Alan

#25  

Ok. I will post the code tomorrow morning when I get to the office.

Thank You very much.

#26  

@thetechguru

Good Morning.

Here is the code that I wrote for the program.



#WITN External Controller SoftwareV1


:START
#init all values

$B1T1= &quot;&quot;
$B1T2= &quot;&quot;
$B1T3= &quot;&quot;
$B1T4= &quot;&quot;
$B1T5= &quot;&quot;
$B1T6= &quot;&quot;
$B2T1= &quot;&quot;
$B2T2= &quot;&quot;
$B2T3= &quot;&quot;
$B2T4= &quot;&quot;
$B2T5= &quot;&quot;
$B2T6= &quot;&quot;
$B2T7= &quot;&quot;
$B3T1= &quot;&quot;
$B3T2= &quot;&quot;
$B3T3= &quot;&quot;
$B3T4= &quot;&quot;
$B3T5= &quot;&quot;
$B3T6= &quot;&quot;
#####################
$daymode = &quot;&quot;
$twimode = &quot;&quot;
$nitemode = &quot;&quot;
#####################
$mode = &quot;&quot;
$flsh = &quot;&quot;


:READ
#Read Inputs to get status

$B1T1 = GetDigital(D0)
sleep(10)
$B1T2 = GetDigital(D1)
sleep(10)
$B1T3 = GetDigital(D2)
sleep(10)
$B1T4 = GetDigital(D3)
sleep(10)
$B1T5 = GetDigital(D4)
sleep(10)
$B1T6 = GetDigital(D5)
sleep(10)
$B2T1 = GetDigital(D6)
sleep(10)
$B2T2 = GetDigital(D7)
sleep(10)
$B2T3 = GetDigital(D8)
sleep(10)
$B2T4 = GetDigital(D9)
sleep(10)
$B2T5 = GetDigital(D10)
sleep(10)
$B2T6 = GetDigital(D11)
sleep(10)
$B2T7 = GetDigital(D12)
sleep(10)
$B3T1 = GetDigital(D13)
sleep(10)
$B3T2 = GetDigital(D14)
sleep(10)
$B3T3 = GetDigital(D15)
sleep(10)
$B3T4 = GetDigital(D16)
sleep(10)
$B3T5 = GetDigital(D17)
sleep(10)
$B3T6 = GetDigital(D18)
sleep(10)
$daymode = GetDigital(D19)
sleep(10)
$twimode = GetDigital(D20)
sleep(10)
$nitemode = GetDigital(D21)
sleep(10)
$mode= GetDigital(D22)
sleep(10)
$flsh = GetDigital(D23)

#CONVERT 0 or 1 to pass or fail

if ($B1T1 = 0)
$B1T1D = &quot;PASS&quot;
elseif ($B1T1 = 1)
$B1T1D = &quot;FAIL&quot;
endif

if ($B1T2 = 0)
$B1T2D = &quot;PASS&quot;
elseif ($B1T2 = 1)
$B1T2D = &quot;FAIL&quot;
endif

if ($B1T3 = 0)
$B1T3D = &quot;PASS&quot;
elseif ($B1T3 = 1)
$B1T3D = &quot;FAIL&quot;
endif

if ($B1T4 = 0)
$B1T4D = &quot;PASS&quot;
elseif ($B1T4 = 1)
$B1T4D = &quot;FAIL&quot;
endif

if ($B1T5 = 0)
$B1T5D = &quot;PASS&quot;
elseif ($B1T5 = 1)
$B1T5D = &quot;FAIL&quot;
endif

if ($B1T6 = 0)
$B1T6D = &quot;PASS&quot;
elseif ($B1T6 = 1)
$B1T6D = &quot;FAIL&quot;
endif


if ($B2T1 = 0)
$B2T1D = &quot;PASS&quot;
elseif ($B2T1 = 1)
$B2T1D = &quot;FAIL&quot;
endif

if ($B2T2 = 0)
$B2T2D = &quot;PASS&quot;
elseif ($B2T2 = 1)
$B2T2D = &quot;FAIL&quot;
endif

if ($B2T3 = 0)
$B2T3D = &quot;PASS&quot;
elseif ($B2T3 = 1)
$B2T3D = &quot;FAIL&quot;
endif

if ($B2T4 = 0)
$B2T4D = &quot;PASS&quot;
elseif ($B2T4 = 1)
$B2T4D = &quot;FAIL&quot;
endif

if ($B2T5 = 0)
$B2T5D = &quot;PASS&quot;
elseif ($B2T5 = 1)
$B2T5D = &quot;FAIL&quot;
endif

if ($B2T6 = 0)
$B2T6D = &quot;PASS&quot;
elseif ($B2T6 = 1)
$B2T6D = &quot;FAIL&quot;
endif

if ($B2T7 = 0)
$B2T7D = &quot;PASS&quot;
elseif ($B2T7 = 1)
$B2T7D = &quot;FAIL&quot;
endif

if ($B3T1 = 0)
$B3T1D = &quot;PASS&quot;
elseif ($B3T1 = 1)
$B3T1D = &quot;FAIL&quot;
endif

if ($B3T2 = 0)
$B3T2D = &quot;PASS&quot;
elseif ($B3T2 = 1)
$B3T2D = &quot;FAIL&quot;
endif

if ($B3T3 = 0)
$B3T3D = &quot;PASS&quot;
elseif ($B3T3 = 1)
$B3T3D = &quot;FAIL&quot;
endif

if ($B3T4 = 0)
$B3T4D = &quot;PASS&quot;
elseif ($B3T4 = 1)
$B3T4D = &quot;FAIL&quot;
endif

if ($B3T5 = 0)
$B3T5D = &quot;PASS&quot;
elseif ($B3T5 = 1)
$B3T5D = &quot;FAIL&quot;
endif

if ($B3T6 = 0)
$B3T6D = &quot;PASS&quot;
elseif ($B3T6 = 1)
$B3T6D = &quot;FAIL&quot;
endif

if ($daymode = 1)
$daymodeD = &quot;YES&quot;
else 
$daymodeD = &quot;&quot;
EndIf 

if ($twimode = 1)
$twimodeD = &quot;YES&quot;
else 
$twimodeD = &quot;&quot;
endif

if ($nitemode = 1)
$nitemodeD = &quot;YES&quot;
else 
$nitemodeD = &quot;&quot;
endif 


#WHAT TO DO IN CASE OF FAILURE


if ($B1T1 OR $B1T2 OR $B1T3 OR $B1T4 OR $B1T5 OR $B1T6= 1)
$FAA = &quot;CALL FAA AT 1-877-487-6867&quot;
ELSE 
$FAA = &quot;&quot;
endif

if ($B2T1 OR $B2T2 OR $B2T3 OR $B2T4 OR $B2T5 OR $B2T6 OR $B2T7= 1)
$FAA = &quot;CALL FAA AT 1-877-487-6867&quot;
ELSE 
$FAA = &quot;&quot;
endif

if ($B3T1 OR $B3T2 OR $B3T3 OR $B3T4 OR $B3T5 OR $B3T6= 1)
$FAA = &quot;CALL FAA AT 1-877-487-6867&quot;
ELSE 
$FAA = &quot;&quot;
endif

goto(READ)


Any and all help that could be done would be most appreciate.

I know in the other forum post the code was cleaned up by other users. I need to take the time and work on that.

#27  

As long as the variable names stay the same, it should be pretty easy to make a web page. If DJ doesn't respond by the end of the day to my question about Custom HTTP syntax for displaying variables, I'll start looking into an alternate way to do it that would work either in Custom HTTP or any other web server.

Alan

#28  

Thanks for all of your help so far.

PRO
Synthiam
#29  

Last night on my flight I made changes to the http server to display variables and digital port status. I'll update ARC either this evening or tomorrow with the changes.

#30  

@DJ. Wow! That is awesome! Thank You!

#31  

@DJ Thanks much. Saved me a lot of head scratching too..

Alan

PRO
Synthiam
#33  

This release is a little behind due to some other features in development not yet complete

#34  

@DJ Thank You for the update!