Przeglądaj źródła

Added some 3D printer photos and text. Added OctoTray page.

Thomas Buck 3 lat temu
rodzic
commit
3914183add
37 zmienionych plików z 187 dodań i 101 usunięć
  1. 80
    25
      input/projects/3d-printing/fabrikator-mini.md
  2. 63
    64
      input/projects/3d-printing/ikea-lack.md
  3. 19
    11
      input/projects/3d-printing/octoprint.md
  4. 24
    0
      input/projects/3d-printing/octotray.md
  5. 1
    1
      macros.py
  6. BIN
      static/img/fabmin_disp_1.jpg
  7. BIN
      static/img/fabmin_disp_1_small.jpg
  8. BIN
      static/img/fabmin_disp_2.jpg
  9. BIN
      static/img/fabmin_disp_2_small.jpg
  10. BIN
      static/img/fabmin_disp_3.jpg
  11. BIN
      static/img/fabmin_disp_3_small.jpg
  12. BIN
      static/img/fabmin_spool_1.jpg
  13. BIN
      static/img/fabmin_spool_1_small.jpg
  14. BIN
      static/img/fabmin_spool_2.png
  15. BIN
      static/img/fabmin_spool_2_small.png
  16. BIN
      static/img/fabmin_spool_3.jpg
  17. BIN
      static/img/fabmin_spool_3_small.jpg
  18. BIN
      static/img/fabmin_spool_4.jpg
  19. BIN
      static/img/fabmin_spool_4_small.jpg
  20. BIN
      static/img/fabmin_webcam_1.jpg
  21. BIN
      static/img/fabmin_webcam_1_small.jpg
  22. BIN
      static/img/fabmin_yfan_1.jpg
  23. BIN
      static/img/fabmin_yfan_1_small.jpg
  24. BIN
      static/img/fabmin_yfan_2.jpg
  25. BIN
      static/img/fabmin_yfan_2_small.jpg
  26. BIN
      static/img/fabmin_yfan_3.jpg
  27. BIN
      static/img/fabmin_yfan_3_small.jpg
  28. BIN
      static/img/fabmin_yfan_4.jpg
  29. BIN
      static/img/fabmin_yfan_4_small.jpg
  30. BIN
      static/img/fabmin_yfan_5.jpg
  31. BIN
      static/img/fabmin_yfan_5_small.jpg
  32. BIN
      static/img/fabmin_zfan_1.jpg
  33. BIN
      static/img/fabmin_zfan_1_small.jpg
  34. BIN
      static/img/lack-simple-bracket.png
  35. BIN
      static/img/lack-simple-bracket_small.png
  36. BIN
      static/img/octotray_1.png
  37. BIN
      static/img/octotray_1_small.png

+ 80
- 25
input/projects/3d-printing/fabrikator-mini.md Wyświetl plik

@@ -22,7 +22,31 @@ Of course, as with every printer, there were some rough spots and problems, but
22 22
 
23 23
 TODO photos
24 24
 
25
-### Power Supply Replacement
25
+## Spool mount
26
+
27
+One of the first problems I ran into was mounting the filament spool.
28
+I found a [ready-made solution on Thingiverse](https://www.thingiverse.com/thing:1057433), which I was using for a while, until I switched to a different brand whose spool did no longer fit.
29
+Because of that, [I designed my own holder](https://www.thingiverse.com/thing:1427890).
30
+
31
+<!--%
32
+lightgallery([
33
+    [ "img/fabmin_spool_1.jpg", "My spool holder" ],
34
+    [ "img/fabmin_spool_2.png", "Design of my spool holder" ],
35
+    [ "img/fabmin_spool_3.jpg", "Spool holder on printer" ],
36
+    [ "img/fabmin_spool_4.jpg", "Original I modeled mine after" ]
37
+])
38
+%-->
39
+
40
+## Feet
41
+
42
+With a heavy filament spool mounted on the backside of the printer, it was no longer standing upright.
43
+Because of that, bigger feet were needed.
44
+Luckily, there was also [something available already](https://www.thingiverse.com/thing:1396469).
45
+I just had to [cut a bit off in OpenSCAD]() to get matching front feet.
46
+
47
+TODO photos
48
+
49
+## Power Supply Replacement
26 50
 
27 51
 I did not really trust the stock power supply and I also needed more power available for further modifications.
28 52
 So one of the first steps was replacing the power supply.
@@ -34,13 +58,13 @@ In my configuration, the power supply is always turned on, powering the Raspberr
34 58
 
35 59
 TODO photos
36 60
 
37
-### Heatbed Replacement
61
+## Heatbed Replacement
38 62
 
39 63
 One of the first problems I ran into were with the printing surface.
40 64
 In its stock configuration, the Fabrikator Mini has an acrylic sheet with blue painters masking tape on top as its print surface.
41 65
 This works, but I was not entirely happy with the adhesion of PLA and the need to frequently replace the tape or even use stuff like glue or hairspray to keep the prints firmly in place.
42 66
 So I did a search on eBay, and found a vendor offering replacement aluminum heatbeds specifically for the Fabrikator Mini. They were made `tinyfab.xyz`, they now have their own [webshop listing the heatbed](https://www.tinyfab.xyz/product-page/mini-fabrikator-v1-1-5-alu-heatbed). Unfortunately, it no longer seems to be available.
43
-I've also bough a 80mm wide kapton tape roll and have been using this as a print surface on the aluminum heatbed ever since, only replacing it when needed after I damaged it on print removal.
67
+I've also bought a 80mm wide kapton tape roll and have been using this as a print surface on the aluminum heatbed ever since, only replacing it when needed after I damaged it on print removal.
44 68
 Depending on how you solder the power supply wires to the heatbed, it can either run in a 15W or a 60W configuration.
45 69
 I found the 15W setting to be painfully slow in reaching usable temperatures, so I have been using the 60W variant basically from the beginning.
46 70
 Of course, as mentioned before, I used a beefier power supply for this that can handle the load. I did not however replace the DC connector on the printer or use a MOSFET or anything special. Both the connector and the (in stock unused) heatbed MOSFET seem to be able to handle the load in my configuration, even for very long prints.
@@ -48,7 +72,17 @@ I did have some problems with properly routing the cables for the heatbed, a cou
48 72
 
49 73
 TODO photos
50 74
 
51
-### Mesh Bed Leveling
75
+## Custom Firmware
76
+
77
+Luckily the main board already has a MOSFET for the heated print bed that was unused in the original setup.
78
+But of course, to enable support for the heatbed, I had to compile my own custom Marlin firmware.
79
+This is also recommended for safety reasons, as the chinese manufacturers often leave out the temperature runaway shutoff in their firmware config.
80
+
81
+
82
+
83
+I also wrote [this blog post](2016_03_24_marlin_fabrikator_mini.html) about my Marlin modifications.
84
+
85
+## Mesh Bed Leveling
52 86
 
53 87
 Even though it probably shouldn't be necessary for such a small printbed, I did still have some first layer adhesion issues with the aluminum printbed. Especially one corner seems to be a bit bent. So I enabled Mesh Bed Leveling in my Marlin Firwmare (see below) and also wrote a little [GUI Tool to assist the leveling process](https://git.xythobuz.de/thomas/Bed-Leveling-Utility). It is also on [GitHub](https://github.com/xythobuz/Bed-Leveling-Utility).
54 88
 
@@ -62,7 +96,7 @@ Here is my latest measured mesh, for example. Also be aware that these values di
62 96
 
63 97
 And this is really just an example! Do not just copy these values to your printer, they will differ of course.
64 98
 
65
-### Temperature Issues
99
+## Temperature Issues
66 100
 
67 101
 With all of this added load, and even in its stock configuration, the Fabrikator Mini electronics and stepper motors run very hot.
68 102
 So hot that I did not feel comfortable leaving it like this.
@@ -76,9 +110,18 @@ Here are the link to the fan mount designs:
76 110
  * [Y-Axis motor fan](https://www.thingiverse.com/thing:1454399)
77 111
  * [Z-Axis motor fan](https://www.thingiverse.com/thing:1531538)
78 112
 
79
-TODO photos
113
+<!--%
114
+lightgallery([
115
+    [ "img/fabmin_yfan_1.jpg", "Y-axis fan" ],
116
+    [ "img/fabmin_yfan_2.jpg", "Y-axis fan" ],
117
+    [ "img/fabmin_yfan_3.jpg", "Y-axis fan" ],
118
+    [ "img/fabmin_yfan_4.jpg", "Y-axis fan" ],
119
+    [ "img/fabmin_yfan_5.jpg", "Y-axis fan" ],
120
+    [ "img/fabmin_zfan_1.jpg", "Z-axis fan" ]
121
+])
122
+%-->
80 123
 
81
-### Z-Axis Noise and Wobble
124
+## Z-Axis Noise and Wobble
82 125
 
83 126
 Right from the start I noticed a very painful high-pitched squealing noise coming from the Z-axis whenever it moved.
84 127
 Even with lubrication I was not able to resolve this.
@@ -90,7 +133,7 @@ It does in fact stop the noise, and fortunately I cannot notice or measure any z
90 133
 
91 134
 TODO photo
92 135
 
93
-### Part Cooling Fan
136
+## Part Cooling Fan
94 137
 
95 138
 Even though print results were already pretty good, there was still some sagging noticeable on sections with long bridges, and also some stringing issues.
96 139
 Of course, the only real solution for these issues with PLA is a part cooling fan.
@@ -101,16 +144,22 @@ TODO photo
101 144
 
102 145
 TODO wiring hotend heatbed part-fan hotend-fan
103 146
 
104
-### Full Graphics Smart LCD
147
+## Full Graphics Smart LCD
105 148
 
106 149
 To be able to properly control the printer and print from the SD Card (before I was using OctoPrint), it is very useful to install some kind of display for status informations and changing settings on-the-fly.
107
-One of the most common solutions there is the [Full Graphics Smart Controller](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller) that is available as cheap chinese clones easily.
150
+One of the most common solutions out there is the [Full Graphics Smart Controller](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller) that is available as cheap chinese clones easily.
108 151
 As there was no good mounting solution available that could also be printed with the Fabrikator Mini itself, I designed [these small mounting brackets](https://www.thingiverse.com/thing:1441146) to hang the display from the front acrylic plate cutout of the machine.
109 152
 The controller board already has connectors available for the LCD. Just take care that the pinout matches, if I remember correctly I had to switch the connectors around.
110 153
 
111
-TODO photo
154
+<!--%
155
+lightgallery([
156
+    [ "img/fabmin_disp_1.jpg", "Full Graphics Smart LCD on Fabrikator Mini" ],
157
+    [ "img/fabmin_disp_2.jpg", "Mounting brackets, far view" ],
158
+    [ "img/fabmin_disp_3.jpg", "Mounting brackets, near view" ]
159
+])
160
+%-->
112 161
 
113
-### Raspberry Pi Zero
162
+## Raspberry Pi Zero
114 163
 
115 164
 Of course, to really properly utilize a 3D printer, you need OctoPrint!
116 165
 This is normally used in conjunction with a Raspberry Pi connected to the printer.
@@ -119,23 +168,26 @@ I had it lying around without a useful project and the formfactor matches the sm
119 168
 As it is also printing very slowly, there's really not much load on the Pi itself, and I never had any problems printing from it.
120 169
 I do have to admit however, that the OctoPrint webinterface sometimes takes very long to load with this setup.
121 170
 But once it's there it works fine.
122
-I'm even doing all my slicing for the Fabrikator Mini on the Pi Zero.
171
+I was even doing all my slicing for the Fabrikator Mini on the Pi Zero for a while.
123 172
 
124
-TODO describe power supply situation for Pi, with modded USB cable
173
+To power the Pi, I'm using a small 5V step down converter that's connected to the 12V input of the printer.
174
+As the printer board is also connected to 12V and has its own 5V regulator, I decided to cut the +5V rail in the USB cable connecting the printer and the Pi.
175
+This way, the display backlight on my printer, as well as the mainboard, are turned off when the power supply relais is turned off.
176
+With an unmodified cable, the printer LEDs would be lit all the time the Pi is running.
125 177
 
126 178
 TODO photo
127 179
 
128
-### Relay Board
180
+## Relay Board
129 181
 
130 182
 To fully utilize OctoPrint, it also needs a way to control the power supply to the printer.
131 183
 One popular method to achieve this is an ATX computer power supply.
132 184
 As I already had my power supply, and because the current of the small Fabrikator Mini is not that huge (and it's not switched under full load), I decided to use a simple two-channel relay board connected to the Pi.
133 185
 
134
-TODO more text or link to OctoPrint page section?
186
+Some more about controlling power supplies from OctoPrint [can be found on this page about my OctoPrint setups](octoprint.html).
135 187
 
136 188
 TODO photo
137 189
 
138
-### Webcam
190
+## Webcam
139 191
 
140 192
 No OctoPrint experience is complete without having a webcam connected to the Raspberry Pi.
141 193
 So I bought the, in my view, standard model for 3D printing needs: the Logitech C270.
@@ -147,9 +199,13 @@ So one of my first self-made designs became the Webam Holder: an attachment piec
147 199
  * [Logitech C270 Manual Focus System](https://www.thingiverse.com/thing:3081838)
148 200
  * [Fabrikator Mini C270 Webcam Holder](https://www.thingiverse.com/thing:1531522)
149 201
 
150
-TODO photos
202
+<!--%
203
+lightgallery([
204
+    [ "img/fabmin_webcam_1.jpg", "My webcam holder" ]
205
+])
206
+%-->
151 207
 
152
-### LED-Strip
208
+## LED-Strip
153 209
 
154 210
 Depending on where the printer is located, it can be very hard to see any details of the printing process.
155 211
 That's why one of the first modifications I did, long before using OctoPrint, consisted of sticking two pieces of white 12V LED-Strips inside to the backside of the front acrylic plate.
@@ -157,11 +213,10 @@ Initially, I wired it to the main 12V connection to the printer, so the light wa
157 213
 Nowadays I'm using the second relay connected to the Raspberry Pi Zero to switch the light on and off independently from the printer itself.
158 214
 This is very convenient to turn the lights off when printing overnight.
159 215
 
160
-### TODO
216
+## Slicing Profiles
217
+
218
+
219
+
220
+## Print Results Pictures
161 221
 
162
-* Firmware
163
-* Feet
164
-* Spool mount
165
-* Slicing Profiles
166
-* Print Results Pictures
167 222
 

+ 63
- 64
input/projects/3d-printing/ikea-lack.md Wyświetl plik

@@ -8,9 +8,36 @@ flattr: true
8 8
 
9 9
 <span class="listdesc">[...back to 3D-Printing overview](3d-printing.html)</span>
10 10
 
11
-**More content coming soon!**
11
+As is common in the 3D printing community, I have built myself a tower of Ikea Lack tables to store my printers in.
12
+It has three levels.
13
+I also included some lights to properly see whats going on, as well as a slide-out table for my small printer.
12 14
 
13
-### Concrete slab for noise and vibration dampening
15
+## Mounting Hardware
16
+
17
+There are many solutions available, now more than back when I built this.
18
+Nonetheless I decided to design my own simple brackets to mount the feet of one table to the one below it.
19
+
20
+For the middle level of the tower, I added some pieces of wood to make more space, so it can fit my large printer comfortably.
21
+
22
+<!--%
23
+lightgallery([
24
+    [ "img/lack-simple-bracket.png", "Design of my mounting bracket" ]
25
+])
26
+%-->
27
+
28
+My design files for the mounting bracket [can be found on my Gitea server](https://git.xythobuz.de/thomas/3d-print-designs/src/branch/master/ikea-lack).
29
+
30
+## Slide out table
31
+
32
+
33
+
34
+## Filament holder
35
+
36
+
37
+
38
+My design files for the filament holder [can be found on my Gitea server](https://git.xythobuz.de/thomas/3d-print-designs/src/branch/master/ikea-lack).
39
+
40
+## Concrete slab for noise and vibration dampening
14 41
 
15 42
 Unfortunately, because the Ikea Lack tables are very lightweight and also hollow, they tend to amplify the sound coming from the 3D printers on them.
16 43
 But there is an easy solution to this: vibration dampening by increasing the mass.
@@ -22,17 +49,13 @@ I've used cheap 40x15x1000mm wood pieces and cut them to 555mm, screwing them to
22 49
 For the surface below the frame, I've used an old cardboard box.
23 50
 I've "sealed" the surfaces of the cardboard and the wood pieces with clear flex-o-tape, to avoid the water wicking out of the concrete too fast, and to be able to remove the pieces easily later-on.
24 51
 
25
-<div class="lightgallery">
26
-    <a href="img/ikea_lack_concrete_1.jpg">
27
-        <img src="img/ikea_lack_concrete_1_small.jpg" alt="Simple wooden frame">
28
-    </a>
29
-    <a href="img/ikea_lack_concrete_2.jpg">
30
-        <img src="img/ikea_lack_concrete_2_small.jpg" alt="Screwed together in the corners">
31
-    </a>
32
-    <a href="img/ikea_lack_concrete_3.jpg">
33
-        <img src="img/ikea_lack_concrete_3_small.jpg" alt="Added some tape to seal the surface">
34
-    </a>
35
-</div>
52
+<!--%
53
+lightgallery([
54
+    [ "img/ikea_lack_concrete_1.jpg", "Simple wooden frame" ],
55
+    [ "img/ikea_lack_concrete_2.jpg", "Screwed together in the corners" ],
56
+    [ "img/ikea_lack_concrete_3.jpg", "Added some tape to seal the surface" ]
57
+])
58
+%-->
36 59
 
37 60
 Then I've simply hand-mixed about one half of a 35kg bag of cement/sand mixture with 2l of clear tap-water.
38 61
 The resulting sludge can then be filled into the frame.
@@ -41,65 +64,41 @@ You should then use a piece of wood to really get the surface flat.
41 64
 
42 65
 Also, be careful: avoid contact of the concrete with your skin, it burns after a while!
43 66
 
44
-<div class="lightgallery">
45
-    <a href="img/ikea_lack_concrete_4.jpg">
46
-        <img src="img/ikea_lack_concrete_4_small.jpg" alt="Mixing the concrete">
47
-    </a>
48
-    <a href="img/ikea_lack_concrete_5.jpg">
49
-        <img src="img/ikea_lack_concrete_5_small.jpg" alt="Final consistency">
50
-    </a>
51
-    <a href="img/ikea_lack_concrete_6.jpg">
52
-        <img src="img/ikea_lack_concrete_6_small.jpg" alt="Filling the frame">
53
-    </a>
54
-    <a href="img/ikea_lack_concrete_7.jpg">
55
-        <img src="img/ikea_lack_concrete_7_small.jpg" alt="In my first attempt, I just tried to form the surface by hand. It worked, but is not perfect.">
56
-    </a>
57
-    <a href="img/ikea_lack_concrete_8.jpg">
58
-        <img src="img/ikea_lack_concrete_8_small.jpg" alt="Closing it up for 24h">
59
-    </a>
60
-    <a href="img/ikea_lack_concrete_9.jpg">
61
-        <img src="img/ikea_lack_concrete_9_small.jpg" alt="Side-view">
62
-    </a>
63
-</div>
67
+<!--%
68
+lightgallery([
69
+    [ "img/ikea_lack_concrete_4.jpg", "Mixing the concrete" ],
70
+    [ "img/ikea_lack_concrete_5.jpg", "Final consistency" ],
71
+    [ "img/ikea_lack_concrete_6.jpg", "Filling the frame" ],
72
+    [ "img/ikea_lack_concrete_7.jpg", "In my first attempt, I just tried to form the surface by hand. It worked, but is not perfect." ],
73
+    [ "img/ikea_lack_concrete_8.jpg", "Closing it up for 24h" ],
74
+    [ "img/ikea_lack_concrete_9.jpg", "Side-view" ]
75
+])
76
+%-->
64 77
 
65 78
 After about 24h, the frame can already be removed.
66 79
 Because of the large surface area and the low volume of our piece, it get's hard quite quickly.
67 80
 And also, we're not using it for large static loads, so we don't have to wait the full 28-days specified by the manufacturer.
68 81
 The small parts at the edges where the concrete slightly got under the frame can just be broken off by hand.
69 82
 
70
-<div class="lightgallery">
71
-    <a href="img/ikea_lack_concrete_10.jpg">
72
-        <img src="img/ikea_lack_concrete_10_small.jpg" alt="After 24h, one side removed">
73
-    </a>
74
-    <a href="img/ikea_lack_concrete_11.jpg">
75
-        <img src="img/ikea_lack_concrete_11_small.jpg" alt="The small parts at the edge can just be broken off easily by hand">
76
-    </a>
77
-    <a href="img/ikea_lack_concrete_12.jpg">
78
-        <img src="img/ikea_lack_concrete_12_small.jpg" alt="Final result, left view">
79
-    </a>
80
-    <a href="img/ikea_lack_concrete_13.jpg">
81
-        <img src="img/ikea_lack_concrete_13_small.jpg" alt="Final result, right view">
82
-    </a>
83
-</div>
83
+<!--%
84
+lightgallery([
85
+    [ "img/ikea_lack_concrete_10.jpg", "After 24h, one side removed" ],
86
+    [ "img/ikea_lack_concrete_11.jpg", "The small parts at the edge can just be broken off easily by hand" ],
87
+    [ "img/ikea_lack_concrete_12.jpg", "Final result, right view" ],
88
+    [ "img/ikea_lack_concrete_13.jpg", "Final result, left view" ]
89
+])
90
+%-->
84 91
 
85 92
 And it works perfectly, the noise of the printer is greatly reduced!
86 93
 
87 94
 Here are some more photos of the second slab I made.
88 95
 
89
-<div class="lightgallery">
90
-    <a href="img/ikea_lack_concrete_v2_1.jpg">
91
-        <img src="img/ikea_lack_concrete_v2_1_small.jpg" alt="">
92
-    </a>
93
-    <a href="img/ikea_lack_concrete_v2_2.jpg">
94
-        <img src="img/ikea_lack_concrete_v2_2_small.jpg" alt="">
95
-    </a>
96
-    <a href="img/ikea_lack_concrete_v2_3.jpg">
97
-        <img src="img/ikea_lack_concrete_v2_3_small.jpg" alt="">
98
-    </a>
99
-    <a href="img/ikea_lack_concrete_v2_4.jpg">
100
-        <img src="img/ikea_lack_concrete_v2_4_small.jpg" alt="">
101
-    </a>
102
-    <a href="img/ikea_lack_concrete_v2_5.jpg">
103
-        <img src="img/ikea_lack_concrete_v2_5_small.jpg" alt="">
104
-    </a>
105
-</div>
96
+<!--%
97
+lightgallery([
98
+    [ "img/ikea_lack_concrete_v2_1.jpg", "Frame, with corners for Lack legs" ],
99
+    [ "img/ikea_lack_concrete_v2_2.jpg", "Mixing the concrete" ],
100
+    [ "img/ikea_lack_concrete_v2_3.jpg", "More hard mixing work" ],
101
+    [ "img/ikea_lack_concrete_v2_4.jpg", "Pouring it out" ],
102
+    [ "img/ikea_lack_concrete_v2_5.jpg", "After vibrating it" ]
103
+])
104
+%-->

+ 19
- 11
input/projects/3d-printing/octoprint.md Wyświetl plik

@@ -27,15 +27,16 @@ I've decided to simply use the GPIOs at the top of the Raspberry Pi pinheader no
27 27
 
28 28
 ### Automatically Connect to Printer
29 29
 
30
-[Bernd Zeimetz has a great writeup on how to auto-connect to the serial port](https://bzed.de/post/2017/11/octoprint_autoconnect_printer/) of your 3D printer. Here is the very brief version of it:
30
+[Bernd Zeimetz has a great writeup on how to auto-connect to the serial port](https://bzed.de/post/2017/11/octoprint_autoconnect_printer/) of your 3D printer.
31
+Here is the brief version of it, slightly modified to work with current OctoPrint versions.
31 32
 
32 33
 Create the script `/home/pi/connect_octoprint.py` with the following contents:
33 34
 
34 35
 <pre class="sh_python">
35
-#!/home/pi/OctoPrint/venv/bin/python
36
+#!/home/pi/oprint/bin/python2
36 37
 
37 38
 OCTOPRINT_URL = 'http://localhost:5000/api/connection'
38
-API_KEY = 'AAABBB000YOURAPIKEYHERE000BBBAAA'
39
+API_KEY = 'YOUR_API_KEY_HERE'
39 40
 BAUDRATE = 115200
40 41
 
41 42
 import requests
@@ -44,15 +45,15 @@ import sys
44 45
 port = sys.argv[1]
45 46
 headers = {'X-Api-Key': API_KEY}
46 47
 json = {
47
-  "command": "connect",
48
-  "port": port,
49
-  "baudrate": BAUDRATE,
48
+    "command": "connect",
49
+    "port": port,
50
+    "baudrate": BAUDRATE,
50 51
 }
51 52
 
52 53
 r = requests.post(
53
-        OCTOPRINT_URL,
54
-        json=json,
55
-        headers=headers
54
+    OCTOPRINT_URL,
55
+    json=json,
56
+    headers=headers
56 57
 )
57 58
 
58 59
 if (r.status_code == 204):
@@ -64,6 +65,7 @@ else:
64 65
 
65 66
 Make sure to replace the API Key from your OctoPrint user settings page.
66 67
 Also change the baudrate if needed.
68
+Don't forget to make the script executable with `chmod a+x connect_octoprint.py`!
67 69
 
68 70
 Now create the file `/etc/systemd/system/octoprint_connect@.service` with the following contents:
69 71
 
@@ -87,7 +89,7 @@ sudo systemctl daemon-reload
87 89
 Find out the USB Vendor and Product ID of the 3D printer serial port:
88 90
 
89 91
 <pre class="sh_sh">
90
-lsusb -v | grep -iE ‘(^bus|idvendor|idproduct)’
92
+lsusb -v | grep -iE '(^bus|idvendor|idproduct)'
91 93
 </pre>
92 94
 
93 95
 Then create the file `/etc/udev/rules.d/3dprinter.rules` and modify its contents with the IDs you got from the previous step:
@@ -95,7 +97,13 @@ Then create the file `/etc/udev/rules.d/3dprinter.rules` and modify its contents
95 97
     KERNEL=="tty*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", \
96 98
         TAG+="systemd", ENV{SYSTEMD_WANTS}="octoprint_connect@%k.service"
97 99
 
98
-That should be it. If it doesn't work, there's some debugging hints in the article linked above.
100
+That should be it.
101
+If it doesn't work, there's some debugging hints in the article linked above, like:
102
+
103
+<pre class="sh_sh">
104
+systemctl list-units 'octoprint_connect*'
105
+journalctl -u octoprint_connect@ttyUSB0.service
106
+</pre>
99 107
 
100 108
 ### Physical Power Button
101 109
 

+ 24
- 0
input/projects/3d-printing/octotray.md Wyświetl plik

@@ -0,0 +1,24 @@
1
+title: OctoTray
2
+description: Linux PyQt tray application to control OctoPrint
3
+parent: 3d-printing
4
+position: 35
5
+comments: true
6
+github: https://git.xythobuz.de/thomas/OctoTray
7
+date: 2021-05-08
8
+---
9
+
10
+<span class="listdesc">[...back to 3D-Printing overview](3d-printing.html)</span>
11
+
12
+To quickly print new stuff on one of my printers, I am using the OctoPrint integration of PrusaSlicer.
13
+Unfortunately, it does not allow me to turn on the printers power supply using the Raspberry Pi.
14
+But it is possible to do that via the OctoPrint REST API.
15
+Because of that, I wrote a small tool to trigger the power of my printers that lives in the system tray.
16
+It runs on Linux using the Python Qt5 bindings.
17
+
18
+<!--%
19
+lightgallery([
20
+    [ "img/octotray_1.png", "Screenshot of first OctoTray version" ]
21
+])
22
+%-->
23
+
24
+You can find the project [on my Gitea server](https://git.xythobuz.de/thomas/OctoTray) or on [GitHub](https://github.com/xythobuz/OctoTray).

+ 1
- 1
macros.py Wyświetl plik

@@ -232,7 +232,7 @@ def hook_postconvert_rss():
232 232
     items = "".join(items)
233 233
 
234 234
     title = "xythobuz.de Blog"
235
-    link = "%s/blog.html" % BASE_URL
235
+    link = "%s" % BASE_URL
236 236
     feed = "%s/rss.xml" % BASE_URL
237 237
     desc = htmlspecialchars("xythobuz Electronics & Software Projects")
238 238
     date = email.utils.formatdate()

BIN
static/img/fabmin_disp_1.jpg Wyświetl plik


BIN
static/img/fabmin_disp_1_small.jpg Wyświetl plik


BIN
static/img/fabmin_disp_2.jpg Wyświetl plik


BIN
static/img/fabmin_disp_2_small.jpg Wyświetl plik


BIN
static/img/fabmin_disp_3.jpg Wyświetl plik


BIN
static/img/fabmin_disp_3_small.jpg Wyświetl plik


BIN
static/img/fabmin_spool_1.jpg Wyświetl plik


BIN
static/img/fabmin_spool_1_small.jpg Wyświetl plik


BIN
static/img/fabmin_spool_2.png Wyświetl plik


BIN
static/img/fabmin_spool_2_small.png Wyświetl plik


BIN
static/img/fabmin_spool_3.jpg Wyświetl plik


BIN
static/img/fabmin_spool_3_small.jpg Wyświetl plik


BIN
static/img/fabmin_spool_4.jpg Wyświetl plik


BIN
static/img/fabmin_spool_4_small.jpg Wyświetl plik


BIN
static/img/fabmin_webcam_1.jpg Wyświetl plik


BIN
static/img/fabmin_webcam_1_small.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_1.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_1_small.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_2.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_2_small.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_3.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_3_small.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_4.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_4_small.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_5.jpg Wyświetl plik


BIN
static/img/fabmin_yfan_5_small.jpg Wyświetl plik


BIN
static/img/fabmin_zfan_1.jpg Wyświetl plik


BIN
static/img/fabmin_zfan_1_small.jpg Wyświetl plik


BIN
static/img/lack-simple-bracket.png Wyświetl plik


BIN
static/img/lack-simple-bracket_small.png Wyświetl plik


BIN
static/img/octotray_1.png Wyświetl plik


BIN
static/img/octotray_1_small.png Wyświetl plik


Ładowanie…
Anuluj
Zapisz