Native App for Duet3d/RRF - Wishlist



  • Hello,

    I've been searching for months for a native app for Duet3D/RepRapFirmware printers but I didn't find anything.
    Octoprint has plenty of them but it still requires another server connected permanently to the printer. It's ok, I've done that on Arduino based printers for many years, but its another moving part that requires constant maintenance. With Duet3d I don't feel the need to have to maintain another server since the firmware is loaded with features and has much more than just GCode.
    Nothing better than an App going directly to the awesome RRFirmware.

    If you feel like me, can you please drop a reply answering: if you had a magic wand, what would you love to see in a native app for your Duet3d/RepRapFirmware printer?

    Many thanks
    Ni



  • @nomukaiki well having something like printoid for RRF would be cool



  • @arhi What do you really like about Printoid?


  • administrators

    What platform are you talking about? If you're looking for an Android app, I made one years ago, although I guess I could polish it again. Anyway, it's still working on Android 11 and lets you find Duets conveniently on the same network.



  • @chrishamm I'm building it on Flutter which deploys for: iOS, Android, Web, MacOs.
    The good thing is that from my early prototype I am able to run it with nice performance on very old mobile devices. I'm using my old daughter's 1st generation iPad and finally I found a good use for it.

    I see that you both are administrators. I could really use some details about the network protocol of the firmware. I am reverse engineering the requests that I do directly to my boards and also the source code of DuetWebControl. But maybe you do have some docs about it?

    Thanks.


  • administrators

    @nomukaiki This app uses mDNS for network discovery and loads the web interface in an embedded browser once a device could be found. The source code is available here: https://github.com/Duet3D/FindMyDuet

    If you're interested in the HTTP requests used by DWC, check out these docs:

    1. HTTP requests in standalone mode
    2. REST requests exposed by the SBC webserver


  • @chrishamm oh this is really useful, it will make my life much easier! Many thanks!
    But kudos to you the vue code is well structured and also easy to grasp quickly (I'm doing good progress on my spare time). Well done.

    Your old Android app seems to have everything that one could wish from an app. I wonder what people see better on the alternatives that require Octoprint than a direct connection? Any info about this would help me focus on the areas that people really need.
    Cheers.



  • for me, the app failed to ever find any of my duet devices (duet 2 ethernet, duet 3, LPC and STM ports) except the duet mini 5+ when running in standalone mode.



  • @jay_s_uk was there an option to add manually?
    What did you use instead? Thanks.


  • administrators

    @jay_s_uk The Duet 2 Ethernet didn't support mDNS until approx. 1 year ago when I added a new responder for it. When was the last time you tried it? I'm not sure about LPC/STM ports because the app scans for "Duet" in the product name, not LPC or STM, and I don't know if these two ports even provide mDNS.

    PS: It may be that the Duet 2 Ethernet cannot be discovered with that app but if you type "<duet hostname>.local" in your browser, you should be able to connect to it. I haven't added a facility to add custom devices to the app yet.



  • @chrishamm ah, well that'll probably be when I last tested it so I stand corrected
    I just installed the app again and can see the duet mini and an LPC+SBC printer.
    Does the duet 2 wifi support it? Is the mDNS built into the wifi firmware or the duet firmware itself?


  • administrators

    @jay_s_uk Yes, the Duet 2 WiFi (and the upcoming Duet 3 Mini 5+) support mDNS and the app supports them because the WiFi firmware sets up its own little mDNS server. On the Duet 3 + SBC (i.e. with DuetPi) we have Avahi running on Linux with a custom service file. On the Duet 2 Ethernet/Maestro we only have a responder for mDNS hostname queries. AFAIK we use mDNS responders by LwIP for Duet 3 Ethernet variants which can be found by the app as well.



  • @chrishamm out of curiosity, why not allowing to enter manually the printer hostname?
    I usually create a portforward on my router so that I can monitor/control the printers outside of the local network. Is this uncommon ?


  • administrators

    @nomukaiki Sure, that's a good idea, I just haven't touched the app for ages πŸ™‚



  • @chrishamm hopefully you will not need to and I manage to complete mine πŸ˜„

    If you have some real responses for rr_status?type=1 2 & 3 on a few different configurations that would be useful, since I only have 2 printers with simple setup (1 tool, 1 extruder, zprobe is bltouch). I could mock this, but having it confirmed from real printers would be ideal. Thanks.


  • administrators

    @nomukaiki See here. Just be aware that the object model (available via rr_model) is preferred because it's exposed by DSF and Duets in standalone mode whereas status responses are not provided by DSF (although you could write an emulator plugin for rr_ requests using the latest DSF beta).



  • @chrishamm many thanks!
    I feel silly not having seen this before from the root of the firmware spec. I was under the impression that the network was a separate module.



  • @nomukaiki said in Native App for Duet3d/RRF - Wishlist:

    @arhi What do you really like about Printoid?

    there is nothing special about it that I specifically like. I like it as it is so far the best app for octoprint that I tried (I did not try many I have to admit), and I like that it works on "el crap" 25eur android phone that I have a bunch of.

    @chrishamm said in Native App for Duet3d/RRF - Wishlist:

    What platform are you talking about? If you're looking for an Android app, I made one years ago, although I guess I could polish it again. Anyway, it's still working on Android 11 and lets you find Duets conveniently on the same network.

    android and ios but mostly android if you ask me. might be cool if you had that app open source if someone is maybe interested to upgrade it πŸ™‚ . it's not very "application like" it's more like web from what I see.. but I don't see anything else available..


  • administrators

    @arhi said in Native App for Duet3d/RRF - Wishlist:

    might be cool if you had that app open source

    @chrishamm said in Native App for Duet3d/RRF - Wishlist:

    The source code is available here: https://github.com/Duet3D/FindMyDuet



  • How would you rank or score the below features for a native app?
    Can you please reply with your preferred order of importance? Most important on top. Thanks.

    1- Available on very old devices (Android, iOS)
    2- Open source
    3- Auto discovery of printers on local network
    4- 3d GCode preview and sync current printing layer
    5- Live webcam
    6- Timelapses
    7- Full management/control/configuration of Duet printer (similar to DWC)
    8- Reduced set of features but adapted for mobile devices (similar to Printoid or DuetPanel)
    9- Status change push notifications
    10- Temperature chart with download full graph option
    11- Dark/Light colour themes
    12- AI detection of failed print (detect skipping filament steps, part detached from base and stringing printing)
    13- Easy and secure remote access from outside of local network

    My preferred order:
    8, 4, 9, 5, 13, 11, 12, 3, 6, 1, 10, 7, 2



  • @nomukaiki said in Native App for Duet3d/RRF - Wishlist:

    How would you rank'

    1- Available on very old devices (Android 4.1 with 128-256MB RAM)
    2- Open source
    5- Live webcam
    13- multiple printers supported in same time
    7- Full control (management and configuration - irrelevant)



  • remote access to a duet in a similar fashion that can can be done with octoprint
    obviously an SBC would be required for this though



  • At one point some time ago I started work on a flutter app to control my printers. Been so busy with other projects I haven’t been able to get back to it.

    https://youtu.be/u6HS1jbjhvA

    There is a lot of potential to build some creative duet controls depending on need.



  • @Sindarius said in Native App for Duet3d/RRF - Wishlist:

    I started work on a flutter app to control my printers

    This is great. Hopefully I will manage to go a bit further. I am focusing first on the application core (network, data layer, reactive services, etc) and then will do the UI. But I also got the basics working quickly, so there is hope πŸ™‚



  • @nomukaiki free for testing if you need any.
    I have enough machines to play with


Log in to reply