Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Web UI Native Wrapper

    Scheduled Pinned Locked Moved
    Duet Web Control wishlist
    9
    22
    4.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • iDeveloundefined
      iDevelo
      last edited by

      @peridot:

      I am interested in accessing the Duet from other programs than the Duet Web Control, but I'm not interested in an alternative UI - the web control is basically fine.

      The application is a wrapper for the web UI and nothing more. Basically a custom web browser.

      1 Reply Last reply Reply Quote 0
      • peridotundefined
        peridot
        last edited by

        @iDevelo:

        @peridot:

        I am interested in accessing the Duet from other programs than the Duet Web Control, but I'm not interested in an alternative UI - the web control is basically fine.

        The application is a wrapper for the web UI and nothing more. Basically a custom web browser.

        I think we're talking at cross purposes here - the Duet provides an interface layer that is HTTP requests and JSON responses (plus some static files). The Duet Web Control is a user interface that is downloaded in those static files and that runs in your browser. Are you proposing a special browser that somehow interacts with the existing Duet Web Control code in a way normal browsers can't? Are you talking about modifying the DWC code so that it can communicate with the browser it runs inside in some special way that only works with your custom browser? Or are you talking about an alternative UI that doesn't use a browser at all, just the HTTP/JSON interface?

        1 Reply Last reply Reply Quote 0
        • iDeveloundefined
          iDevelo
          last edited by

          @peridot:

          @iDevelo:

          @peridot:

          I am interested in accessing the Duet from other programs than the Duet Web Control, but I'm not interested in an alternative UI - the web control is basically fine.

          The application is a wrapper for the web UI and nothing more. Basically a custom web browser.

          I think we're talking at cross purposes here - the Duet provides an interface layer that is HTTP requests and JSON responses (plus some static files). The Duet Web Control is a user interface that is downloaded in those static files and that runs in your browser. Are you proposing a special browser that somehow interacts with the existing Duet Web Control code in a way normal browsers can't? Are you talking about modifying the DWC code so that it can communicate with the browser it runs inside in some special way that only works with your custom browser? Or are you talking about an alternative UI that doesn't use a browser at all, just the HTTP/JSON interface?

          In its simplist form think of the application as Chrome without all the buttons, navigation and address bar. It will load DWC inside the web view.

          1 Reply Last reply Reply Quote 0
          • botundefined
            bot
            last edited by

            They have things similar to this for some mobile phones. You can make any website into a native app, because sometimes the way native apps behave is preferable to the compatible web browser available to you.

            *not actually a robot

            1 Reply Last reply Reply Quote 0
            • T3P3Tonyundefined
              T3P3Tony administrators
              last edited by

              @peridot:

              I am interested in accessing the Duet from other programs than the Duet Web Control, but I'm not interested in an alternative UI - the web control is basically fine (though I encourage you to submit improvements - it is open source!). I'd like a library, preferably in python, that made it easy to control a Duet from a program running on a PC. This is in some ways a simpler task, since it basically just needs to make HTTP requests and then decode the JSON responses. But if such a library were available, it would then be easy to write a UI on top of it, for any platform that supports python.

              My application for the library is to experiment with advanced or alternative probing strategies, or to otherwise use the Z probe to evaluate the mechanical repeatability of your printer. (This is particularly pressing because my printer is unhappy in some as-yet-unexplained way.) You could also do things like experiment with aggressive speed/acceleration/jerk settings and see at what point you begin losing steps or developing severe mechanical slop.

              This is a really good idea actually. Abstracted further it might allow for CAD/CAM programs to directly control a Duet controlled machine. So 1 click send to printer from with Autodesk 123D etc would be more realisable.

              www.duet3d.com

              1 Reply Last reply Reply Quote 0
              • iDeveloundefined
                iDevelo
                last edited by

                @bot:

                They have things similar to this for some mobile phones. You can make any website into a native app, because sometimes the way native apps behave is preferable to the compatible web browser available to you.

                Yeah I've built them before. Facebook app used to be one of them.

                1 Reply Last reply Reply Quote 0
                • peridotundefined
                  peridot
                  last edited by

                  @T3P3Tony:

                  @peridot:

                  My application for the library is to experiment with advanced or alternative probing strategies, or to otherwise use the Z probe to evaluate the mechanical repeatability of your printer. (This is particularly pressing because my printer is unhappy in some as-yet-unexplained way.) You could also do things like experiment with aggressive speed/acceleration/jerk settings and see at what point you begin losing steps or developing severe mechanical slop.

                  This is a really good idea actually. Abstracted further it might allow for CAD/CAM programs to directly control a Duet controlled machine. So 1 click send to printer from with Autodesk 123D etc would be more realisable.

                  It should be possible for it to be a fairly self-contained python module/script, so it might make it easy to (say) make a "Send to Duet" button in Slic3r like the "Send to Octoprint" one. Integration with Cura might be a little easier since its UI is in Python anyway. A flexible binding, though, allows the possibility of two-way communication - the slicer could query the printer to find out what speeds it has been set to allow, for example. More generally I want to make it easy to move complicated tasks off the Duet and into a non-realtime environment with gigabytes instead of kilobytes of memory. Even tasks that should ultimately run on the Duet would be easier to debug on the PC.

                  I haven't looked too closely at what's involved, but I have written a similar hack to let me experiment with programmable calibration by sending G-code over USB to Marlin. So the HTTP/JSON interface really ought not be too bad.

                  1 Reply Last reply Reply Quote 0
                  • Zesty_Lykleundefined
                    Zesty_Lykle
                    last edited by

                    I looked at making some of the Duet's data available in Rainmeter.
                    This way I could have a small customisable meter on my desktop telling the status of the printer.
                    But Rainmeter does not work with AJAX connections and I don't have enough programming experience to make it work. So I gave up, I simply didn't have the time to work on it.

                    Would be fantastic though.

                    Lykle
                    Design, make and enjoy life

                    Co Creator of the Zesty Nimble

                    1 Reply Last reply Reply Quote 0
                    • tomasfundefined
                      tomasf
                      last edited by

                      I'm using a native iOS app I wrote, running on an iPod touch mounted on my printer, as a sort of a replacement for a PanelDue. The advantage is that you get some things basically for free, like nice scrolling lists.

                      1 Reply Last reply Reply Quote 0
                      • iDeveloundefined
                        iDevelo
                        last edited by

                        This is basically all it is.

                        Ive managed to get it to automatically scan the local IP range and connect.

                        Its just a clean way to use DWC as you don't need any of the bloat from a browser.

                        1 Reply Last reply Reply Quote 0
                        • Jackalundefined
                          Jackal
                          last edited by

                          I can get a similar UI if I use the -app parameter (standalone web app mode) with Chrome
                          though there is not auto scanning

                          1 Reply Last reply Reply Quote 0
                          • iDeveloundefined
                            iDevelo
                            last edited by

                            @Jackal:

                            I can get a similar UI if I use the -app parameter (standalone web app mode) with Chrome
                            though there is not auto scanning

                            Yeah and my app uses the same blink engine.

                            I've also got it to display the print status if you hover over the tray icon on windows so that's pretty neat.

                            Next up is to test sending an SMS message through clickatell when a print completes.

                            1 Reply Last reply Reply Quote 0
                            • Dougal1957undefined
                              Dougal1957
                              last edited by

                              @iDevelo

                              Would you care to share your Wrapper? (Will it work on both Mac and Windows?)

                              Doug

                              1 Reply Last reply Reply Quote 0
                              • iDeveloundefined
                                iDevelo
                                last edited by

                                @Dougal1957:

                                @iDevelo

                                Would you care to share your Wrapper? (Will it work on both Mac and Windows?)

                                Doug

                                Yeah it will go on GitHub and yeah it will work on Windows/Linux/Mac

                                When I put the sources on GitHub I'll also add a folder with compiled versions for Windows & Mac but only rpms for RHEL 6/7 (CentOS, Redhat) for Linux.

                                1 Reply Last reply Reply Quote 0
                                • Dougal1957undefined
                                  Dougal1957
                                  last edited by

                                  Good Man?

                                  1 Reply Last reply Reply Quote 0
                                  • botundefined
                                    bot
                                    last edited by

                                    Very nice work.

                                    *not actually a robot

                                    1 Reply Last reply Reply Quote 0
                                    • T3P3Tonyundefined
                                      T3P3Tony administrators
                                      last edited by

                                      Great!

                                      www.duet3d.com

                                      1 Reply Last reply Reply Quote 0
                                      • chrishammundefined
                                        chrishamm administrators
                                        last edited by

                                        Meanwhile there's an open-source app for Android (Find My Duet), see https://play.google.com/store/apps/details?id=com.chham.FindMyDuet&hl=de and https://github.com/chrishamm/FindMyDuet for the sources

                                        I don't really see the need in a desktop application though. If anyone needs more hooks/events for DWC, feel free to open new issues either on my DWC or FindMyDuet repos and I'll see how I can help.

                                        Duet software engineer

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post
                                        Unless otherwise noted, all forum content is licensed under CC-BY-SA