FANDOM


OverviewEdit

Octoprint is the wireless print host used on most of our printers. It runs on the Raspberry Pi, which is a small Linux computer crammed onto a single circuit board. This page gives a brief guide to using Octoprint, as well as outlines the procedure of getting a Raspberry Pi running an Octoprint server over Oberlin's wifi network.

Using OctoprintEdit

Octoprint is a very easy-to-use software. If you want to print with it, be sure you've read our 3D Printing Guide and have a GCODE file ready to print.

Logging onEdit

First, make sure your computer is connected to ObieWiFi.

Find the IP address of the printer you want to print with (make sure it's the one you sliced for). It's written on a sticker on the printer. Type this address, without "www", into your address bar in a web browser.

You should be taken to Octoprint! Check the banner at the top of the page to make sure you're in the right printer.

Click "Log in" at the upper right hand corner.

Username: OC3D

Password: printit

You're in!

Uploading

Click the Upload button at the lower left and navigate to your GCODE file. That's it!

PrintingEdit

Your file should now be in the "Files" list in the left panel of Octoprint. Navigate to it with the arrows or numbers. Each file has three small icons: A trash can, a folder, and a printer.

  • The trash can deletes the file.
  • The folder loads the part. This allows you to see the GCODE in the Gcode Viewer tab at the top of the page. You can then print a loaded part by pressing the large "Print" button in the State panel.
  • The printer icon loads and immediately prints the part.

Watch the temperare curves under the Temperature tab to see the extruer and bed head up. Once they're heated, the print should start! Go to "Control" to watch it print. Here you can also move and home the printer axes.

ControlEdit

Remote printingEdit

Octoprint is accessible anywhere on campus, so you can start prints from outside of the lab. This can be very convenient but there are several important notes regarding remote printing:

  • ONLY PRINT IF YOU SEE AN EMPTY BED. If there is a part on the bed, don't print! If for whatever reason the bed isn't visible, you can't be sure there's not something on it. Don't print!
  • Check on your print from time to time. If a large print fails early, it can damage the printer and waste filament. If you see something's gone wrong, kill your print with the "Stop" button and head to the lab to figure things out.
  • If you notice the printer moving or files being uploaded, someone else might be using the server simultaniously. Log off and check back later.

Accessing the PiEdit

To get into an existing Octoprint's Pi, ssh into it:

ssh xxx.xxx.xxx.xx -l pi

Where the x's are the IP. Note that's minus-sign lower-case L, not a one. You'll be prompted for a password; it's "oc3d".

You're in!

Setting Up OctoprintEdit

This section will outline the steps between a factory-fresh Raspberry Pi and SD card and an auto-connecting Octoprint server. If you're looking to do something else with a Raspberry Pi you still may find the wireless setup steps helpful. 

Install OctopiEdit

In addition to Octoprint, the Raspberry Pi will also need a program called MMPEG-streamer to broadcast the video. Some kind soul has put together a Raspberry Pi operating system called Octopi which comes pre-installed with both of these, as well as a few other subtle features that let things run smoothly. 

Download an Octopi disk image here .

Find your operating system at the bottom of this tutorial to flash an SD card with the disk image.

Internet configurationEdit

Now comes the fun part. We need to configure the Pi's internet settings so it auto-connects to ObieWiFi and has a fixed IP so we log onto it anytime. But since we don't know its IP yet we'll need to access the Pi directly. You'll need:

  • The Pi
  • The SD card with Octopi
  • A USB keyboard to interface with the Pi
  • An HDMI Cable to plug it in to a display
  • A microUSB cable to power the Pi
  • An HDMI display to see the Pi's screen
  • An ethernet cable (optional)
  • An ethernet port (optional)

That's a lot of stuff. Luckily the lab has an HDMI cable, microUSB, and an ethernet cable. We just need a keyboard and an external display. As for a keyboard, see if you can borrow the lab's or find one elsewhere. If you can have someone let you into one of the Compsci labs in King, there are often extras lying around. King can also provide the HDMI display and ethernet port - each classroom has an HDMI plug for the projector as well as a wired internet port, so find an unused classroom or a computer lab and set up shop with the equipment above.

A note about ethernet: In theory you won't need internet for the steps listed, but if there are any extra packages you want to download, or if you prefer to SSH into the Pi once you find your temporary wired IP, then the ethernet is handy.

Setting up Edit

Plug the HDMI into the Pi and the external display. Plug the keyboard to the Pi. Plug the ethernet into the Pi and into the wall if you'd like it. Finally, power the Pi with the miniUSB into either the wall or a laptop. You should see a bunch of text and then a configuration menu. Set the password to "oc3d", give it a network name ("octopiX" where X is some number is good), enable the camera, and enable SSH under advanced options. Reboot and log in. 

There's an easy-to-use internet configuration service called wicd-curses which can be very tempting. I don't recommend it for this purpose since it doesn't do well with Oberlin's many similar access point. Instead, we'll edit some configuration files - this method seems to be more robust and reliable.

Once you're logged in for real, you'll see a colorful command prompt with the name you chose at startup. Here you can enter commands to the system and they'll execute.

Changing the files Edit

There are two files we need to change. The first tells the Pi how to handle its wireless internet connection, and the second helps it connect to a network. Both of these are in the "etc" folder in the Pi's filesystem.

Octopi sets the home folder a bit deeper than we'd like - if we type

ls

and press enter, we get

boot  Desktop  mjpg-streamer  ocr_pi.png  OctoPrint  oprint  pyserial  python_games  root  scripts

which isn't where we want to be. Let's go up two directories. Type this twice, pressing enter after each:

cd ..

Now an "ls" should list some more cryptic-looking folders, among them "etc". That's the one we want. In particular, we'd like to edit the interfaces file as a superuser:

sudo nano etc/network/interfaces

This should launch a text editor on a file which looks something like this:

auto lo eth0
iface lo inet loopback

iface eth0 inet dhcp

We'd like to specify an IP address. Edit the file to look like this:


auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0

iface wlan0 inet static
        address 132.162.114.XX
        netmask 255.255.192.0
        gateway 132.162.64.1
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 

Instead of "XX" after "address", give the printer an IP address you'll remember. Depending on the state of Oberlin's wifi, you might have to change the third number as well. Check out the IP of your laptop in the internet configuration settings and assign the Pi an IP that shares the first three numbers (differing in only the last one). The netmask and gateway should be the same as your laptop's as well. The above settings worked as of Feb 2015.

Next, we need to change the wpa_supplicant configuration. Push CTRL-X and save your changes. Once you're back at the command prompt, type:

sudo nano etc/wpa_supplicant/wpa_supplicant.conf

You should pull up a text file with a few lines in it. If it's blank, CTRL-X to exit, and try again. Make sure you're in the right place and you typed the above line properly.

Edit the resulting file to look like:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="ObieWiFi"
        key_mgmt=NONE
}

CTRL-X and save changes. Believe it or not, the Pi doesn't need a password to get onto ObieWiFi! Watch your capitalization there, by the way.

At this point your should be all good to go! Reboot the Pi with

sudo reboot

and after a few minutes see if you can access it! Go to another computer that's connected to ObieWiFi and type

ssh 132.162.xxx.xxx -l pi

and see if you connect! (Note that's a minus sign lower-case L). It should prompt you for a password and you should see a familiar command prompt. If you type that same IP into your address bar in a web browser, hey! It's Octoprint! Now it's as easy as plugging in the printer and setting things up in the Settings tab of Octoprint. It's pretty self-explanatory from here.