I’m looking for people that are using, or wanting to use, a Raspberry Pi to run Ground Control that would be interested in alpha-testing a web-based version (i.e., no Kivy involved) we call “webcontrol”. In cooperation with @johnboiles, we’ve manged to put together a couple of docker files that simplify the installation, starting, and upgrading process. I’m calling it in alpha condition because only two of us have put it to use. I feel good about the condition of the software, but until a few more use it, I don’t want to call it beta. There’s some things left to do, mostly quality-of-life things, but it has pretty much everything Ground Control currently has, sans the simulator. It does have a few extras that haven’t been accepted into KivyGC (optical calibration primarily) but that is still being tweaked to run on the RPi and webcontrol. I’ve run it a lot on a spare controller in simulation mode (aka., FakeServo) and did my first real cut with it today. The cut ran with no problem from start to stop… a couple hours long carving out a relief of Ultron for one of my kids.
If you are interested, please message me or reply here and I will get you instructions. You’ll need to sign up for a free account on hub.docker.com and make a free github account as well (to post feedback/issues). It’ll run fine on an x86 computer, but I’m focused on the RPi at the moment… once it goes beta and I turn the github repo public, anyone can install it on anything that can run Python 3 by downloading from github. Eventually, we’ll have dockers built for widows/mac/amiga/whatever, but right now we are just doing RPi dockers. If you are REALLY interested in testing it on something other than an RPi, send me a message.
I uploaded a video of it running for a bit to youtube. I apologize for when the video goes out of focus. I tried my best but the phone was acting up… I even went painfully slow to try to keep it in focus, but to no avail.
A couple of disclaimers…
This software was created in my free time with a lot of help from @johnboiles. I cannot commit to being available 24/7 to troubleshoot issues, correct bugs, etc. It’s my joy to work on it and I intend to do so, but it’s in my free time that I can do it. So keep that in mind.
I’m a self-taught hack programmer that started out on TRS-80 in 7th grade. I’m a quick learner and real good at the google, and though what I wrote isn’t horrendous, I know there are better ways to do things and plenty room to improve. Eventually it will get done “the better way” and if you are a real programmer and want to help, please, let me know. I’ll take any help I can get.
<<There will be a disclaimer here about as-is, free of charge, can’t sue me if you get hurt or your machine burns down, etc. once I figure out what to put here… any help here would also be appreciated>>
Haha my contribution here is overstated. Mostly this was @madgrizzle very quickly rebuilding all of GroundControl as a web app. I just threw out ideas and poked at the docker build
I’m happy to write a setup guide or make a Pi SD card image once someone is ready to try it out. @madgrizzle has even built a separate supervisor that allows for 1-click updates to the docker image.
We are working with a Raspberry Pi at the moment (that’s what we are building docker images for). Once we get through alpha, we’ll make the github repo public and people can run it on anything that can run python 3 (i.e., Windows, Mac, linux). I think, eventually, we will have docker images for all of them… we are just focusing on Raspberry Pi though at the moment/
All I have is an RPi 3 b+ so I can’t say for sure. I guess it comes down to available RAM more than anything else. I can check and see what memory is being used.
I did a couple quick videos showing webcontrol and webmcp (the supervisor program that you can use to start/stop/update the webcontrol docker). The newest thing we’ve added is a firmware updater we built into webcontrol… so if you are using the webcontrol dockers, your controller will always be up to date and in sync with webcontrol (assuming you hit the update firmware button).
Access from a desktop:
Access from a phone (using Chrome developer mode… not an actual phone, but it does look something like this on my pixel phone):
BTW, when you see the “move to default” action, that’s equivalent to the ground control steps of setting the sprockets to 12 o’clock and extending each chain. It’s useful in that if you are doing some testing on firmware/whatnot and you might need to wipe the EEPROM or otherwise reset the chain lengths, if you first put your sled at the “default” position all you need to do is to click the “action->reset chain lengths” button because the sprockets and chains are already in the correct position.
I’ve just finished building my frame and sled, and have been working at getting my pi to run GC. I was about to throw in the bag at getting kivy working with the touchscreen, but I’d love to give this angle a shot.