• This repository has been archived on 24/Nov/2019
  • Stars
    star
    171
  • Rank 222,266 (Top 5 %)
  • Language
    Go
  • License
    GNU Affero Genera...
  • Created almost 7 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A OctoPrint touch interface for TFT touch modules based on GTK+3

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:

  • Print jobs monitoring.
  • Temperature and Filament management.
  • Jogging operations.

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.

  • OCTOPRINT_CONFIG_FILE - Location of the OctoPrint's config.yaml file. If empty the file will be searched at the pi home folder or the current user. Only used for locally installed OctoPrint servers.

  • OCTOPRINT_HOST - OctoPrint HTTP address, example http://localhost:5000, if OctoPrint is locally installed will be read from the config file.

  • OCTOPRINT_APIKEY - OctoPrint-TFT expects an API key to be supplied. This API key can be either the globally configured one or a user specific one if “Access Control”. if OctoPrint is locally installed will be read from the config file.

  • OCTOPRINT_TFT_STYLE_PATH - Several themes are supported, and style configurations can be done through CSS. This variable defines the location of the application theme.

  • OCTOPRINT_TFT_RESOLUTION - Resolution of the application, should be configured to the resolution of your screen, for example 800x480. By default 480x320.

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)

More Repositories

1

ofelia

A docker job scheduler (aka. crontab for docker)
Go
3,002
star
2

go-syslog

Syslog server library for go.
Go
513
star
3

go-candyjs

fully transparent bridge between Go and the JavaScript
Go
455
star
4

dockership

dead simple docker deploy tool
Go
302
star
5

go-defaults

Go structures with default values using tags
Go
274
star
6

go-version

Version normalizer and comparison library for go
Go
136
star
7

go-jsonschema-generator

json-schemas generator based on Go types
Go
118
star
8

ascode

AsCode - Terraform Alternative Syntax
Go
111
star
9

homebrew-hhvm

HHVM repository for Homebrew
Ruby
103
star
10

go-rpi-rgb-led-matrix

Go binding for rpi-rgb-led-matrix an excellent C++ library to control RGB LED displays with Raspberry Pi GPIO.
Go
83
star
11

pynats

[Abandoned] A Python client for the NATS messaging system.
Python
75
star
12

gce-docker

Google Cloud Engine integration for Docker
Go
59
star
13

go-rpi-ws281x

Go bindings for Raspberry Pi PWM library for WS281X LEDs
Go
41
star
14

go-lookup

Small library on top of reflect for make lookups to any Structs or Maps
Go
36
star
15

go-monitor

a simple and extensible way to build monitorizable go process via HTTP.
Go
32
star
16

rocketizer

[Abandoned] Painless Dockerfile transformation to Rocket containers
Go
28
star
17

go-stable

Golang fixed versions tool for your private and public dependencies
Go
23
star
18

passage

SSH tunnels on steroids
Go
22
star
19

go-crxmake

CRX Package generator
Go
19
star
20

currency-detector

Class to detect the currency from any string
PHP
19
star
21

go-rat

tar extension for random access
Go
19
star
22

php-cayley

PHP wrapper of the Google's Cayley graph database REST interface
PHP
18
star
23

go-octoprint

Go library for accessing the OctoPrint's REST API
Go
17
star
24

go-composer

Basic replacement of Composer, the Dependency Manager for PHP
Go
16
star
25

harvester

Harvesterd is a low footprint collector and parser for events and logs
Go
12
star
26

fabric-composer

Deploy system for PHP composer based projects made with Fabric
Python
11
star
27

silex-hateoas

A RESTful example based on Hateoas and Silex
PHP
8
star
28

lemondb

Extensible MongoDB proxy
Go
8
star
29

go-git-aerospike

Example of go-git backed by a Aerospike
Go
7
star
30

go-raa

fast random access filesystem archive
Go
5
star
31

pimple-hack

A Pimple version in Hack/HHVM, just for fun!
PHP
4
star
32

python-solid-example

Simple example implementing SOLID principles with Python
Python
4
star
33

go-etcd-hydrator

Go
4
star
34

bson-hni

C++
3
star
35

pgwire

Go
3
star
36

ansi-slides

Slide with ANSI style!
PHP
3
star
37

go-time-aggregator

Go
3
star
38

bson-php-cpp

Libbson + PHP-CPP
C++
2
star
39

go-personal

A tiny library to score strings as fullnames or emails.
Go
2
star
40

go-mgo-cache

MongoDB interface for a Go cache
Go
2
star
41

dotfiles

Coming back to Linux! My new config files.
C
2
star
42

golang-arm

Docker Image packaging for golang for ARM platforms.
Shell
2
star
43

dockership-site

Dockership documentation
HTML
1
star
44

natstress

A stress tool for NATS Servers
Go
1
star
45

yCrawler

PHP
1
star
46

cli-array-editor

This class provides an easy way to edit arrays in CLI using vim or your preferred editor.
PHP
1
star
47

statsd-ducksboard-backend

A StatsD backend that sends metrics to Ducksboard
JavaScript
1
star
48

docker-arm

Dockerfiles for ARM
Shell
1
star
49

presentations

Repository of presentations
1
star
50

go-bson-schema

Go
1
star