All Projects → mcuadros → Octoprint Tft

mcuadros / Octoprint Tft

Licence: agpl-3.0
A OctoPrint touch interface for TFT touch modules based on GTK+3

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Octoprint Tft

Boombeastic
A Raspberry Pi based smart connected speaker with support for airplay, spotify, mpd and local playback
Stars: ✭ 195 (+13.37%)
Mutual labels:  raspberry-pi, 3d-printing
Pycnc
Python CNC machine controller for Raspberry Pi and other ARM Linux boards
Stars: ✭ 390 (+126.74%)
Mutual labels:  raspberry-pi, 3d-printing
Pigeon
Pigeon is a simple 3D printed cloud home surveillance camera project that uses the new Raspberry Pi Zero W
Stars: ✭ 266 (+54.65%)
Mutual labels:  raspberry-pi, 3d-printing
Photonic3d
Control software for resin 3D printers
Stars: ✭ 108 (-37.21%)
Mutual labels:  raspberry-pi, 3d-printing
Awesome Raspberry Pi
curated list of projects with raspberry pi
Stars: ✭ 309 (+79.65%)
Mutual labels:  raspberry-pi, 3d-printing
Raspberryturk
The Raspberry Turk is a robot that can play chess—it's entirely open source, based on Raspberry Pi, and inspired by the 18th century chess playing machine, the Mechanical Turk.
Stars: ✭ 140 (-18.6%)
Mutual labels:  raspberry-pi, 3d-printing
Raspipool
Swimming Pool Automation Systen with Raspberry Pi + Home Assistant
Stars: ✭ 165 (-4.07%)
Mutual labels:  raspberry-pi
Stressberry
Stress tests for the Raspberry Pi
Stars: ✭ 167 (-2.91%)
Mutual labels:  raspberry-pi
Ansible Raspi Playbooks
Playbooks for setup and updating of raspberry pi projects.
Stars: ✭ 162 (-5.81%)
Mutual labels:  raspberry-pi
Arm Assembly Cheat
MOVED TO: https://github.com/cirosantilli/linux-kernel-module-cheat#userland-assembly SEE README. ARMv7 and ARMv8 assembly userland minimal examples tutorial. Runnable asserts on x86 hosts with QEMU user mode or natively on ARM targets. Nice GDB step debug setup. Tested on Ubuntu 18.04 host and Raspberry Pi 2 and 3 targets.
Stars: ✭ 159 (-7.56%)
Mutual labels:  raspberry-pi
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (-0.58%)
Mutual labels:  raspberry-pi
Pico Micropython Examples
Examples to accompany the "Raspberry Pi Pico Python SDK" book.
Stars: ✭ 168 (-2.33%)
Mutual labels:  raspberry-pi
Spypi
An (un-)ethical hacking-station based on Raspberry Pi and Python
Stars: ✭ 167 (-2.91%)
Mutual labels:  raspberry-pi
Pihole Unbound
Guide to setup Unbound recursive DNS resolver with Pi-Hole. With additional configs for speed and security!! 🚀🔒
Stars: ✭ 165 (-4.07%)
Mutual labels:  raspberry-pi
Div Games Studio
Complete cross platform games development package, originally for DOS but now available on modern platforms.
Stars: ✭ 168 (-2.33%)
Mutual labels:  raspberry-pi
Rpi wordclock
Software to create a Raspberry Pi based wordclock
Stars: ✭ 164 (-4.65%)
Mutual labels:  raspberry-pi
Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+7166.28%)
Mutual labels:  raspberry-pi
Repo 2018
Deep Learning Summer School + Tensorflow + OpenCV cascade training + YOLO + COCO + CycleGAN + AWS EC2 Setup + AWS IoT Project + AWS SageMaker + AWS API Gateway + Raspberry Pi3 Ubuntu Core
Stars: ✭ 163 (-5.23%)
Mutual labels:  raspberry-pi
Bme680 Python
Python library for the BME680 gas, temperature, humidity and pressure sensor.
Stars: ✭ 167 (-2.91%)
Mutual labels:  raspberry-pi
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (-1.16%)
Mutual labels:  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:

  • 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)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].