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

Octolapse-Like Timelapses

Scheduled Pinned Locked Moved
General Discussion
9
29
6.0k
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.
  • undefined
    resam
    last edited by 10 Jul 2018, 05:51

    @deckingman sure - but if you are using slicer-retract + zhops you might run into problems. And since I'm already doing post-processing, why not make it explicit?

    But as far as I understand, the M118 insertion is not the problem @Railgunner13f has right now.

    @Railgunner13f the code snippet I posted is a python script, so your shebang should be something like #!/usr/bin/env python3. You still need some glue code around that to open and read/write the Telnet connection (a simple TCP socket).

    1 Reply Last reply Reply Quote 1
    • undefined
      deckingman
      last edited by 10 Jul 2018, 05:59

      Ahhhhh, that's true - forgot about Z hop ( don't use it myself).

      Ian
      https://somei3deas.wordpress.com/
      https://www.youtube.com/@deckingman

      1 Reply Last reply Reply Quote 0
      • undefined
        Railgunner13f
        last edited by 10 Jul 2018, 06:29

        Inserting the gcode is easy in S3d. my problem is the python script and telnet and glue? I am a mechanical engineer. I can modify some code but I cant write it outright.

        1 Reply Last reply Reply Quote 0
        • undefined
          Railgunner13f
          last edited by 11 Jul 2018, 00:33

          I tried using telnet to connect to the duet. I can ping it fine. But the telnet fails. the Duet & the Pi are on the same wireless network.

          --- 192.168.1.113 ping statistics ---
          10 packets transmitted, 10 received, 0% packet loss, time 9007ms
          rtt min/avg/max/mdev = 18.092/112.886/221.724/69.362 ms
          pi@octopi:~ $ telnet 192.168.1.113 23
          Trying 192.168.1.113...
          telnet: Unable to connect to remote host: Connection refused

          undefined 1 Reply Last reply 11 Jul 2018, 02:03 Reply Quote 0
          • undefined
            Danal @Railgunner13f
            last edited by 11 Jul 2018, 02:03

            @railgunner13f said in Octolapse-Like Timelapses:

            I tried using telnet to connect to the duet. I can ping it fine. But the telnet fails. the Duet & the Pi are on the same wireless network.

            --- 192.168.1.113 ping statistics ---
            10 packets transmitted, 10 received, 0% packet loss, time 9007ms
            rtt min/avg/max/mdev = 18.092/112.886/221.724/69.362 ms
            pi@octopi:~ $ telnet 192.168.1.113 23
            Trying 192.168.1.113...
            telnet: Unable to connect to remote host: Connection refused

            Do you have telnet turned on in your configuration?

            M586 P2 S1

            Or M586 with no parms to read current state.

            Delta / Kossel printer fanatic

            1 Reply Last reply Reply Quote 1
            • undefined
              Railgunner13f
              last edited by 11 Jul 2018, 04:26

              That was it! Thanks Danal. Now time for a crash course in python to figure out what to do with the telnet message.

              1 Reply Last reply Reply Quote 0
              • undefined
                resam
                last edited by 13 Jul 2018, 17:03

                FYI: I created a tool to take timelapse snapshots on every layer change: https://forum.duet3d.com/topic/6058/timelapse-pictures-videos-with-duet-and-webcam-on-layer-change

                1 Reply Last reply Reply Quote 1
                • undefined
                  T3P3Tony administrators
                  last edited by 13 Jul 2018, 18:43

                  Octolapse has now added a function to compare each picture and fire a warning if the difference is "too great"

                  https://twitter.com/ppaukstelis/status/1017576602266370048?s=19

                  www.duet3d.com

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    punamenon
                    last edited by 10 Sept 2018, 08:43

                    I'm working on similar. Instead of doing it every layer, I want to take the photos every 30 Seconds. Is there a way to trigger a macro to run based on a time interval?

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      resam
                      last edited by 10 Sept 2018, 08:56

                      If you want to make it every 30 seconds - what do you need a macro for? You don't even have to use a slicer plugin - just a simple script to take the picture on you webcam / Raspberry Pi:

                      while True:
                          takePicture()
                          time.sleep(30)
                      
                      1 Reply Last reply Reply Quote 0
                      • undefined
                        punamenon
                        last edited by 10 Sept 2018, 09:03

                        Because I'm not using a Raspberry Pi, or a webcam. I'm trying to accomplish it all through the DUET.

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          AlexLin
                          last edited by 10 Sept 2018, 12:10

                          Use an mobile phone's audio jack (4 connections) and connect it to the Duet Wifi trhough an opto coupler. the pin connects the pin on the audio jack to ground (i think with 200ohm).Then the phone takes an image.
                          The G-code is modified through a script that adds g-code on each layer that moves thehead to a fixed position toggles the pin.
                          link text

                          undefined 1 Reply Last reply 10 Sept 2018, 21:39 Reply Quote 0
                          • undefined
                            punamenon @AlexLin
                            last edited by 10 Sept 2018, 21:39

                            @alexlin said in Octolapse-Like Timelapses:

                            The G-code is modified through a script that adds g-code on each layer

                            This is the same approach as discussed previously. I'm trying to trigger the event not on layer change, but instead at a specified time interval.

                            undefined 1 Reply Last reply 11 Sept 2018, 05:35 Reply Quote 0
                            • undefined
                              AlexLin @punamenon
                              last edited by 11 Sept 2018, 05:35

                              @punamenon if you want to do it at certain time intervals and with no relation to the g-code, I would just use an external controller like and arduino/attiny...you can then still connect an io from the Duet to the Arduino to indicate when to start/stop a timelapse.

                              undefined 1 Reply Last reply 11 Sept 2018, 05:40 Reply Quote 0
                              • undefined
                                punamenon @AlexLin
                                last edited by 11 Sept 2018, 05:40

                                @alexlin This is probably what I will resort to, but I shouldn't have to. The Aduino DUE which the DUET is based off should have full clock functionality. We just need to get a timer implemented in the firmware. I wish I was a programmer, I would join the Dev. team.

                                undefined 1 Reply Last reply 11 Sept 2018, 09:28 Reply Quote 0
                                • undefined
                                  AlexLin @punamenon
                                  last edited by 11 Sept 2018, 09:28

                                  @punamenon I agree that what I miss most with the Due vs Octoprint is the possibility to add plug-ins like Octoprint has

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    punamenon
                                    last edited by 12 Sept 2018, 03:02

                                    I've succeeded in accomplishing Octolapse-Like Timelapse videos without using a raspberry pi: https://youtu.be/CwHVQ81GfXw

                                    Total project cost was under $10

                                    It would still be nice to be able to trigger photos based on a time interval.

                                    Phaedruxundefined 2 Replies Last reply 12 Sept 2018, 03:46 Reply Quote 1
                                    • Phaedruxundefined
                                      Phaedrux Moderator @punamenon
                                      last edited by 12 Sept 2018, 03:46

                                      @punamenon nicely done.

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      1 Reply Last reply Reply Quote 1
                                      • Phaedruxundefined
                                        Phaedrux Moderator @punamenon
                                        last edited by Phaedrux 9 Dec 2018, 04:51 12 Sept 2018, 04:44

                                        @punamenon now I understand why you were asking about running the pause and resume macros before.

                                        But I'm wondering why you didn't just use M226 to pause. Nevermind. I understand now. M226 can only be resumed manually.

                                        I suppose Instead of pausing you could have inserted a retraction and G1 move to get the head out of the way, trigger the photo, and then the print head should move back to where it's needed to continue the print, shouldn't it?

                                        Z-Bot CoreXY Build | Thingiverse Profile

                                        undefined 1 Reply Last reply 12 Sept 2018, 05:45 Reply Quote 0
                                        • undefined
                                          punamenon @Phaedrux
                                          last edited by 12 Sept 2018, 05:45

                                          @phaedrux Wow, that would be cleaner! I should test it.

                                          I was originally trying to accomplish it all through macros where I inserted a single line into the Gcode at each layer change: M98 Ptake_a_photo.g

                                          Within that Macro I was trying to call pause.g and resume.g which lead to the problems with the parser that I also made a post about. With your simplified approach, I might be able to get it to work the way I was originally trying. I'll do a little testing tomorrow, and let you know how it turns out.

                                          Phaedruxundefined 1 Reply Last reply 12 Sept 2018, 05:51 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA