I have Now installed and had a chance to review Both OctoPrint and RepRapWeb browser based 3d printer controllers installed on a Rasperry PI. One thing I want to make clear before I start is this is not an evaluation of slicing tools of which each tool comes with at least one. Since slicing is a time consuming process with larger models I found a Raspberry PI and it’s small CPU was just not the place to get that done.
So for now here is what I found, RepRapWeb is a cool new tool in the field, written entirely in Node.js for both client and server it’s a really great work in progress for building a controller but its really not ready for “Prime time”. As of this article, although it looks in the YouTube video that there is a integrated video component it does not have one yet; that is still in the works. So with no integrated video there is also no option for time laps videos either. The lack of integrated video was the show stopper for me as a web based controllers strength in my book is the ability to start a 3D print and then leave the 3D printer, checking it from your cell phone every once in a while to make sure something did not screw up. I know you could run a separate video feed on the Raspberry pi but I was looking for something I could view from my office and the company firewall only lets in port 80, so everything coming through that one port is a must. Another issue is the lack of security at the moment in the RepRapWeb, it completely open right now. OctoPrint on the other hand has a sign on, role based model in place to control the 3D printer.
The long and short of it is RepRapWeb has a great deal of potential if your hosting the application on a PC to use as a 3D print controller but right now as a Raspberry PI solution to control your printer remotely it still has a little ways to go. Id stick with OctoPrint.
First, this is really easy to set up and since its U-Verse you already have a static IP address that comes with the U-Verse router/server.
1) Step one, Get your external network IP address. just type http://www.myipaddress.com/ in your browser and you get that.
2) You need to open the firewall for just the app you want. Any app you make available will be just a port on the external IP address. As an example my application which is on the default port 80 of an internal local server is set up as port 8091 of my external IP so I reach it with http://18.104.22.168:8091
a) Go to U-Verse control panel by typing http://192.168.1.254 in you browser
b) In the top tabs select “settings”
c) Under settings select tap for “Firewall”
d) Select the top bar option of “Applications, Pinholes and DMZ”. You should see select a computer as step 1 and edit firewall as step 2. We are going to the step 2 first.
e) Near the bottom of page click “Add a new user-defined application”
f) This part is really strait forward –
i) give it a simple application name
ii) keep protocol on TCP
iii) Port range should is just the port where the application delivers the content in you local network. In a normal web server that’s 80 so the values for both is the number 80.
iv) Leave timeout empty
v) Map to host Port is just whatever you want it to be but remember that is the port your external access is going to be using, I used 8091.
vi) leave the application type blank.
vii) hit add to list
vii) select the back button. You should now be back at the select a computer page.
g) Select you internal server by name or type it’s IP if you have a static on setup
h) down below select “Allow individual applications”
g) back at the edit firewall you can now see your new application in the list. Just move it over to hosted applications using add and your done.
OK that’s it you should now be able to test it using something from outside you local wifi network.
Once you have a working IMG of the RepRapWeb application on your Raspberry PI you probably want to get it tricked out so you can get to controlling your 3D printer. This is a short description of what I did…
When login on to your image the login / password is not your standard one, it’s pi / raspbian. After the image was created I connected it to the network by hardwire to setup my static IP and WIFI. I used a “EDIMAX wireless 802.11 nano USB Adapter” and that worked great for me. Here is the link I used as a reference http://raspberrypihq.com/how-to-add-wifi-to-the-raspberry-pi/
My interfaces file looks like this and my static ip is 192.168.1.97
just run “sudo nano /etc/network/interfaces” make the changes and your ready to disconnect you hard connection.
iface lo inet loopback
iface eth0 inet static
iface wlan0 inet dhcp
OK my next step was streaming video because lets face it you need to see what your doing. This takes a little while but the directions I found are great. Just go to http://jacobsalmela.com/raspberry-pi-webcam-using-mjpg-streamer-over-internet/ and follow those instructions. You want to follow the instructions to set it up as a service.
** A little disclaimer at this point, as if this writing the reprapweb application does not have a video feed embedded in it. I talked to Andrew and he said he’s working on that now and it should be done soon. Until then you have to run a separate browser window for your video streaming. Not a big deal as mjpg_streamer has a default stream running on port 8080 so once your set up it’s a snap to use.