Interesting… it might all be able to be incorporated into webcontrol. The upgrade process calls os commands so it’s possible to do it that way.
the original docker based version had webcontrol on a different port than a MCP
program (that could start/stop webcontrol)
I see no reason why the network setup can’t be completely stand-alone on a
different port. There isn’t going to be any firewall between the browser and the
I would expect that 99% of the time, you will get a dhcp address.
I run the Scale conference network in Southern California where we deploy over a
hundred APs for the show, and one thing that I do is to have a script that pings
my gateway every minute, and if it can’t do that, it decides that there is a
problem (in my case, I have it turn of the wifi so that it’s not a black hole,
but for the maslow we would want to have it activate the AP mode)
Also, there need to be four modes
- wifi with encryption
- wifi without encryption
- AP mode
Not everyone is running encryption, and we should not force the issue.
I can already hear people screaming about the third option. My day job is
Computer Security, unencrypted wifi is only a security risk if you are running
unencrypted protocols over it.
SSH is encrypted, HTTPS is encrypted.
HTTP is not, but you have to ask what the real risk is here. Especially since
the AP mode is going to have a default password
bridging the wired and wifi is a good option to have, but that gets into
fyi, the more I try to do with this the more I respect @madgrizzle 's mad coding skills. seriously. I’m struggling to get a pop up dialog to show anything useful let alone code it syntactically correct to do something in a different language. html -> JS -> python -> system OS network manipulation for kernel service modification. I don’t know I can say thank you enough times for the time and skill given to all of us for webcontrol which is seriously a cool piece of software.
It’s getting a whole lot better with @tinker’s help. He actually knows what he’s doing and cleaning up a lot of my slop.
There is a place for brute force “make it work” and for streamlining and optimization. Thanks to you both!
Update. Finally got things working. I had to go wired because the wireless settings didn’t seem to be taking. Once the RPI was up and running, I entered the log in info and no problem.
It took a bit to figure out how to stay connected to the WiFi in the house. Found a TPLink device I got to share wireless at hotels and such. Set it up as a range extender and just plugged in into the RPi. Just checked from my living room and connection to web control is solid.I did a couple of restarts to be be sure.
Thanks for the work on this.
Now to find time to do some cutting
i did just made a fresh install using the latest raspbian desktop and “webcontrol-0.9331-rpi-singledirectory.tar.gz” on a Rasperry PI 4.
The image is still pristine without any additions except whats neccessay for Webcontrol plus Firefox-Esr and “XDRP” for remote desktop connections. Region is set, language english. You might need to reconfigure region, language and keyboard.
If anyone is interested i can make a compressed copy (currently 16GB filesystem). I can also reduce the filesystem to 8GB if someone needs it. People using bigger SD cards needs to manually expand the file system or add a second one.
Anyone wants a copy i can put it online.
Yes this is a great idea interested! Please give link
This seems like it’s an often-requested feature, and I agree that it makes things a lot easier to just have an image. So, I went ahead and looked at how Octoprint does it, turns out it’s not too complicated.
I’ve published the build scripts here: https://github.com/WebControlCNC/webcontrol-pi
A test release is available here: https://github.com/WebControlCNC/webcontrol-pi/releases
I still need to polish a few things, because right now it only builds a specific WebControl release.
so are we going back to docker instead of pyinstaller?
It’s only using Docker to build the image. Basically it does exactly what’s in the README here.
The only additional step is to add the systemd unit file (copied straight from a little lower down in the README) and activate it.
I used Docker because I’m on a Mac, and I didn’t want to install the gazillion dependencies needed to make this work. It should work natively on Linux, but even then it should be easier with Docker.
The Raspberry Pi itself doesn’t run Docker when all is said and done.
so docker is just used as a vehicle to build the image?
no, this should be just an image that already has the pyinstaller package