= 3D-Drucker [[PageOutline(2-3)]] == Netzwerk-Einbindung === Power-Control * Haupt-Stromversorgung: * Rauchmelder-Schaltung * Fernsteuerung: http://nedissocket2.mqtt.p21.net/, mit MQTT-Anbindung und direkter Kommunikation via HTTP zu http://dev07.mqtt.p21.net/ um die Abluft des Drucker-Kabinetts in Abhängigkeit von der aufgenommenen Leistung zu steuern * Abluft-Absaugung: http://dev07.mqtt.p21.net/, mit MQTT-Anbindung und direkter Steuerung via HTTP von http://nedissocket2.mqtt.p21.net/ in Abhängigkeit von der durch das Drucker-Kabinett aufgenommenen Leistung. === Druckdaten ==== Drucker-Seite * MR3020 `gartenzwerg.p21.net` mit OpenWRT tiny 19.07.7, erstellt mit dem Image-Builder (https://downloads.openwrt.org/releases/19.07.7/targets/ar71xx/tiny/openwrt-imagebuilder-19.07.7-ar71xx-tiny.Linux-x86_64.tar.xz): {{{ make image PROFILE=tl-mr3020-v1 \ PACKAGES="-swconfig -uboot-envtools -dnsmasq iptables -ip6tables -ppp -ppp-mod-pppoe -odhcpd-ipv6only -odhcp6c \ firewall kmod-ledtrig-transient kmod-usb-serial-ch341 kmod-usb-serial-ftdi kmod-video-uvc kmod-gpio-button-hotplug \ ser2net mjpg-streamer slide-switch" \ DISABLED_SERVICES="ser2net mjpg-streamer" \ FILES=${PWD}/../gartenzwerg/imagebuilder-files/ }}} * SW-Pakete (siehe auch oben): * Kernelmodule: kmod-ledtrig-transient, kmod-usb-serial-ch341, kmod-usb-serial-ftdi, kmod-video-uvc, kmod-gpio-button-hotplug, * Programme: ser2net, mjpg-streamer, slide-switch * USBIP wurde getestet, es ließen sich jedoch keine USB-Devices exportieren :-( * Konfiguration: tbd. ==== Nutzer-Seite * ttyNVT: https://gitlab.com/joluxer/ttynvt.git geforkt von https://gitlab.com/lars-thrane-as/ttynvt * ist vorerst so konfiguriert, daß es `/dev/ttyUSB14` anbietet, weil diese Devices automatisch die passenden Rechte, Owner und Gruppe bekommen. Die Präsentation desselben als `/dev/ttyWieland` erfolgt durch einen Symlink. * Start-Kommando (realisiert in der Datei `/etc/local.d/75-ttynvt-wieland.start`): {{{ nice -n -18 ttynvt -s 50 -n ttyUSB14 -S gartenzwerg.p21.net:3020 test -L /dev/ttyWieland || ln -sfT /dev/ttyUSB14 /dev/ttyWieland }}} * vorläufiges Stop-Kommando (realisiert in der Datei `/etc/local.d/75-ttynvt-wieland.stop`), wird ersetzt, wenn `ttynvt` ein PID-File erzeugt: {{{ pkill -f 'ttynvt.*gartenzwerg' }}} * Octoprint: * URL: http://wieland.p21.net, via Rev-Proxy auf Laubfrosch, kein HTTPS * Host: Laubfrosch, Docker Container, Name wieland-octoprint * Container-IP: 172.18.1.3 (nur intern auf Laubfrosch verfügbar) * Docker-Image octoprint/octoprint:canary * Start-Kommando: {{{ docker run -d --restart unless-stopped -e TZ=Europe/Berlin -v /var/www/octoprint/data-for-docker:/octoprint --device /dev/ttyWieland:/dev/ttyACM0 --name wieland-octoprint --net lf-net --ip 172.18.1.3 octoprint/octoprint:canary }}}