├── MultiDuetWebControl-All-2.01.zip
├── MultiDuetWebControl-Duet-2.01.zip
├── README.md
├── buildAll.sh
├── buildDuet.sh
└── core
├── Multi.htm
├── MultiLanguage.xml
├── fonts
├── Homenaje-Regular.ttf
├── glyphicons.eot
├── glyphicons.ttf
├── glyphicons.woff
└── glyphicons.woff2
└── js
├── MultiDWMC.comm.js
├── MultiDWMC.interface.js
└── MultiDWMC.settings.js
/MultiDuetWebControl-All-2.01.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanalEstes/MultiDuetWebMonitor/c2532ff9f27465a422f635b7be8310e6adc54e13/MultiDuetWebControl-All-2.01.zip
--------------------------------------------------------------------------------
/MultiDuetWebControl-Duet-2.01.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DanalEstes/MultiDuetWebMonitor/c2532ff9f27465a422f635b7be8310e6adc54e13/MultiDuetWebControl-Duet-2.01.zip
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MultiDuetWebMonitorControl
2 |
3 | Multi Duet Web Monitoring and Control is a fully-responsive HTML5-based web interface intended to provide "One Pane of Glass" monitoring, and some limited control, of multiple instances of Duet hardware running reprap firmware.
4 |
5 | Design goals:
6 | * Reuse as much code from Duet Web Control as resonably possible.
7 | * Specifically, use the css, fonts, languages translation xml, without changes.
8 | * Use some of the javascript modules without changes.
9 | * Communicate with RepRapFirmware using HTTP GET requests.
10 | * Provide "Arms length" status through color coding of large areas of the screen.
11 | * Be as "Self Operating" as resonably possible, such as auto-connect, auto-retry, auto status update, and similar.
12 | * Duet Multi is specifically NOT intended to replicate all function of "Duet Web Control".
13 |
14 | Multi Duet Web Monitoring and Control is free software; it is licensed under the terms of the GNU Public License v2.
15 |
16 | ## Supported electronics
17 |
18 | At this time the following platforms are supported:
19 |
20 | * Duet 0.6
21 | * Duet 0.8.5
22 | * Duet WiFi
23 | * Duet Ethernet
24 |
25 |
26 | ## Building Multi Duet Web Monitoring and Control
27 |
28 | Pre-built zips are included. See "Installation" below.
29 |
30 | Multi Duet Web Monitoring and Control can be served from three places:
31 |
32 | 1) Public internet "http://danalspub.com/MultiDWMC/"
33 | 2) Any local file system or web server on your network.
34 | 3) Any Duet on your network, after you upload it (see below) via "http://your-printer/multi.htm"
35 |
36 | Because Multi Duet Web Monitoring and Control uses .css, font, language.xml, and other files from DWC, and these other files will only be present on a Duet, there are two different build scripts provided.
37 |
38 | ./buildAll.sh creates a zip with a directory structure and the required extra files making it suitable for (1) and (2) above, that is "served by a file system or web server".
39 |
40 | ./buildDuet.sh creates a zip with a directory structure and files that will work only when uploaded to a Duet that alread has DWC installed, that is "served by a duet".
41 |
42 | To run either script, open a terminal in the github downloaded root directory and run the desired script. Refer to the build script header to see which other tools you will need. These build scripts should run on OS X or Linux. They will not run on windows.
43 |
44 | Once the script has completed, the resulting .zip file, MultiDuetWebControl-$VERSION.zip can be uploaded with the normal DWC upload process. Just upload the whole zip.
45 |
46 | Once uploaded, invoke it via "http://name-or-ip-of-duet/Multi". It need only be loaded on one Duet to monitor any number of duets.
47 |
48 | These packages can be uploaded via Duet Web Control to update the web interface. Due to the extra compression on the Duet WiFi, it is recommended to test new features on first-generation Duets first.
49 |
50 | ## Internationalization
51 |
52 | Multi Duet Web Control uses the same internationalization as Duet Web Control. See details in the Duet Web Control github project on how to enhance or contribute enhancements to the translations.
53 |
54 | ## Installation
55 |
56 | 1) To install on a stand-alone web server, download the "MultiDuetWebControl-All-$VERSION.zip", unzip the entire directory structure to the location of your choice on the web server, and invoke via a URL that opens page "Multi.htm", such as "http://mywebserver/somedir/multi.htm"
57 |
58 | 2) To install on a local PC file system, download the "MultiDuetWebControl-All-$VERSION.zip", unzip the entire directory structure to the location of your choice on the file system, server, and invoke via a URL that opens page "Multi.htm", such as "file:///C:/Users/Joe/MultiDuet/multi.htm"
59 |
60 | 3) To install on a Duet, download the "MultiDuetWebControl-Duet-$VERSION.zip", uplod to the Duet via normal DWC 'Settings' > 'Upload File(s)' buttons. (Do not unzip; just upload the whole zip). Invoke via URL "http://my-duet-name-or-ip/multi.htm".
61 |
62 | Multi Duet Web Control and Monitoring need only be uploaded to one Duet; after loading, other Duets can be added for monitoring.
63 |
64 | ## General Notes
65 |
66 | * ALL configuration information is kept in browser local storage. This means that if you run DMWMC from a different browser than where you originally set up printers, you must re-enter the printer setup information.
67 |
68 | * Passwords are not encrypted, neither "on the wire" nor in browser storage. This is exactly the same as DWC.
69 |
70 | * Duet firmware has some oddities when clients "just go away" without disconnecting. Try and remember to press "Disconnect All and Stop" before closing the page.
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/buildAll.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Build script for MultiDuetWebMonitor
3 | # The "buildAll" flavor produces a package suitable for a stand-alone web server, or file system.
4 | #
5 | # licensed under the terms of the GNU Public License v3,
6 | # derived from build.sh written by Christian Hammacher 2016-2017 for DWC
7 | # rewritten for Multi Duet Web Control by Danal Estes (c) 2018
8 | #
9 | # The following tools are required:
10 | # - yui-compressor from https://yui.github.io/yuicompressor
11 | # - UglifyJS from https://github.com/mishoo/UglifyJS
12 | # - gzip utility
13 | # Make sure all tools are accessible via your PATH environment variable!
14 |
15 | # Optional paths to the required tools
16 | YUI_COMPRESSOR=yuicompressor
17 | UGLIFYJS=uglifyjs
18 | GZIP=gzip
19 |
20 | # Check for required tools
21 | if [[ ! $(type $YUI_COMPRESSOR 2>/dev/null) ]]; then
22 | echo "yui-compressor not found in PATH!"
23 | echo $PATH
24 | exit
25 | fi
26 |
27 | if [[ ! $(type $UGLIFYJS 2>/dev/null) ]]; then
28 | echo "uglifyjs not found in PATH!"
29 | exit
30 | fi
31 |
32 | if [[ ! $(type $GZIP 2>/dev/null) ]]; then
33 | echo "gzip not found in PATH!"
34 | exit
35 | fi
36 |
37 | # Core directory must contain Multi.htm
38 | if [ ! -f "./core/Multi.htm" ] ; then
39 | echo "core directory doesn't contain Multi.htm"
40 | exit
41 | fi
42 |
43 | # Repository for DWC must be in directory at same level (parallel) to MultiDuetWebMonitor
44 | if [ ! -f "../DuetWebControl/core/html404.htm" ] ; then
45 | echo "DWC repository must be in parallel directory. Not Found."
46 | exit
47 | fi
48 | if [ ! -f "../DuetWebControl/core/js/notify.js" ] ; then
49 | echo "DWC repository must be in parallel directory. Not Found."
50 | exit
51 | fi
52 |
53 | # Get the current version
54 | VERSION=$(perl -nl0e 'print $1 if /MultiDWMC Web Interface Version.*(\d.\d\d).*/' ./core/Multi.htm | tr -d '\0')
55 |
56 | # Create an empty build directory and clean up
57 | if [ -d "./build" ] ; then
58 | rm -r ./build
59 | fi
60 | mkdir ./build
61 | set -- MultiDuetWebControl-All*.zip
62 | if [ -f "$1" ]; then
63 | rm -f ./MultiDuetWebControl-All*.zip
64 | fi
65 |
66 | echo "=> Building compressed Duet Multi Web Control v$VERSION bundle"
67 |
68 | # Copy HTML files and change CSS and JS rels
69 | echo "Changing CSS and JS paths in HTML files"
70 | cp ../DuetWebControl/core/html404.htm ./build/html404.htm
71 | cp ./core/Multi.htm ./build/Multi.htm
72 | sed -i '' '/\' ./build/Multi.htm
76 | sed -i '' '/
10 |
11 |