mcuadros / OctoPrint-TFT

A OctoPrint touch interface for TFT touch modules based on GTK+3
GNU Affero General Public License v3.0
171 stars 79 forks source link
3d-printing octoprint octoprint-plugin raspberry-pi

This project has been archived, but @Z-Bolt has nicely reborn this project at https://github.com/Z-Bolt/OctoScreen; take a look at it! Looks promising.

OctoPrint-TFT GitHub release [license]()

OctoPrint-TFT, a touch interface for TFT touch modules based on GTK+3.

Is a X application to be executed directly in the X Server without any windows manager, as frontend of a OctoPrint server in a Raspberry Pi equipped with any TFT Touch module.

Allows you to control your 3D Printer, like you can do with any TFT/LCD panel, but using OctoPrint and a Raspberry Pi.

These are some of the functionalities supported:

How this is different from TouchUI?

TouchUI, is an amazing plugin for Octoprint, was created as a responsive design for access to OctoPrint, from low resolution devices, such as smartphones, tablets, etc.

Executing TouchUI under a RPi w/TFT modules, presents two big problems, first isn't optimized to be used with resistive touch screens with low resolutions like 480x320 and second requires a browser to be access, consuming a lot of resources.

This is the main reason because I develop this X application to be executed in my 3d printer.

Installation

Dependencies

OctoPrint-TFT is based on Golang, usually this means that is dependency-less, but in this case GTK+3 is used, this means that GTK+3 libraries are required to be installed on the system.

If you are using Raspbian or any other Debian based distribution, GTK+3 can be installed using:

sudo apt-get install libgtk-3-0

OctoPi does not come with graphical environment, additionally install:

sudo apt-get install xserver-xorg xinit

Installation on Raspbian/OctoPi (recommended)

The recommended way to install OctoPrint-TFT is use the .deb packages from the Releases page. The packages are available for Debian based distributions such as Raspbian and OctoPi for versions jessie and stretch.

For example for a Raspbian Jessie:

> wget https://github.com/mcuadros/OctoPrint-TFT/releases/download/v0.1.0/octoprint-tft_0.1.0-1.jessie_armhf.deb
> dpkg -i octoprint-tft_0.1.0-1.jessie_armhf.deb

Install from source

The compilation and packaging tasks are managed by the Makefile and backed on Docker. Docker is used to avoid installing any other dependencies since all the operations are done inside of the container.

If you need to install docker inside Raspbian or any other linux distrubution just run:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

You can read more about this at docker-install

To compile the project, assuming that you already cloned this repository, just execute the build target, this will generate in build folder all the binaries and debian packages:

> make build
> ls -1 build/

If you are using Raspbian you can install any of the .deb generated packages. If not, just use the compiled binary.

Configuration

Basic Configuration

The basic configuration is handled via environment variables, if you are using the .deb package you can configure it at /etc/octoprint-tft-environment.

Custom controls and commands

Custom controls to execute GCODE instructions and commands to execute shell commands can be defined in the config.yaml file.

The controls are limit to static controls without inputs.

License

GNU Affero General Public License v3.0, see LICENSE

The artwork being use in the at the default style created by @majurca is under the lincese Attribution 3.0 Unported (CC BY 3.0)