WebControl for Windows Beta

I think I managed to compile webcontrol into a portable .exe to run on windows using pyinstaller. It runs on my computer (Windows 10 Pro x64) but YMMV.

It includes both holey calibration and board management, but firmware updates aren’t baked in at this point so you will have to download the firmware for holey calibration if you want to use it.

If you give it a try and run into problems, please let me know.

6 Likes

Sounds good :slight_smile:

When I start it, I get this (on a W10_64 machine without a connected Arduino):

Initializing Logger
C:\Users\kurt/.WebControl/log.txt
C:\Users\kurt\AppData\Local\Temp\_MEI28362
Initializing Configuration
Camera initialized
[{'title': 'GPIO2', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio2', 'desc': 'GPIO2 functionality\ndefault setting: '}, {'title': 'GPIO3', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio3', 'desc': 'GPIO3 functionality\ndefault setting: '}, {'title': 'GPIO4', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio4', 'desc': 'GPIO4 functionality\ndefault setting: '}, {'title': 'GPIO5', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio5', 'desc': 'GPIO5 functionality\ndefault setting: '}, {'title': 'GPIO6', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio6', 'desc': 'GPIO6 functionality\ndefault setting: '}, {'title': 'GPIO7', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio7', 'desc': 'GPIO7 functionality\ndefault setting: '}, {'title': 'GPIO8', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio8', 'desc': 'GPIO8 functionality\ndefault setting: '}, {'title': 'GPIO9', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio9', 'desc': 'GPIO9 functionality\ndefault setting: '}, {'title': 'GPIO10', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio10', 'desc': 'GPIO10 functionality\ndefault setting: '}, {'title': 'GPIO11', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio11', 'desc': 'GPIO11 functionality\ndefault setting: '}, {'title': 'GPIO12', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio12', 'desc': 'GPIO12 functionality\ndefault setting: '}, {'title': 'GPIO13', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio13', 'desc': 'GPIO13 functionality\ndefault setting: '}, {'title': 'GPIO14', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio14', 'desc': 'GPIO14 functionality\ndefault setting: '}, {'title': 'GPIO15', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio15', 'desc': 'GPIO15 functionality\ndefault setting: '}, {'title': 'GPIO16', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio16', 'desc': 'GPIO16 functionality\ndefault setting: '}, {'title': 'GPIO17', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio17', 'desc': 'GPIO17 functionality\ndefault setting: '}, {'title': 'GPIO18', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio18', 'desc': 'GPIO18 functionality\ndefault setting: '}, {'title': 'GPIO19', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio19', 'desc': 'GPIO19 functionality\ndefault setting: '}, {'title': 'GPIO20', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio20', 'desc': 'GPIO20 functionality\ndefault setting: '}, {'title': 'GPIO21', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio21', 'desc': 'GPIO21 functionality\ndefault setting: '}, {'title': 'GPIO22', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio22', 'desc': 'GPIO22 functionality\ndefault setting: '}, {'title': 'GPIO23', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio23', 'desc': 'GPIO23 functionality\ndefault setting: '}, {'title': 'GPIO24', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio24', 'desc': 'GPIO24 functionality\ndefault setting: '}, {'title': 'GPIO25', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio25', 'desc': 'GPIO25 functionality\ndefault setting: '}, {'title': 'GPIO26', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio26', 'desc': 'GPIO26 functionality\ndefault setting: '}, {'title': 'GPIO27', 'type': 'options', 'value': '', 'default': '', 'section': 'GPIO Settings', 'key': 'gpio27', 'desc': 'GPIO27 functionality\ndefault setting: '}]
Starting Console Queue Processor
CAP_PROP_POS_MSEC=0.0
CAP_PROP_POS_FRAMES=0.0
CAP_PROP_POS_AVI_RATIO=-1.0
CAP_PROP_FRAME_WIDTH=640.0
CAP_PROP_FRAME_HEIGHT=480.0
CAP_PROP_FPS=30.0
CAP_PROP_FOURCC=844715353.0
CAP_PROP_FRAME_COUNT=-1.0
CAP_PROP_FORMAT=0.0
CAP_PROP_MODE=0.0
CAP_PROP_BRIGHTNESS=0.0
CAP_PROP_CONTRAST=50.0
CAP_PROP_SATURATION=64.0
CAP_PROP_HUE=0.0
CAP_PROP_GAIN=-1.0
CAP_PROP_EXPOSURE=-6.0
CAP_PROP_CONVERT_RGB=1.0
CAP_PROP_RECTIFICATION=-1.0
CAP_PROP_ISO_SPEED=-1.0
CAP_PROP_BUFFERSIZE=-1.0
connecting
 is unavailable or in use
connecting...

Then it keeps trying to connect. Is that OK?

On which URL/Port should I be able to get access?

Yes… that’s normal… go to Port 5000 of your computer.

2 Likes

I’ve made progress on incorporating firmware into the application so I’m confident that will be feasible to do…

1 Like

Here’s a shortcut which will launch your browser to the correct page:

shortcut.zip (243 Bytes)

1 Like

Thank you @bar & @madgrizzle for your support. :slight_smile:

1 Like

If you download release v.901 it will auto start the browser for you.

3 Likes

It worked like a charm. :slight_smile: On Monday I’ll test it on the Maslow.

2 Likes

Great . Make sure you download the one from last night (I updated it to fix a path problem).

2 Likes

Does WebControl for Windows Beta require a web server or will the Windows 10 computer serve that function? In short does the setup require a raspberry pi?

It does not require web server or raspberry pi. Just run the .exe file on your Windows PC (give it a few seconds to unpack data) and it will automatically launch your browser and, hopefully, bring up the webcontrol page. Note, the program is just like Ground Control in that it doesn’t do an installation… its completely portable… just put it on your PC where you want it.

2 Likes

Another slight update to allow you to shutdown WebControl from the browser by going to Actions->Shutdown WebControl. It’s better than having to go to the console window and hitting Ctrl-C multiple times or closing the console window.

2 Likes

Well done! On Windows 10 it is automatically blocked when first run. When the warning window comes up hit Advanced-> Run Anyway. Tell Windows Firewall prompt to allow by clicking Allow. From there all is awesome sauce!

Thank you

2 Likes

Any little chance that you compile WebControl also for 32bit devices?

FWW - 64 Bit became a standard in 2003. This is Madgrizzles call but my opinion is 32 Bit is a dead architecture. I would have to dig but the framework may not support it.

My 2 Cents

Thank you

Thank you for your feedback.

I’m aware of that fact. Since such controllers do not need that much power, I tend to use fairly old netbooks which run on 32 Bit. If the system supports it and it’s only a couple of clicks away, then why not.

But I’m not a coder and I don’t have a clue… :wink:

I’m not exactly sure how to do it. Have you tried running it on 32 bit machine?

Yes, I did. It says something like “This app cannot be executed on this device”.

After I posted, I did a little googling and it seems to build a 32-bit version, I have to build using a 32-bit machine, which I do not have setup. I’m looking at an option to move entirely to pyinstaller builds and see what options are available for building for different platforms (maybe using a bunch of virtual machines).

3 Likes

Over the weekend I worked with we control for windows and noticed the following:

  • when I wanted to reset the chains the pop up menu was truncated on my phone as opposed to the options presented on my laptop. I could not find a way to access the menu items not shown on my phone’s display.
  • In my previous ground control setup I used the holey triangular files and firmware. When I migrated to webcontrol the menu for holey triangular calibration is not available. Did I lose my calibration even though I provided a path to the ground control.ini file.
    Thanks