Giter Club home page Giter Club logo

klipper-dwc2-installer's Introduction

klipper-DWC2-installer

This installer script is made to streamline the install or upgrade of KLIPPER and Duet Web Control front-end for it. with these 2 together no need to use octoprint, so your hardware will not be bloated nor overloaded. I run mine on orangepi zero with H2+ CPU 512MB and it works nicely. Now the script is based on a new multi-session method, to make an ultimate "Klipper server" to connect multiple printers or only one if needed. You can by running it get klipper installed with DWC2 and octoprint, in less than 5 minutes!

Do not run this script as root, as it will prevent you to do so.

To run it:

cd ~ 
sudo apt install git -y 
git clone https://github.com/manu7irl/klipper-DWC2-installer
cd klipper-DWC2-installer
./installer.sh

You will be presented to an interactive menu to install or update your system. This is pretty staright-forward but if you need help ping me. If you install DWC for the first time, the script will add the default sections, to the end of your printer.cfg file, in order to the tornado web server and the file manager can use the virtual_sdcard function: tip: the virtual_sdcard folder path, can point to your ~/.octoprint/sdcard folder. So an uploaded gcode file through the octoprint ui will also appears on DWC and vice versa.

     "=========================="
     "    INSTALL OR UPDATE     "
     "    KLIPPER & DWC2        "
     "    OCTOPRINT             "
     "    BY MANU7IRL           "
     "=========================="
     "1. Install KLIPPER"
     "2. Update KLIPPER"
     "3. Flash your MCU"
     "4. Install DWC2"
     "5. Update DWC2"
     "6. Install OCTOPRINT"
     "7. Uninstall KLIPPER & DWC"
     "8. Uninstall OCTOPRINT"
     "9. Exit"
[virtual_sdcard]
path: ~/PrinterFarm/KlipperFarm/printer-0/sdcard #use the folder of your choice

[web_dwc2]
# optional - defaulting to Klipper
printer_name: My_own_klipper_printer
# optional - defaulting to 127.0.0.1
listen_adress: 0.0.0.0
# needed - use above 1024 as nonroot user
listen_port: 4750
#	optional defaulting to dwc2/web. Its a folder relative to your virtual sdcard.
web_path: dwc2/web
# optional - defaulting to /tmp/printer, needed in order to get dwc multi-session
serial_path: /tmp/printer-$printer-num

your printer.cfg file should be placed under ~/PrinterFarm/KlipperFarm/printer-{0..9} folder and renamed after the corresponding printer-{0..9} folder. ex: if the folder is printer-0, the printer.cfg file should be printer-0.cfg

##NEW## You will be presented to a set of question to decide to run it on which user and how many printers to be added. Todo list:

  • haproxy to get url like http://localhost/dwc2/printer-0 to point to http://localhost:4750 (DWC2 web ui) and http://localhost/octo/printer-0 to point to http://localhost:5000 (octoprint web ui)
  • integrate the sdcard virtual folder to be symlinked to sdcard folder in klipper ~/sdcard/gcodes (created by DWC2)
  • integrate the new multisession scripts under the main script framework (DONE)
  • automatic install of generic printer.cfg, if needed (DONE PARTIALLY)
  • uninstall klipper script integration (DONE)
  • automatic add to a default printer.cfg file with the DWC & Virtual SDCARD sections (DONE)
  • script to create a klipper back-end server with multiple services to run multiple printers om it, by adding systemd services based on incremented virtual serial path /tmp/printer-{0..9}(DONE)
  • script to create a Octoprint back-end server with multiple services to run multiple printers om it (DONE)
  • script to create a DWC2 multiple server instances to run multiple printers om it, via incremented access port 475{0..9} (DONE)
  • automatic DWC update based on DWC releases (DONE)
  • git-source folder maintained to update all the main repos (klipper, dwc2-for-klipper). (DONE)
  • Octoprint automatically download the latest release from source, and is updatable inside the web ui, so no need to make a script update for it (DONE)
  • Octoprint script, installs autostart via init.d, webcam support (DONE)

klipper-dwc2-installer's People

Contributors

manu7irl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.