RPi Webcontrol for dummies

To set up your RPI, you have 2 options for the basic OS called Raspian:

raspian Lite (current version is Buster)

or

raspian (current version is Buster)

the first option does not have the ability to display graphics. It is a command line interface (CLI) with just the cursor and looks like a terminal window. The second is the full desktop and since you have a touchscreen this would be the option.

In both cases, you do open a terminal window if you are on the desktop version or simply type in the command line (don’t type the "$ ". It represents a command line command : EDIT → the $ show up in the preview on the right when I make the post, but once it saves, some of them get stripped out. no idea why):

$ mkdir webcontrol
$ cd webcontrol
$ wget https://github.com/madgrizzle/WebControl/releases/download/v0.927/webcontrol-0.927-rpi-singledirectory.tar.gz
$ tar -zxvf webcontrol-0.927-rpi-singledirectory.tar.gz

(927 is the version as of today. Verify the newest version here). Run the program:

$ cd webcontrol
$ ./webcontrol

halt it with CTRL+C
if you want it to run in the background of your window, you can do this:

$ ./webcontrol & disown %1

The disown is supposed to kill the terminal print messages so you don’t see them, but it didn’t work in my ssh window however the & puts the process in the background so commands can be entered at the same time.

once you are certain it functions and you want it to run whenever the rpi is on, you can make it run automatically as a service

$ sudo nano /etc/systemd/system/Maslow.service

You can name it whatever you want. Maslow.service, webcontrol.service… totally your call.

paste this in that file and adjust the Description, working directory, ExecStart if necessary:

[Unit]
Description=webcontrol
After=network.target
[Service]
ExecStart=/home/pi/webcontrol/webcontrol
WorkingDirectory=/home/pi/webcontrol
StandardOutput=inherit
StandardError=inherit
Restart=never
User=pi
[Install]
WantedBy=multi-user.target

then exit and save with CTRL+X, Y, Enter
to start it, type

$ sudo systemctl start Maslow

if it works, then enable it and it will start automatically when you reboot.

$ sudo systemctl enable Maslow

if you change the “Restart = never” line to “restart=always” then it will try to restart whenever it crashes, but it won’t allow itself to shut down when you click on the upgrade link. you will have to manually stop it.

Once you have the server side running, if you are on command line, you are done for now. To open the web browser on your desktop version, use your mouse to open the webpage and use “http://localhost:5000” as the web page address and you should be able to interact with it.

Type $ ifconfig in a terminal window, you can get your IP address and use that on your phone with :5000 at the end and control Maslow from your phone via webcontrol. Do the same on your design computer (whatever the type) and you can upload gcode to it. Import your groundcontrol.ini file using the actions->import button in webcontrol, to avoid recalibrating.

Another nice option is if you set up /home/pi/.WebControl/gcode as a shared SAMBA folder (instructions here), and give that folder permissions, you can open the folder from your design computer and drag and drop your gcode in without uploading via the web page. This is not entirely necessary, but I find it easy to do. More recently, when I generate gcode, I have it save there directly so no copying or uploading is required.

4 Likes