3DPrinterStatus
- description
- downloads
- development status
- screenshots
- features planned/ done
- info
- licenses
- creating local build environment
project is based on cordova build environment and so written in NodeJS and cordova specific plugins - currently only builds for android available
contribution to this project is likely welcome
Give an alternative way to reach 3D printer e.g. 'Bresser Rex' or 'Flashforge Adventurer III' directly in an app for getting the current state of print job and watching the live video stream from internal webcam. Futher there are thougts to use that information to gather some statistics for visualization and use the state changes of printer for further switching of external IFTTT devices. If you have other cool ideas please raise a feature request
you can find already given and described content features here
and UX marked features here
you can reach the latest release here
goto the last (green) workflow run and find the .apk file in the artifact section below
you can raise a feture or bug reqest here and also use this information
- open content the app recognized the finish state of the current job. This state could trigger a smart plug with MQTT or IFTTT. So it is maybe possible to integrate with a specific call on an url or direct MQTT integration.
- open content prevent connection with default values or inform user about the try to connect with default values
- done UX animation of changed values from printer, to recognize easily the changed value
- open UX button connect should be according to the current session state (currently: state info with butto color and button text without a direct understandable connection)
- done UX IP of printer should be directly take over for the webcam or at least offered
- open content also offer modeling tools e.g. freeCAD oder tinkerCAD
- open content offer temperature graph
- open content idea -> visualize current layer of printing with the XYZ data (why? Don't know! ;-) )
- open UX darkmode: invert colors to get dark environment
- open UX darkmode: switch darkmode with systemsettings
- open UX notification: local push notification, if printer job is done
- open UX notification: local push notification, if printer stopped before done, e.g. filament error (empty)
- open UX notification: progess should be optionally shown as an notification
- open content searching for printer in the local network, present result and give the option to take over to the printer connection
- open content show the video stream of webcam directly inside the app
- done UX notification: local push notification with progress as a permanent info during printing
- open UX notification: should be switchable on/off in settings
- done content stablize session to the printer - re-connect if connection lost, but the user still required an open connection (connect button -> not manually disconnected)
- done content notification: local single push notification every 10% during printing
- current usage (at least until 0.0.1.0172) of connect/ disconnect button colors -> orange = is initialized / green = is connected / red = error occured (check debug log, e.g. BLOCKED means PC has already active connection to printer)/ blue = session releasing or finished
- "Bresser REX" offer itself as a "Flashforge Adventurer III"
- logo was taken from here Image by macrovector on Freepik
- ui template/ javascript based on https://github.com/chrisbroski/aerophane
(almost same on windows)
sudo apt install nodejs npm
sudo npm install -g cordova
sudo apt-get install openjdk-11-jdk
see also https://cordova.apache.org/docs/en/11.x/guide/platforms/android/index.html#requirements-and-support
cd /usr/share
sudo mkdir android_sdk
goto the download page for cmd line tools https://developer.android.com/studio/index.html#command-line-tools-only
unzip download to /usr/share/android_sdk
sudo unzip commandlinetools-linux-9477386_latest.zip -d /usr/share/android_sdk
cd /usr/share/android_sdk
sudo mkdir latest
cd /usr/share/android_sdk/cmdline-tools
sudo mv * ../latest
cd /usr/share/android_sdk/
sudo mv latest /usr/share/android_sdk/cmdline-tools
edit your ~/.bash_profile or ~/.profile
export ANDROID_SDK_ROOT=/usr/share/android_sdk
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator/
reload terminal pathes
source ~/.profile
now e.g. for checking
sdkmanager --list
sdkmanager --list_installed
walking through the list for all the possible downloads/ installer
install needed build-tools
sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install "build-tools;30.0.3"
install platform with api level 30
sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-30"
cd ~
wget https://services.gradle.org/distributions/gradle-8.0.2-bin.zip
sudo unzip gradle-8.0.2-bin.zip -d /usr/share
export PATH=$PATH:/usr/share/gradle-8.0.2/bin
goto to your project folder (clone of git repo)
npm install
cordova platform add android
goto to your cordova project folder
cordova requirements
cordova build