Was habe ich mit meinem 3D Drucker gemacht, um ihn noch sinnvoller zu machen?
In diesem Beitrag sage ich dir, was ich an meinem 3D Drucker (Prusa MK3s) gemoddet habe und wie sinnvoll es wirklich ist. Dabei haben sich 3 Dinge als besonders sinnvoll heraus kristallisiert:
Octoprint
Webcam
Druckbett manuell ausgleichen
Also immer schön der Reihe nach oder einfach hier erstmal als Video:
Mod 1: Octopi / Octoprint
Wer hantiert schon gerne mit SD-Speicherkarten rum, wenn man auch über ein Webinterface alles steuern kann? Es ist also, denke ich, fast schon Pflicht, einen Raspberry PI an den Drucker anzuschließen. Ich habe einen PI3 verwendet und habe darauf Octoprint installiert.
Octoprint ist dabei die Software, die alles steuert. Das fertige Image für die SD Karte, was man einfach runterladen kann, heißt dann Octopi. Es gibt auch viele gute Plugins, schau da auf jeden Fall mal vorbei, wenn dein Octoprint läuft!
Was ist OctoPrint?
Octoprint erlaubt es einem über ein Webinterface den Drucker zu steuern. Natürlich kann man eine GCODE-Datei dort hochladen und den Druck starten sowie den Druckfortschritt beobachten. Man kann darüber hinaus auch viele weitere Dinge tun. Man kann eine Webcam anbringen und so den Druck aus der Ferne überwachen, dazu später mehr. Man kann alle Achsen bewegen und auch das Heizen von Bett und Druckkopf starten. Das erlaubt einem ein einfaches Reinigen usw. Es gibt eine eingebaute GCODE-Analyse um sehen zu können, wie die Layer gedruckt aussehen sollen, so konnte ich vor kurzem z.B. auf diese Weise feststellen, dass was für mich erst wie ein Fehler beim Drucken aussah tatsächlich schon ein Fehler im Modell war, der bis zum Druck unbemerkt blieb.
Unordnung mit vielen fliegenden Kabeln
Wenn man das jetzt gemacht hat, hat man ein Stromkabel am Drucker, ein Stromkabel zum PI, ein USB-Kabel zwischen PI und Drucker und ggf. ein USB Kabel für die Webcam. Das sieht dann durchaus schnell richtig unordentlich aus und ich musste mich dem annehmen. Denn der Drucker soll ja nicht für immer provisorisch aufgestellt wirken. Mir ist es lieber, wenn es nach einer Einheit aussieht.
PI Gehäuse am Drucker!
Naja und wie wird es eine Einheit? in dem der PI am Drucker direkt untergebracht wird! Ich habe ein gutes Gehäuse gefunden für den PI3 (oder PI4) welches direkt am Drucker angebracht wird.
Ich hatte einige Probleme damit, dass eine Seite sich beim Drucken ständig verformt hat, so hatte ich das Gehäuse mehrfach gedruckt. Im Video siehst du, wie ich zwischendurch auch einige Löcher im Gehäuse in Blender schließe, da ich sie nicht brauche.
Gehäusebestückung, Lüfter, Spannungsversorgung
Das Gehäuse ist so gemacht, dass ein 40mm Lüfter angebracht werden kann. Ich benutze hier einen Noctua-Lüfter für 5V⭐, den kann man direkt an den GPIO Pins des PIs anschließen und der hält den PI dann schön kühl. Gerade wenn man einen PI4 verwendet ist das wichtig. Leistungsmäßig ist der PI3 aber vollkommen ausreichen für Octoprint. Ich hatte einen PI4 probiert, hab dann aber wieder nur einen PI3 in Verwendung, es reicht einfach aus.
Um dann noch die seperate Stromversorgung los zu werden, habe ich in dem Gehäuse auch noch einen Step-Down Spannungsregler⭐ untergebracht.
Den Strom hole ich mir vom Drucker direkt und schleife ein Kabel durch das Druckermainboard durch. Es ist ziemlich fummelig, muss man halt entscheiden, ob man das machen will. Den Spannungsregler habe ich dann so eingestellt, dass er aus den 24V verlässlich 5V macht und habe dann den Ausgang ebenfalls mit den richtigen GPIOs des PIs verbunden. Es gibt verschiedene Diskussionen darüber, ob es gut und richtig ist, den PI durch den GPIO mit Strom zu versorgen. (Welcher GPIO Pin macht was beim PI?) Ich kann dazu nur sagen, ich hab es gemacht und seit dem auch schon 20 oder 30 Stunden Dinge gedruckt und es läuft stabil bisher. Der PI überlebt übrigens das Auslösen der Powerpanic-Funktion des Druckers, was ich mir nicht erklären kann. Er bootet jedenfalls nicht neu sondern läuft einfach weiter.
Dann habe ich noch ein super kurzes USB-Kabel⭐ für die Verbindung von Drucker und PI gekauft und jetzt sieht es echt richtig aufgeräumt auf.
Mod 2: Webcam für den Drucker
Also muss ich viel schreiben, warum eine Webcam sinnvoll ist? Selbst wenn man zu Hause ist, während der Drucker druckt, sitzt man ja nicht die ganze Zeit daneben.
Ich kann jetzt immer einfach das Handy zücken und mal kurz nachsehen, ob noch alles gut aussieht. Octoprint unterstützt super viele Webcams, besonders beliebt scheinen aber die Logitech C270, die Logitech C920 und die originale PI Cam zu sein. Ich habe eine Logitech C920⭐ gekauft und dafür hat jemand einen Arm designed, welcher direkt mit der X-Achse des Druckers hoch und runter fährt. So hat man gerade den Druckkopf immer im Blick, egal wie hoch der Druck ist.
Befestigung direkt an der X-Achse
Nachdem man diesem Arm gedruckt hat, wird er mit einer Schraube aus den Spare-Parts des MK3s direkt an dem einen Steppermotor befestigt. Der Arm hat sogar Vorbereitungen für Kabelbinder zum befestigen des Kabels der Webcam.
C920 zerlegen und anbauen
Einzig die Webcam muss man etwas zerlegen. Hier braucht man einen sehr kleinen Schraubenzieher und etwas Geduld, dann kann man aber den zusätzlichen Standfuß der Webcam abschrauben und das Ergebnis ist super slim.
Mod 3: Manueller Bettausgleich
Der Prusa MK3s hat eigentlich einen Sensor mit dem er den Abstand zwischen Druckkopf und Druckbett misst und Unebenheiten in der Software ausgleicht. In der Theorie klingt das nett, aber ich habe beim Drucken durchaus massive Unterschiede bemerkt zwischen der linken und der rechten Hälfte des Druckbetts.
Problem?
Octoprint hat hier das Plugin Bed Level Visualizer, welches die Messwerte des Druckers visualisieren kann und da kann man dann feststellen, dass der Abstand bei mir zwischen dem tiefsten und dem höchsten Punkt 0,5mm ist.
Das klingt im normalen Leben nach nichts, wenn aber eine Druckebene nur 0,15mm hat, ist das ein Unterschied von 3 bis 4 Druckebenen! Das Problem ist nun, dass der Prusa MK3s keine manuellen Einstellmöglichkeinten vorsieht.
Lösung mit 8 Schrauben und Guide
Aber natürlich hat das schon jemand im Internet gelöst und einen richtig guten Guide geschrieben. Man benötigt 8 Sicherungsmuttern⭐, die man unter das Heizbett schraubt und ersetzt damit die original Abstandshalterhülsen.
Nun ist man in der Lage durch drehen der Schrauben die Höhe des Betts sehr genau einzustellen. Es gibt hier wieder ein Octoprintplugin “Prusa Leveling Guide”, welches einem sogar anzeigen kann, wie weit man jede einzelne Schraube genau drehen muss.
So war es mir möglich, das Bett viel viel flacher zu bekommen und das habe ich gleich beim nächsten Druck sofort gemerkt. Jetzt ist das ganze Druckbett super und nicht nur eine Teilfläche! Der Mod hat vielleicht eine halbe Stunde gekostet und war die Zeit definitiv wert.
Ich hab seit kurzen einen 3D Drucker und mir schon länger gesagt, wenn ich mal einen habe, dann modifiziere ich die Kaffeemaschine! Ich habe den Philips HD8829/01 3000 Serie Kaffeevollautomat⭐. Kurzgesagt ist es einfach so, dass nicht genug Bohnen in Bohnenfach passen und die Maschine auch ständig einige Bohnen verschwendet, wenn sie gerade leer werden. Das hat mich genervt, also habe ich angefangen einen Aufsatz zu designen, wie man das Fach nach oben vergrößern kann.
die ganze Geschichte gibt es auch im Video
Designprozess
Ich habe mit Blender designed, weil ich es auch durch einige 3D Animationen zuletzt sehr gut kennen gelernt habe und ich das Wissen so nochmal anwenden kann. Ich habe mir auch Fusion360 angesehen, Blender war für mich und jetzt gerade aber einfach die bessere Wahl.
Ich habe ein Referenzfoto gemacht mit dem Deckel und einem Lineal, so dass ich dieses Bild in Blender exakt hinskalieren konnte.
Das habe ich mit einen Curve-Objekt dann in Blender nachgemalt. Einmal die Innenseite und einmal die Außenseite. Das hab ich dann jeweils in ein Mesh gewandelt, in Z-Richtung ein Stück extrudiert und mit dem Solidify-Modifier eine Dicke gegeben. Damit hatte ich dann im Prinzip die Vorlage, wie die Verlängerung unten und oben jeweils aussehen muss.
Dann habe ich viel zu lange gebraucht, um beide Teile in einer Weise zu verbinden, dass es schön aussieht und auch ohne Supports mit einem 3d Drucker druckbar ist:
und vonausgehende von dort musste ich es nur noch nach oben in Z-Richtung an der richtigen Stelle zerren. Im Laufe der Fehldrucke (siehe Video…) ist mir auch aufgefallen, dass ich den Bereich um diese Klappe durch eine Art Schornstein auslassen will. Außerdem wollte ich den vorderen Teil nicht ungenutzt lassen und habe eine “Rutsche” designed, wo die Bohnen runter rutschen können und so auch von dort im Mahlwerk enden. Abschließend sah das dann nach nur gut 15h Designphase etwa so aus:
Fertiges Ergebnis
Das fertige Ergebnis ist (nach einigen Fehlversuchen) recht gut geworden. Ich habe später noch Magneten rein geklebt, dass die schwarzen Klappen nicht zu weit auf stehen und dass die Klappe für den Wassertank auf bleibt, wenn man sie öffnet.
Download
Ich habe ein Github Repository erstellt, was die STL-Dateien und die ursprüngliche Blenderdatei enthält. Bei den STLs ist die erste das eigentliche Objekt und das zweite ist ein Supportblocker. Der Mittelteil muss bis zu den ersten paar mm mit Supports gedruckt werden, aber weiter oben geht alles ohne Supports. Die Dateien findest du im Github Repository “fabsenet/3d-kaffee-extension” oder bei Thingiverse.
Zigbee an sich ist ja ein Funkstandard, der sich offensicht zunehmend im Smarthome durchsetzt. Ich selbst besitze bisher nur ein Ikea Floalt, was ich bisher im Standalonebetrieb mit der Fernbedienung genutzt hatte. Zigbee reagiert schnell, geht natürlich durch Wände, scheint aber viel stromsparender als WLAN zu sein. Die Fernbedienung geht schon ziemlich lange mit ihrer ersten Batterie.
Was bisher geschah…
Ich habe im ersten Post/Video ein Smarthome basierend auf Node-Red und Mosquitto auf einem Raspberry PI eingerichtet.
Ich habe mir einen kleinen Funktransmitter⭐ für zigbee gekauft für meinen Raspberry PI. Der ist in dem Sinne besonders, dass er die nötige Firmwareänderung schon fertig geflasht hatte, man spart sich hier also viel Aufwand.
Endlich die TP-Link WLAN Steckdosen ohne App steuern!
Ich habe ja im Letzten Post beschrieben, wie ich auf einem Raspberry PI mein Smarthome mit Node-Red eingerichtet habe. Nun will ich das ja auch nutzen und ich will mit meinen WLAN Steckdosen von TP-Link anfangen. Ich habe von den normalen Wlan-Steckdosen von TP-Link⭐ glaube ich mittlerweile schon ca. zehn Stück. Ich habe außerdem eine weitere Steckdose von TP-Link⭐, die auch den Stromverbrauch messen kann. Wie man die Steckdosen mit Node-Red verwendet, erfährst du hier in diesem Artikel.
…oder du schaust einfach das Video
Installation des Node-Red Addons
Du startest auf der Weboberfläche deiner Node-Red-Instanz (bei mir ist es z.B. http://smarthome:1880) und klickst oben rechts auf das Hamburgermenü und dann auf Palette verwalten:
Im sich öffnenden Menü, geht man auf den Reiter installieren und benutzt dann die Suche, um das Paket mit dem Namen node-red-contrib-tplink-iot zu finden und mit einem weiteren Klick zu installieren. Achtung, bei mir hat das Installieren durchaus ca. 2 Minuten gedauert, ohne dass sich im Benutzerinterface in der Zeit irgendwas großartig getan hat.
Wenn man die Installation abgeschlossen hat, hat man in der Nodes-Palette zwei neue Nodes:
Nötige Vorbereitungen
Die WLAN-Steckdosen müssen mittels der normalen KASA App (Google Play Store; gibt bestimmt auch was für Apple) von TP-Link in das eigene WLAN gebracht werden. Falls man das ohne die App hinbekommen kann, lass es mich gerne wissen! Anschließend brauchst du die IP-Adresse, die die Steckdose erhalten hat.
Die neuen Nodes verwenden
Um auszuprobieren, was die neue Smart plug Node so kann, habe ich einen eigentlich ganz einfachen Flow gemacht. Es gibt viele verschiedene Inject Nodes, die alle in die Smart Plug Node laufen und die dann einfach mit einer Debug-Node die Ausgaben in der Debugausgabe ausgibt, so dass man die sich ansehen kann:
Das Schalten der Steckdose ist das Einfachste, man benötigt lediglich eine Nachricht mit dem Payload true oder false (boolean!).
Alle anderen Kommandos sind vom Typ string und geben ein Wort an, was man machen möchte. Sinnvoll ist hier getInfo. Man bekommt eine Antwort, die den aktuellen Zustand der Steckdose umfasst:
{"sw_ver":"1.5.4 Build 180815 Rel.121440","hw_ver":"2.0","type":"IOT.SMARTPLUGSWITCH","model":"HS110(EU)","mac":"98:DA:...","dev_name":"Smart Wi-Fi Plug With Energy Monitoring","alias":"messdose","relay_state":1,//Schaltzustand (1 ist an)"on_time":3,// wie lange es an ist in Sekunden"active_mode":"none","feature":"TIM:ENE","updating":0,"icon_hash":"","rssi":-63,"led_off":0,"longitude_i":99123,//irgendwoher hat er meine Koordinaten?"latitude_i":5312345,//???"timestamp":"2019-10-25T16:10:47+01:00"}
Diese Antwort bekommt man nur einmalig, wenn man sozusagen danach fragt. Möchte man sie regelmäßig bekommen, muss man sich dafür abonnieren. Das macht man mit getInfoEvents. Deabonnieren geht mit clearEvents. Jetzt bekommt man regelmäßig die Infonachrichten aus der Node. Dieses Abonnement ist anscheinend nur in der Node gespeichert, welche regelmäßig die Steckdose befragt, denn deployed man den Flow neu, muss man ein neues Abonnement machen.
Wer die Variante mit der Strommessfunktion hat, kann mit getMeterInfo einmalig oder mit getMeterEvents regelmäßig Infos über den Stromverbrauch bekommen.
Wie man sieht, hat mein Strom hier gerade eine Spannung von 229V, es fließen 148mA und das macht 33,9W. Das klingt stimmig, denn es ist eine 35W Halogenlampe.
Denkbar ist hier eine Automatisierung, die z.B. auf Basis des Stromverbrauchs ermittelt, ob das Gerät dahinter an ist oder nur im Standby.
Ich habe aus Spaß auf die Messdose eine normale WLAN-Steckdose gesteckt und deren eigenen Strombedarf zu ermitteln:
Ich habe bereits einige Geräte angesammelt, die man in einem Smarthome auch steuern könnte. Dazu gehören die Wlan-Steckdosen von TP-Link⭐, einen ESP8266⭐ mit Tasmota-Firmware, ein IKEA Floalt LED-Panel und auch meinen Desktop-PC. Die generelle Erweiterbarkeit (m)eines Smarthomes kann ich mir dabei auch leicht vorstellen. (=Ich werde weitere Geräte und Einsatzwecke finden, die ich steuern möchte.)
Ich habe einige andere Smarthome-Hubs angesehen und mich für Node-Red + MQTT (Mosquitto) entschieden. Mir war wichtig, dass möglichst viel des Smarthomes lokal ohne Clouddienste läuft. Das schließt Lösungen mit Alexa und Google Home direkt weitestgehend aus. Ich will, dass auch bei einem Ausfall des Dienstleisters oder des Internets so viel des Smarthomes noch funktioniert, wie nur möglich. Was kann ein Amazon Echo noch ohne Internetzugang?
Weiterhin bastel ich gerne, so dass eine Lösung, die mehr Richtung DIY und Basteln/Programmieren geht, gut zu mir passt.
Video zum Blogeintrag
Schau dir gerne das Video an!
Und was nun genau?
Ich möchte Node-Red und einen MQTT-Broker auf einem Raspberry-PI betreiben. Dafür verwende ich folgende Hardware:
Raspberry Pi 3 Model B⭐: Der PI verbraucht viel weniger Strom als ein normaler Computer und damit kann man ihn ohne schlechtes Gewissen 24/7 betreiben, was ja für ein Smarthome-Hub erforderlich ist. Falls du noch gar keinen Raspberry PI hast, empfehle ich dir den aktuelleren PI 4⭐.
Anker PowerPort+1 18W USB Ladegerät⭐: Ein erstklassiges Handyladegerät, was extrem viel Strom bietet und alle verbreiteten Schnellladetechniken der verschiedenen Hersteller unterstützt. Es liefert auch für den PI genug Strom. Du kannst auch ein Micro-USB Netzteil verwenden, das du schon hast.
Anker Micro USB Kabel⭐: Das von mir vorgeschlagene Ladegerät kommt ohne Kabel daher, das hier ist super, wir haben jetzt schon einige davon zuhause.
MicroSD Speicherkarte: Du brauchst eine Speicherkarte, wo das Betriebssystem für den PI drauf kommt. Sie muss mindestens 8GB groß sein. Je schneller sie ist, desto besser. Eine schnelle und gute ist z.B. SanDisk Ultra 16GB microSDHC⭐. Ich habe eine 128GB Karte verwendet, die ich noch da hatte.
Auf der Homepage vom RaspberryPI habe ich Raspbian heruntergeladen. Es gibt da aktuell mehrere Versionen, ich habe Raspbian Buster with desktop gewählt, später aber festgestellt, dass ich den Desktop niemals brauche, es sollte also auch problemlos mit Raspbian Buster Lite funktionieren.
Um das jetzt auf die microSD Karte drauf zu bekommen, benutze ich Etcher. Ich habe balenaEtcher-Setup-1.5.60.exe gewählt, aber der Link zeigt immer zur neuesten Version. Es gibt auch Varianten für Mac.
Nach der Installation startet man Etcher und wird mit dem sehr übersichtlichen UI begrüßt:
Hier muss man entsprechend des UIs 3 Schritte durchführen:
Man wählt das Raspbian Image aus, was man gerade runter geladen hat. Wenn es nochmal gezippt ist, kann das so bleiben, denn Etcher versteht zip Dateien!
Wenn die microSD Karte eingesteckt ist, muss man diese dann bei Select target auswählen. Bitte wähle hier nicht deine Festplatte aus. Etcher hilft hier aber auch etwas.
Jetzt musst du nur noch auf Flash klicken und ein paar Minuten warten und deine microSD Karte hat Raspbian drauf.
Etcher wirft die microSD Karte aus, wenn es fertig ist, eigentlich will ich aber noch mehr machen. Daher muss man jetzt die Karte einmal aus dem Leser ziehen und wieder rein stecken. Jetzt sollte im Arbeitsplatz ein Laufwerk auftauchen, was boot heißt. Dort geht man rein und legt eine ganz leere Datei mit dem Namen SSH (alles groß!) an. Das geht z.B. in dem man eine neue txt-Datei anlegt und die Dateiendung entfernt. Das signalisiert Raspbian, dass der remote SSH Zugang von Anfang an aktiviert werden soll. Das ist mir wichtig, denn ich will weder später noch zur Ersteinrichtung Monitor und Maus und Keyboard usw. anschließen müssen.
Wenn man den PI über ein Netzwerkkabel betreiben will (oder muss), ist man jetzt fertig. Ich will ihn über WLAN nutzen, daher muss man auf der microSD Karte auch noch die eigenen WLAN Anmeldedaten hinterlegen. Dazu macht man eine neue Datei mit dem Namen wpa_supplicant.conf. Diese öffnet man dann mit einem Texteditor - ich verwende Visual Studio Code - und fügt folgenden Text ein:
country=US# Your 2-digit country code
ctrl_interface=DIR=/var/run/wpa_supplicantGROUP=netdevnetwork={
ssid="Hier muss der Name deines WLANs rein"psk="und hier das Passwort"key_mgmt=WPA-PSK
}
…dass du an den richtigen Stellen deine Datein eintragen musst, hast du dir bestimmt gedacht?
Jetzt ist die microSD Karte fertig und kann in den PI gesteckt werden. Dann kann der PI an den Strom angeschlossen werden.
Über SSH mit dem PI verbinden
Wenn der PI hochgefahren ist und alles geklappt hat, sollte er im WLAN erreichbar sein. Du benötigst nun seine IP-Adresse. Du solltest dich auf deinem Router (z.B. Fritzbox) einloggen können und dort die IP des Gerätes bekommen. Falls du dort einstellen kannst, dass dieses Gerät immer die gleiche IP bekommen soll, empfehle ich dir auch diese Einstellung. Falls du die IP nicht raus bekommst, kannst du es stattdessen auch mit dem Gerätenamen raspberrypi statt einer IP versuchen.
Zum Verbinden über SSH verwende ich Putty. Nach dem Download musst du es nur starten und IP/Namen des PIs angeben und auf Open klicken. Beim ersten Mal muss man eine Sicherheitsfrage bestätigen, dann kommt der Login des PI.
Benutzername = piStandardpassword = raspberry
Mit dem Standardlogin kann man sich dann einloggen.
Raspbian einrichten
Ist man eingeloggt auf dem PI, macht man immer erst mal ein generelles Update des Systems mit den folgenden zwei Befehlen:
sudo apt-get update
sudo apt-get upgrade -y
Danach macht man sudo raspi-config und kann erstmal grundlegende Einstellungen für den PI vornehmen. Wenn man will, kann man hier VNC aktivieren, um sich auch remote mit einer grafischen Oberfläche verbinden zu können. Ich hab das nicht getan.
Dann habe ich eingestellt, dass bei Bootvorgang nur ins Terminal bzw. in die Konsole gebootet werden soll. Warum soll der PI die graphische Oberfläche laden, wenn die doch nie jemand sehen wird? Falls du das machst und sie dann doch mal brauchst, tippe einfach startx auf der Konsole.
Als Locale habe ich dann noch de_DE.UTF8 ausgewählt, das sorgt dafür, dass einige Texte und Fehlermeldungen auf Deutsch sind.
Außerdem kann man hier auch den Hostname des PIs ändern. Ich habe ihn auf smarthome gesetzt, so dass ich den anstatt der IP-Adresse ab sofort verwenden kann.
Das wars mit raspi-config und wenn man es verlässt, fragt er, ob man neustarten möchte, das habe ich getan.
Node-Red und Mosquitto installieren
Ich bleibe noch einen Moment in Putty. Auf der Homepage von Node-Red gibt es ein handliches Kommando, was man nur in die Kommandozeile kopieren muss und das Skript sorgt dann dafür, dass alles richtig für Node-Red eingerichtet wird.
Wenn Node-Red installiert ist, will ich noch, dass es mit dem System zusammen automatisch startet, dafür füre ich folgende Zeilen aus. Die erste aktiviert den Start bei Systemstart, die zweite startet Node-Red jetzt sofort.
Mosquitto startet ohne weitere Eingriffe mit dem System und auch sofort. Das Setup ist damit fertig, jetzt kann man Testen!
Test
Mosquitto testen
Dieser Unterpunkt ist kein Lerntutorial für Mosquitto. Auf der Kommandozeile kann man ein Topic abonnieren mit
mosquitto_sub -d-t /home/data
Wenn man das gemacht hat, bleibt das Programm an, bis man es mit STRG+c unterbricht. Es wird jede Nachricht des Topics (hier /home/data) ausgeben. Man kann sich übrigens auch auf alle Topics abonnieren, in dem man mosquitto_sub -d -t "#" macht.
Jetzt öffne ich eine zweite Putty-Instanz, verbinde mich wieder mit dem PI und mache dann das folgende Kommando, um auf das gleiche Topic eine Nachricht zu senden mit dem Inhalt Hello World:
mosquitto_pub -d-t /home/data -m"Hello World"
Man kann auch noch eine Session öffnen und ein weiteres mosquitto_sub ausführen. Dann wird deutlich, dass Mosquitto Nachrichten auch vervielfachen kann.
Node-Red testen
Das Hauptinterface von Node-Red läuft im Browser, dementsprechend kannst du an deinem PC oder Mac jetzt den Browser nehmen und die URL http://smarthome:1880 öffnen. Falls du einen anderen Hostnamen vergeben hast, musst du den natürlich ersetzen. Der Standardport von Node-Red ist jedenfalls 1880.
Zum ersten Testen habe ich hier eine Inject-Node in den Flow gezogen mit Drag’n’Drop und eine Debug-Node. Wenn man jetzt eine Linie zwischen dein beiden zieht, kann man Deploy (oben rechts) klicken. Dann kann man auf das kleine Viereck bei der Timestamp-Node klicken und sieht auf der rechten Debugausgabe dann einen neuen Eintrag. Das sieht insgesamt ungefähr so aus:
Im Video zeige ich auch noch, wie man mit Node-Red MQTT-Nachrichten senden und empfangen kann und so schließt sich dann der Kreis mit Mosquitto.
Ich möchte meine Bosch Kantenfräse⭐ an der Frenchcleat-Wand unterbringen. Wichtig ist mir dabei, dass man sie einfach abstellen kann. Das heißt für mich, dass man sie so hält, wie man sie gewöhnlich hält beim hinstellen und dass man sie auch mit Fräskopf abstellen kann. Dabei soll es möglich sein, dass der Fräskopf auf seiner eingestellten Höhe in der Maschine verbleiben kann. Außerdem soll auch der Schraubenschlüssel Platz finden.
Es ist ja ein Gerät mit Akku, daher muss ich kurz auch drauf eingehen, was mit dem Akku und Ladegerät passieren soll. Viele bauen sehr große Frenchcleathalter, die alles beherbergen und alles können. Das hat natürlich den Vorteil, dass man immer alles zu einem Gerät an einem Ort hat, aber es hat auch einen Nachteil: Je größer der Halter ist, desto mehr verliert man an Flexibilität. Flexibilität ist jedoch der Grund, warum man eine Frenchcleatwand baut. Ich muss viel häufiger an die Fräse als an Ersatzakku und Ladegerät, daher will ich die Fräse zentral an die Wand bringen, wo ich gut rankomme. Dieser Bereich ist aber sozusagen für die Werkzeuge begehrt, weshalb ich da keinen zu großen Halter hin bauen will. Der Rest bleibt erstmal im Schrank und ggf. baue ich nochmal irgendwann einen weiteren Halter, der Akkus und Ladegerät beherbergt und dann abseits hängt.
Video
Es gibt natürlich auch hier wieder ein Video:
Designphase
Es soll ein schlichtes Design werden aus einer Rückwand und einer Bodenplatte. Die Bodenplatte soll dabei einen Winkel haben, der etwas mehr als 90° zur Rückwand hat, so dass die Fräse leicht in den Raum zeigt und so einfacher zu greifen ist. An der Rückwand soll der Schraubenschlüssel für den Fräserwechsel hängen und die Bodenplatte bekommt eine gefräste Aussparung, in der die Fräse genau Platz hat.
Umsetzung
Ich habe mit der Bodenplatte angefangen. Es ist ein etwas größeres Stück Siebdruckplatte. Zuerst habe ich die Fräse draufgestellt und abgemalt. Die Platte hat eine Dicke von 12mm und ich will eine Vertiefung von 6mm ausfräsen, wo die Fräse später steht. Ich habe das erst versuchsweise mit der Kantenfräse selbst gemacht, aber sie hat Ihre Stärken - wie der Name schon sagt - beim Fräsen von Kanten. Bei dieser Fräsung fehlt die Absaugung, man kann also Freihand nichts erkennen und vorallem fehlt auch die Power. Die Fräse springt immer wieder verzweifelt hoch oder die Drehzahl bricht hörbar ein. Ich bin dann fix auf meine normale Bosch Oberfräse⭐ gewechselt. Damit habe ich freihand die Fläche wie gewünscht gefräst. In den zwei engeren Ecken musste ich mit dem Stechbeitel von Hand nacharbeiten.
Jetzt habe ich an der Kreissäge die Platte auf die richtige Größe geschnitten. Vorher war es ja sehr angenehm, da die größere Platte leichter einzuzwingen war für das Fräsen. Die Bodenplatte und Rückwand sind nach dem Sägen ungefähr gleich groß (ca. 12x30cm). Die Verbindung der beiden Platten wollte ich anschrägen und hab hier die Tischkreissäge leicht auf Gehrung gestellt. Das musste ich mehrfach nachkorrigieren, bis mir der Winkel der hängenden Bodenplatte zugesagt hat.
Ich habe bei beiden Platten leichte 45° Ecken geschnitten und beide Platten haben rundherum ganz leicht mit der Kantefräse eine 45° Kante erhalten. Anschließend habe ich beide Platten erst miteinander verleimt und dann noch verschraubt.
Um nun den Schraubenschlüssel für den Fräskopfwechsel an der Rückwand aufnehmen zu können, habe ich eine Schraube vorgesehen. Leider hatte ich nicht bedacht, dass der Schraubenschlüssen über den Schraubenkopf passen muss. Er passt natürlich nicht! Nächstes Mal würde ich einfach einen Nagel nehmen. Nun hatte ich das Schraubloch aber schon. Ich habe also eine etwas längere Schraube rein geschraubt und dann den Kopf mit der Flex entfernt.
Irgendwann hatte ich noch die eigentliche Frenchcleatleiste durch Schrauben festgemacht und dann ist der Halter schon fertig.
Fazit
Ich bin sehr zufrieden mit dem Halter an sich. Verbessern muss ich vorallem meinen Umgang mit der Tischkreissäge, denn wie man sieht leidet der Halter unter starken Ausrissen. Auch bin ich nicht zufrieden mit mir selbst, wie ich mich mit dem berechnen der Winkel angestellt habe, aber ist ja dann doch noch was geworden!
Wir brauchen alle Farben in einer LED, wie geht das?
Das Ziel für diese Episode soll sein, dass du verstehst, was Pulsweitenmodulation ist, wie man es machen kann, warum der Raspberry PI nur bedingt dafür geeignet ist und wie man das Wissen nutzt, um eine RGB Led anzusteuern.