GithubHelp home page GithubHelp logo

dj0abr / qidi_connect Goto Github PK

View Code? Open in Web Editor NEW
9.0 5.0 1.0 967 KB

Communication with QIDI 3D printers

Home Page: http://www.dj0abr.de

Makefile 0.06% C 3.61% G-code 78.19% HTML 0.85% PHP 0.17% CSS 0.11% JavaScript 16.97% C++ 0.04%
qidi 3dprinter 3ddrucker 3d printer drucker 3d-printing 3d-printer x-max x-tech

qidi_connect's Introduction

QIDI_connect

Webbrowser based Communication with QIDI 3D printers for Linux

Version 0.5 (May,24 2020)

qidi_connect web interface

LIVE sample from my QIDI X-MAX: http://wx.spdns.de:8085 (24/7 online, but of course not always doing a print job)

All in one nice GUI in a Web Browser:

  • show QIDI 3D printer status
  • show files on SD card
  • gcode file upload
  • start 3d print job
  • embed webcams

System requirements:

a LINUX computer, like an SBC (Raspberry PI, Odroid...) but also any other Linux Destop PC. A network connection to your QIDI 3D printer

Current functions

  • automatically find the IP address of the QIDI 3D printer. One printer is currently supported, until QIDI sends me a second one for free:-)
  • reading the machine parameters
  • reading the printer staus
  • diplaying these information on the screen
  • lists files on the SD card
  • file upload to the 3D printer.
  • start print job
  • view status in a bowser

build the software

make clean
make

prepare the system

run the script:

./prepare_ubuntu

prepare php for uploading big files

as root open the php.ini file. It is located in /etc/php/..../php.ini  (.... depends on the version number)

change these lines:

upload_max_filesize
post_max_site
memory_limit

set to a value larger then your largest gcode file, i.e.: 300M

After changing the file restart apache or reboot (sudo service spache2 restart)

start the software

in the folder where qidi_connect is located: 
sudo ./qidi_connect [options]

(sudo is needed because qidi_connect needs to write files into the apache html folder)

options:
-v ... verbose, show a lot of debugging messages
-V ... version information

stopping this software

you can safely stop the software either by entering x-Enter or by pressing Ctrl-C.

using the software

When you start the software watch the messages in the terminal. 
It shows if your printer was found and if status messages can be downloaded.
If all works as expected, then open a WebBrowser in any device in your 
local home network and browse to the IP address of you Raspberry PI or other 
Linux computer used for this software.

The GUI should be easy to use without any other instructions

embedding a camera

this has nothing to do with this software, but makes the GUI looking nicer.

I am doing this on a raspberry PI. I have a standard raspberry PI 
camera connected to the camera port.

The following is already done by the script: prepare_ubuntu:

first install mpeg_streamer from the github repo: mjpg-streamer-experimental

Then start your camera with this command:
./mjpg_streamer -i "./input_uvc.so -vf true -hf true  -f 25 -r 640x480" -o "./output_http.so -p 8086 -w ./www"

It will stream the video to port 8086.
Now open the file index.html, look for 8086 and modify the URL so 
it points to your computer.

The website index.html is prepared to display two video streams. 
If you don't need it then simply delete the video links (see comment in index.html)

access from outside your home through the internet

if you plan to use this software from a publich place, 
then set a password in handler.php !!!!!!!
Do not use the default password 1234 if the ports 
are open for the public !!!!!!

printing time calculation

if the upload was done using this software, then the total printing time
was calculated and stored in a file.
The printing times shown on the screen are close to the real time.

If the file was copied to the USB stick in another way, then the printing time is calculated
by the file position which can be very unprecise.

credits

this software uses a modified version of gcodestat written by Bogdan Kecman "arhi" from the github repository: https://github.com/arhi/gcodestat

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.