Is there utility in a monitor for Octopi setup on a Pi?


#1

To help explain my question I will quickly review my setup. I am at a University with EXTREME IT controls and I run a Maker Lab with over 20 different printers. Due to internal restrictions no printer will ever connect to the internet directly nor do I have any any open WiFi networks to connect to. Because of this all of my printers connect to a private network (non-negotiable). I have a single PC running Windows Server that connects to both my University network and the private printing network (I was able to get my University to buy off on this surprisingly since the server actively monitors traffic across both networks). This setup allows users to remote desktop into the server and send print jobs through any of the vendor software that runs on the server. The print jobs simply go across the private network. For MakerBot and Formlabs I use their software but for LulzBot I use Octopi running on a dedicated Pi for each printer. I have not yet decided which way to go for my new Ultimakers.

While this process sounds overly complex it actually works very well as long as everything is working. My server can easily accommodate 20+ users and funneling all users through a single PC also simplifies my overall IT setup since I only have to maintain 1 system. Most students create their STL file or GCODE file on their own system and then only login to the server to send the job to the individual Pi through Octoprint's web interface.

So bottom line, I have 2 Octopi setups on 2 different Pis runing 2 LulzBot TAZ6 with more coming soon. The Pis will never have internet connectivity.

I have recently added a monitor (and I have a keyboard and touchscreen as well as several other Pi accessories) that I bought just to test out the setup. I am trying to see if there is any utility in adding a monitor/keyboard to the Pi running Octopi. Here are things I would like to do:

  • Display any relevant parameters from the printer (temp, time, etc.) or even more ideally some version of the Octopi instance while a print job is printing.

  • Be able to perform some control functions of the printer (heat, cool, send job, etc). One of my primary projects involves simple repeated printing of the same part. If I could have a program on the Pi that simply allowed me to select a GCODE file from the SD card and start the print directly from the Pi using the Pi's monitor and keyboard, that would be tremendously helpful.

  • A smaller goal but actually even more valuable would be for the Pi to log individual print events to a txt/csv file. I am sure there is a way to do this but I have not yet figured it out. The ability to automatically log jobs (ideally with username, filename, time, etc) would be of tremendous value.

Thanks for any help. As you might figure out, I am a complete beginner when it comes to Pi and LINUX, but I am reasonably good at 3D printing and was able to get my Octopi setup running just by following directions. I have colleagues who could write software/plugins that could probably do what I want as long as I could point them in the right direction. I did read a somewhat related post on Octopi and monitor/keyboard (Octopi on Pi B3+ with HDMI monitor keyboard and mouse?) which was helpful but did not really help with everything.


#2

I've done a variety of things similar to what you're describing.


#3

you should be able to open a browser on the desktop of the Octopi and point it to localhost and pull up the octoprint web page.


#4

Thanks for both of the comments.

For OutsourcedGuru, I have a keyboard and monitor very similar to those, but the real area I could use help on is with 5ft24's commment.

I anticipated that there would be a way to pull up the Octoprint web page on the Pi itself and this is what I want to do, but I am not sure how to do that. My current image on my Pi's SD card only has the Ocptopi 0.15.1 image on it meaning it does not have other OS or browser.

I am sure the answer starts with a some simple application/OS that I need to install on the Pi. I just want to make sure this can work with Octopi as well.

Thanks for any continued help.


#5

Scratch that- I misread the post

Would your IT department consider allowing you to setup a simple router/switch to hardwire/wifi all of the devices to a separate, dedicated "3D Printer" network without any outside access. (i.e. Network connected to nothing but a master machine and all printers)


#6

Does Octoprint's bundled logging plugin provide logs that you could use (probably with some script post processing) to get your desired output?
See also:


#7

@bbaker If you want OctoPrint to start up automatically (as a client) and to display on your Raspberry Pi's monitor...

  • Remote into the Raspberry Pi and run the the script in the ~/scripts folder for installing the desktop
  • Using sudo raspi-config, you need to have the Raspberry auto-boot into the Desktop as the pi user
  • It helps to install a different browser like Chromium on the Raspberry Pi: sudo apt-get install -y chromium-browser
  • Create an entry in the pi user's settings: nano ~/.bashrc: chromium-browser --kiosk localhost (This should automatically run the Chromium browser in full-screen mode going to the http://localhost/ URL
  • Optionally, if your monitor is small like a TFT, you should probably run the TouchUI plugin

#8

@OutsourcedGuru, thanks. I will try all of this next week. I do have 2 other simple questions but just want to make sure:

  • When trying to install apps on the Pi, like "sudo apt-get install -y chromium-browser", I am assuming that means that the Pi must be be connected to the internet. My Pis are not normally connected to the internet but I can get around this by configuring them at home. Or what I would really rather do is push things to the Pi directly to the SD card, SSH, or something similar.

  • Related to that, can the Pis use browser authentication to get internet access? i.e. not WPA etc or a password protected SSID but a browser based authentication like a hotel. I do have access to a WiFi network like this at my University, but it has not been useful in my 3D printing lab since none of the systems I have come across can use this type of authentication.

Thanks again, and like you mentioned I do have a touch screen monitor as well. In an ideal situation I would be able to use a touch screen and spool up a print job on the Pi using the Octopi interface on the Pi (pulling a job from the SD card).


#9

Absolutely, any installations need to happen with good connectivity to the Internet. (Connect an Ethernet cable, do the installs and then disconnect the Ethernet cable.)

If you're having difficulty with your school's policies, feel free to use your own cellphone to create a hotspot, connect the Raspberry to this, do the installs and then turn off your hotspot.

The TouchUI plugin can work with a touchscreen but it also works with a mouse.

The original OctoPrint fork which Robo 3D provided on my printer had a nice interface for the TFT screen only they really didn't know what they were doing so I removed all that in lieu of what I have now. The original interface would allow you to start a job and to control it.