Die Sonoff Serien (S20, Touch usw) kann man super mit ESPEasy flashen.
Allerdings haben grad die neueren Hardwareversionen das Problem das die Geräte nach dem Flashen mit ESPEasy keinen WLAN Hotspot aufmachen
um das Gerät zu installieren. Auch bereits konfigurierte Geräte können durch ein Firmwareupdate Probleme machen.
Im Netz gibt es haufenweise Anleitungen mit diversen Tools um dieses Problem zu beheben.
Eins ist umständlicher als das andere, dabei ist die Lösung doch recht einfach.
Solltet ihr die Sonoff Geräte flashen wollen benötigt ihr die ESPEASY Version die ihr flashen möchtet.
Ich nutze die Version R_147_RC8, da diese sehr stabil mit FHEM zusammenarbeitet.
Ihr könnt die Version hier herunterladen:
https://www.letscontrolit.com/wiki/index.php/ESPEasy
oder als Direktlink:
http://www.letscontrolit.com/downloads/ESPEasy_R147_RC8.zip
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Nach dem Download wird der Ordner entpackt. Das schöne ist das hier neben dem Flashtool, was wir nicht nutzen werden, auch die Sourcedateien beiliegen.
Wichtig ist nun das wir vorbereitend den Ordner Source öffnen. Dort finden wir den Unterordner „Libraries“.
Den Inhalt des Ordners Libraries kopieren wir in das Verzeichnis (Bei MAC im Finder unter „Dokumente/Arduino/libraries“)
Anschließend die Arduino IDE neu starten.
Hat jetzt alles geklappt sollten die neuen Librarys in der Arduino IDE zu sehen sein.
(Kann man prüfen wenn man auf Datei–> Beispiele klickt und dort die Librarys unter „Beispiele aus eigenen Bibliotheken“ auftaucht).
Jetzt müssen wir uns noch die Boarddefinitionen holen.
Dazu müssen wir beim Mac unter dem Einstellungen der Arduino IDE (Arduino oben links neben dem Apfel anklicken und Einstellungen wählen) eine weitere URL anfügen.
Dort geben wir bei „Zusätzliche Boardverwalter-URLs den Link hier ein:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Wenn wir jetzt auf „Werkzeuge–> Board:()–>Boardverwalter“ klicken können wir nach „esp8266“ suchen und diese Boardinformationen installieren.
Jetzt sollten die Boardinformationen die wir benötigen alle da sein.
Als nächstes Öffnen wir in dem vorhin runtergeladenen ESPEasyOrdner unter Source den Ordner EspEasy und dann die Datei ESPEasy.ino
Nun geben wir die Boardinformationen wie im Screenshot zu sehen ist an.
Anschließend können wir den Sketch kompilieren und hochladen.
Wenn das erledigt ist und wir unseren Sonoff starten wird dieser sich mit dem WLAN esp_0 melden. Dort können wir uns mit dem Kennwort „configesp“ verbinden und den Sonoff konfigurieren.
Nachdem ich mein TV Netzwerk zusätzlich um SATIP erweitern wollte stellten sich mir mehrere Fragen.
Zum einen welchen Receiver ich nutzen kann und zum anderen wie es mit den Recordings aussieht.
Die Recordings würde ich gerne im Netzwerk verfügbar haben sodass ich von jedem Endgerät darauf zugreifen kann.
Im wesentlichen gehe ich auf folgende Schritte ein:
- tvheadend auf einer Debian Jessie VM installieren
- tvheadend mit dem Triax TSS 400 SAT>IP Server verbinden
- Aufnahmeeinstellungen konfigurieren
- DLNA Server einrichten
- Einrichtung von EPG (Electronic Program Guide) per XML grepper.
Vorraussetzungen:
- Eine Debian Jessie VM ist eingerichtet. (ggf. geht auch das aktuelle Raspberry Image)
- Der Triax TSS 400 SAT>IP Server ist mit den LNB verbunden und im Netzwerk verfügbar
Starten wir also mit Punk 1 (tvjheadend auf einer Debian Jessie VM installieren):
Erstmal aktualisieren wir die Paketlisten und installieren den apt-transport-https damit wir später Pakete installieren können
die per https transportiert werden.
1 2 |
apt-get update apt-get install apt-transport-https |
Nun fügen wir die entsprechende Paketquelle hinzu woraus wir tvheadend installieren können. Dazu müssen wir vorab aber noch den Key vom Ubuntu Keyserver holen damit unser Debian auch weiß das er der Paketquelle vertrauen darf.
1 2 |
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 echo "deb https://dl.bintray.com/tvheadend/deb jessie stable" | tee -a /etc/apt/sources.list |
Jetzt aktualisieren wir nochmal unsere Paketliste und installieren im Anschluss tvheadend.
1 2 |
apt-get update apt-get install tvheadend |
Jetzt haben wir tvheadend installiert und können das Webinterface aufrufen: http://ipadressedesdebian:9981/
Den tvheadend-Dienst könnt ihr immer per „/etc/init.d/tvheadend start oder stop“ anhalten oder neustarten.
Weiter geht es mit Punkt 2 (tvheadend mit dem Triax TSS 400 SAT>IP Server verbinden):
Ersteinmal im Webinterface anmelden. Sollte es nicht gehen dann den tvheadend-Dienst starten.
http://ipadressedesdebian:9981
Nun gehen wir auf „Configuration –> General“ und stellen unsere Sprache ein.
„Update time“ ist auch hilfreich.
Anschließend klicken wir oben einmal auf „Save configuration“. Danach können wir via „Discover SAT>IP servers“ den tvheadend auffordern nach dem Triax im Netzwerk zu suchen.
Ist das erfolgt gehen wir zu „Configuration –> DVB Inputs –> Networks“.
Dort legen wir ein neues Netzwerk per „ADD“ vom Typ DVB-S Network.
Die Haken sollten so wie in der Grafik sein. Als Orbital Position sollte 19.2E Astra 1KR/1L/1M/1N ausgewählt sein um die gängigen deutschen Sender zu erhalten.
Jetzt gehen wir in den Bereich „Configuration –> DVB Inputs –> TV adapters“
Dort sollten wir alle Tuner vom Triax sehen und müssen alle Positionen einzeln auswählen und auf der rechten Seite auf „Enabled“ setzen sowie unser angelegtes Netzwerk bei „Networks“ angeben
Nun können wir im Bereich „Muxes“ einen Mux anlegen indem wir das Add Symbol drücken.
Legt den MUX einfach nach meinem Beispiel an, anschließend scannt euer tvheadend via Triax alle Frequenzen durch und legt diese entsprechend an.
Jetzt fängt euer tvheadend an die Frequenzen und Kanäle durchzuscannen….
Den Fortschritt kann man unter „Status –> Stream“ sowie unter „Status –> Subscriptions“ gut beobachten.
Das dauert auch eine ganze Zeit (Bei mir war es eine knappe Stunde bis er wirklich alles durch hatte)
Nach und nach sollte sich die Liste unter „Configuration –> DVB Inputs –> Services“ füllen und ungefähr so aussehen:
Jetzt habt ihr in den Services die Sender welche er auf den entsprechenden Kanälen gefunden hat.
Markiert die einzelnen Sender die ihr nutzen wollt und klickt oben auf „Map Selected“
Dann wird eine Verbindung zwischen eurem Sender und dem Kanal hergestellt. Sozusagen wählt ihr euch das gute zwischen dem „Schrott“ raus.
Habt ihr das soweit erledigt solltet ihr unter „Configuration –> Channel / EPG“ eure Sender wiederfinden.
Unter „Configuration –> Channel / EPG –> EPG Grabber“ könnt ihr direkt die Einstellungen übernehmen.
Dann wird der EPG eingelesen welche über SAT mitkommen. Allerdings dauert das sehr lange, ist träge und ohne Detailinformationen zur einzelnen Sendung.
Zum Anfang aber ganz nett um schon zu sehen was so geht. Später schauen wir uns noch an wie wir bei einer OnlineTV Zeitung die Daten wegschnappen 😉
Euer tvheadend ist nun quasi bereit um aufzunehmen oder euch die einzelnen Sendungen z.b. auf den VLC zu streamen. Dazu einfach mal auf das Wort „Play“ vor den einzelnen Sendern klicken.
Nun schauen wir uns Punkt 3 an und konfigurieren die Aufnahmen:
Wir gehen in den Bereich „Configuration –> Recording –> Digital Video Recorder Profiles“.
Dort findet Ihr alle Einstellungen unter dem Default Profile
Ich habe euch mal wieder einen Screenshot mit den passenden Einstellungen beigelegt.
Empfehlenswert sind die Einstellungen „Extra Time Before Recordings und After Recordings“.
Das hilft dabei eventuelle Sendezeitverschiebungen auszugleichen.
Auch sollte man sich Gedanken machen wie die Dateinamen aussehen sollen. Ich lege z.b. einen Ordner per Datum an wonach man die tage gut auseinanderhallten kann.
Das ist aber Geschmacksache und kann später noch geändert werden.
Jetzt können wir über die Electronic Program Guide die einzelnen Sendungen anwählen und mit einem Klick aufnehmen.
Sollte noch nichts im Electronic Program Guide zu sehen sein müsst ihr warten bis wir mit dem Punkt 5 fertig sind da wir dort schauen wie wir die EPG mit Leben füllen 🙂
Punkt 4 (DLNA Server einrichten):
Der DLNA Server ermöglicht es uns die Aufnahmen per Netzwerkstream in unserem LAN bereitzustellen.
So können alle gängigen DLNA Clients wie Smart-TV´s, Ipads, PC´s und viele andere auf unsere Aufnahmen zugreifen.
Ich habe mich hier für minidlna entschieden. Der Minidlna ist klein, schmal und ist mit wenig Aufwand lauffähig zu bekommen.
Für meine Anwendungen (Nur Video aus den Aufnahmen bereitstellen also vollkommen ausreichend).
Wir installieren erstmal Minidlna:
1 |
apt-get install minidlna |
Anschließend öffnen wir die config mit dem Editor unserer Wahl:
1 |
nano /etc/minidlna.conf |
Wie ihr seht steht in der minidlna.conf eine ganze Menge was wir mit dem Minidlna anstellen können.
Um einfach nur Video bereitzustellen reicht uns aber erstmal folgender Eintrag:
1 |
media_dir=V,/home/hts |
Ich habe meinem Minidlna noch einen Namen gegeben damit ich diesen im Netzwerk auch sofort wiederfinde.
Das geht in der minidlna.conf mit dieser Zeile:
1 |
friendly_name=AUFNAHMEN |
Nun einmal neu starten und der Minidlna sollte laufen:
1 |
/etc/init.d/minidlna restart |
Punkt 5 (EPG per XML Grepper):
Es gibt ein schönes OpenSourcetool welches sich WebGrab+ nennt und uns ermöglicht die EPG aus OnlineTV-Zeitschriften auszulesen.
Der Nachteil ist das jeder durchlauf echt Zeit benötigt und entsprechend langsam ist. Ich lasse meine Liste auf meinem Server erzeugen
Und lade die anschließend auf mein Debian mit dem tvheadend runter. Ich werde auf beide Varianten eingehen.
Variante 1 (Selber erstellen):
Auf der Webseite http://www.webgrabplus.com/download muss das aktuelle Paket für Linux runtergeladen und entpackt werden.
Bei mir ist es aktuell die Version 2.0
1 2 |
wget http://www.webgrabplus.com/sites/default/files/download/SW/V2.0.0/WebGrabPlus_V2.0_install.tar.gz tar -zxvf WebGrabPlus_V2.0_install.tar.gz |
Da das ganze Mono benötigt installieren wir uns noch fix Mono auf unserem Debian:
1 |
apt-get install mono-complete |
Nun wechseln wir mal in das WebGrapPlusverzeichnis und führen das Setup durch
1 2 |
cd .wg++/ ./install.sh |
Das sollte es schon gewesen sein. Nun müsst ihr euch die WebGrapPlus Configuration anpassen.
Da dieses etwas schwerer zu finden ist lade ich euch mal meine hoch. Wenn ihr diese Nutzen wollt solltet ihr euch aber vorher folgendes Verzeichnis anlegen:
1 |
mkdir /share |
Download: https://www.hauiswelt.de/wp-content/uploads/WebGrab++.config.xml
1 |
wget https://www.hauiswelt.de/wp-content/uploads/WebGrab++.config.xml |
Jetzt könnt ihr euer WebGrapPlus starten und warten 🙂
1 |
./run.sh |
In der config.xml könnt ihr euch noch die Tage anpassen die er in die Zukunft holen soll.
Ich hab es recht hoch eingestellt aber für mich ist das auch okay.
Wenn euer WebGrapPlus fertig ist habt ihr im Ordner /share/ eine Datei liegen: guide_wgp.xml
Die Datei guide_wgp.xml enthält jetzt alle Programinformationen. Diese müssen wir aber dem tvheadend noch beibringen.
Dazu müssen wir im tvheadend im bereich „Configuration –> Channel /EPG –> EPG Grabber “ den Haken „XMLV setzen.
Das sollte dann so aussehen:
Ist das erledigt müssen wir unsere guide_wgp.xml noch mit dem EPG vom tvheadend bekannt machen.
Das geht mit folgendem Befehl:
1 |
cat /share/guide_wgp.xml | socat stdio UNIX-CONNECT:/home/hts/.hts/tvheadend/epggrab/xmltv.sock |
WICHTIG: Dieser Befehl muss jedesmal ausgeführt werden sobald eine neue oder geänderte guide_wgp.xml vorliegt.
Am besten lässt man erstmal per Cron die guide_wgp.xml aktualisieren und anschließend per cat und socat die Datei an den tvheadend übertragen.
Variante 2: (meine Datei nutzen)
Dazu erstellt ihr einfach ein Shellscript welches den download für euch übernimmt.
nano /etc/epg.sh
1 2 3 4 |
#!/bin/bash rm /share/guide_wgp.xml wget https://www.hauiswelt.de/wp-content/uploads/guide_wgp.xml -P /share/ cat /share/guide_wgp.xml | socat stdio UNIX-CONNECT:/home/hts/.hts/tvheadend/epggrab/xmltv.sock |
Anschließend noch
1 |
chmod 755 /etc/epg.sh |
Nun könnt Ihr euch die EPG von meinem Server laden mit
1 |
/etc/epg.sh |
Meist gibt es um 21 Uhr Abends eine neue Version. Also solltet ihr euch für diesen Weg entscheiden setzt den Cronjob auf 21 Uhr um
euch die aktuellen Daten zu laden.
Wenn man mehrere Router, oder IPFire´s im grünen Netzwerk hat klappt das routen trotz statisch hinterlegter Routen nicht.
Damit man auf dem IPFire die passenden Routen auch im grünen Netz an die Clients weiterleiten kann muss man folgende IPTABLES nutzen.
Am besten direkt beim Systemstart in die /etc/sysconfig/firewall.local im Startbereich eintragen:
1 2 |
/sbin/iptables -A CUSTOMFORWARD -i green0 -o green0 -j ACCEPT /sbin/iptables -I NEWNOTSYN -i green0 -o green0 -j ACCEPT |
Hallo zusammen,
wer oft mit Windows 7 Setup zu tun hat, der weiß das es eine gefühlte Ewigkeit dauert von DVD zu installieren.
Bringen die DVD´s den Nachteil langsame Datenübertragung zu bieten, so fehlt bei moderneren PC´s anschließend ein ganzer Zoo an Updates und Treibern.
Einen PXE Dienst installieren ist meist schnell erledigt. Die Windows_PE Images erstellen erweist sich hingegen als schwierig.
Einen PXE Dienst samt TFTP Server auf einer Synology oder einem Linuxsystem zu installieren und einzurichten ist ein anderes Thema dem ich später einen anderen Artikel widme.
Wie läuft das ganze Spiel jetzt ab ? Warum braucht man ein Windows PE Image ?
Der Bootprozess sieht für PXE ungefähr so aus :
1. Booten von Netzwerk (im Regelfall kann der Bios dieses, ansonsten einfach im Bios aktivieren)
2. Der PC beginnt den Bootvorgang vom Netz, indem er sich nun eine IP Adresse vom DHCP Server holt
3. Der DHCP Server bedient den PC mit einer IP Adresse und einer „Nextserver“ Information mit entsprechendem File welches er benutzen soll.
4. Der PC läd die Datei die er vom PXE per TFTP bekommt und präsentiert uns die dort angegebenen Informationen.
Diese dort hinterlegten Informationen sind im Regelfall in Form eines Auswahlbootmenüs, welches man eventuell von einigen Systeminstallationen kennt.
Hier haben wir auch die Möglichkeit mehrere Systeme vom Netzwerk zu booten. Wie man das PE Image dort einbindet schreibe ich wie bereits angekündigt später in einem anderen Artikel.
Hier wird nun unsere Windows PE iso geladen und gestartet. Wir bekommen ein kleines Windows welches im die Grundlegenden Funktionen beherrscht die benötigt werden um z.b. ein Setup für eine Installation dieses Betriebssystemes zu starten.
Nicht unerheblich ist es die passenden Netzwerktreiber in dieses PE ISO einzubringen. Da Windows PE in diesem Fall alle Installationsdateien über das Netzwerk läd, ist ein funktionierender Netzwerktreiber unumgänglich.
Als allererstes müssen wir uns das Windows AIK (Windows Automated Installation Kit) auf den PC laden.
http://www.microsoft.com/de-de/download/details.aspx?id=5753
Da wir eine Windows PE mit eingebundenen SP1 haben möchten benötigen wir außerdem eine Ergänzung zum AIK
http://www.microsoft.com/de-de/download/details.aspx?id=5188
Diese beiden ISO Dateien solltet ihr nun brennen, oder mounten, oder entpacken, je nach wie es beliebt.
Ich beschreibe den Weg über eine gebrannte DVD (Falls ihr euch das mounten möchtet oder entpacken, müsst ihr an entsprechender Stelle die Laufwerksbuchstaben durch den entsprechenden Pfad ersetzen)
E: ist hier der Laufwerksbuchstabe des DVD Laufwerks worin sich die DVD befindet
Nun starten wir eine Kommandozeile (cmd). Bitte mit Administrator Berechtigungen starten (Rechtsklick „Als Administrator ausführen“)
Anschließend kopieren wir die Dateien von der DVD in das WAIK Verzeichnis mit folgendem Befehl :
xcopy E:\*.* /s /e /f „C:\Program Files\Windows AIK\Tools\PETools“
Ist das erledigt können wir alle benötigten Dateien in das Zielverzeichnis, worin wir dann weiter bearbeiten kopieren. (In meinem Fall nehme ich die amd64, da ich 64 Bit haben möchte).
1 |
"C:\Program Files\Windows AIK\Tools\PETools\copype.cmd" amd64 C:\WinPE_x64 |
Nun können wir die winpe.wim Datei mounten um wie in meinem Beispiel dem Windows Startimage Treiber einzubinden.
Da wir später dieses Image starten möchten um das Windows Setup vom Netzwerk zu starten, wäre es natürlich Hilfreich wenn dieses Image alle Treiber kennt um das Netzwerk ansprechen zu können. Die Hersteller der Notebooks bieten meist komplette driver.cab Dateien an, welche alle Netzwerkkarten beinhalten die der Hersteller mal verbaut hat.
Diese zu finden geht meist recht einfach über Google. Dort einfach mal nach z.b. Dell WinPe driver.cab suchen.
1 |
dism /mount-wim /wimfile:C:\WinPE_x64\winpe.wim /index:1 /MountDir:C:\WinPE_x64\mount |
Jetzt haben wir das Image unter C:\WinPE_x64\mount gemountet.
Jetzt müssen wir die Treiber einbinden. Dazu kopieren wir die Treiber nach C:\WinPE_x64\Drivers
Die Dateien müssen nicht in irgendwelchen bestimmten Ordnern abgelegt werden. Einfach alles an Treibern in die Drivers Ordner werfen.
Der anschließende Befehl rennt die Ordner und Unterodner nacheinander durch und nimmt sich alles was dort nach Treibern aussieht.
Jetzt die Treiber einbinden mit dem Befehl :
1 |
Dism.exe /Image:C:\WinPE_x64\mount /Add-Driver /Driver:C:\WinPE_x64\Drivers /Recurse /forceunsigned |
Wir geben dem Befehl den /Recurse und /forceunsigned Schalter mit.
/Recurse bewirkt das die Treiber auch in Unterodnern aufgesammelt und eingebunden werden.
/forceunsigned bewirkt das auch Treiber die keine Digitale Signatur haben dort eingebunden werden. Das hat sich als sehr Hilfreich rausgestellt, da manche Hersteller aus Kostengründen nicht alle Treiber signieren lassen.
Da hier auch sicher ein paar Treiber dabei sein werden mit denen die Tools nichts anfangen können, bekommt ihr mit sicherheit den ein oder anderen Fehler am Ende ausgespuckt.
Nicht direkt in Panik verfallen. Ruhig die Logdatei mal durchschauen ob ein Treiber den ihr ganz dringend braucht unter den Fehlgeschlagenen ist. Die Erfahrung zeigt hier aber, das es sich meist um Treiber handelt die von kaum jemanden benötigt werden.
Nun haben wir dem Image die Treiber hinzugefügt und widmen uns der Bootphase.
Wir kennen alle dieses vorgehen wenn man eine Windows Setup CD/DVD in den Laufwerksschacht stopft und teilweise aktiv dem Bios noch sagen muss „Boote bitte von CD/DVD“.
Macht unser PC das und bootet die DVD kommt der gute Microsoft daher und sagt uns nochmal „Drücken Sie eine beliebige Taste um von CD oder DVD zu starten“.
Das möchten wir natürlich nicht in unserem Windows PE haben da wir vorher im PXE Bootmenü bereits aktiv gesagt haben „Starte bitte das Windows vom Netzwerk“
Um diese abfrage auszuschalten müssen wir nun die Datei entfernen :
C:\WinPE_x64\ISO\boot\bootfix.bin
Ist diese Datei vorhanden prüft der PC ob eine Partition auf der Festplatte vorhanden ist und gibt uns das ungewollte „Drücken Sie eine beliebige Taste um von CD oder DVD zu starten“ aus
Nun startet unser Windows PE direkt nach dem Boot brav hoch. Und was sehen wir…. eine Kommandozeile….. Super……
Das die PE nur dazu gedacht ist Windows minimal zu booten um z.b. ein Setup aufzurufen ist hier auch alles okay. Das eigentliche Setup muss nun von der Kommandozeile aufgerufen werden.
Da wir die ganzen Befehle aber nicht alle in die Kommandozeile eingeben möchten geben wir dem PE direkt die Informationen mit welche er hier für uns eingeben soll. In Form einer Batchdatei. Diese verheiraten wir direkt mit dem Image. Wer das später ändern möchte, braucht sich nur wieder wie oben das Image zum bearbeiten mounten, die Datei ändern, und wie zum Schluss beschrieben wird das Image wieder schließen, also commiten)
Wir bearbeiten nun die startnet CMD welche wir hier finden :
1 |
"C:\WinPE_x64\mount\Windows\System32\startnet.cmd" |
Wir sagen ihm nun das er unsere eigentliche Windows DVD (Welche im Netzwerk auf einer Freigabe liegt auf den Buchstaben V: mounten soll)
wpeinit muss auf jedenfall als erstes in der Zeile stehen bleiben, da dieser Befehl erstmal alles was wir benötigen Initialisiert.
den Pfad zum Windows solltet ihr dringend anpassen, genau wie den pxebenutzer und pxepasswort.
Gebt hier den Pfad an wo die Dateien euerer Windows SetupDVD liegen.
Anschließend (die letzte Zeile) rufen wir die setup.exe von eurer DVD auf und starten somit automatisch das Windows Setup
1 2 3 |
wpeinit net use v: \\fileserver.network.local\PXE\isos /u:pxebenutzer pxepasswort v:\setup.exe |
Unmounten :
1 |
dism /unmount-wim /mountdir:C:\WinPE_x64\mount /commit |
1 |
copy C:\WinPE_x64\winpe.wim C:\WinPE_x64\ISO\sources\boot.wim |
ISO Erstellen :
1 |
"C:\Program Files\Windows AIK\Tools\amd64\oscdimg.exe" -n -bC:\WinPE_x64\etfsboot.com C:\WinPE_x64\ISO C:\WinPE_x64\WinPE.iso |
Wir sollten noch auf \\fileserver.network.local\PXE\isos eine Batchdatei anlegen die setup_windows.cmd heißt. Mit folgenden Infos :
1 |
v:\windows7x64\setup.exe |
Nachdem ich meinen CTC nun auf Sailfish geupdated habe benötige ich die Einstellungen
für die Opensource Software „slic3r“ und „Replicatorg“.
Klar kann man auch weiterhin die Makerbot Software nutzen, allerdings hat diese nicht so viele Einstellungsmöglichkeiten.
Grad wenn es darum geht unterschiedliche Materialien in unterschiedlichen Qualitäten zu Drucken benötigt man am besten für jedes Material
das passende Druckprofil. Der Slic3r und der Replicatorg in zusammenarbeit bringen weitaus bessere Druckergebnisse zustande als der Makerbot
es in seiner Software schafft. Es ist nur sehr wichtig diverse Einstellungen vorzunehmen, da Slic3r anders als der Makerbot nur GCode Dateien erstellt.
Diese Gcode Dateien kann der CTC nicht direkt interpretieren, weswegen ein weiterer Step über Raplicatorg erfolgen muss, um die GCode Dateien in das passende, für den Drucker verständliche, Dateiformat .x3g zu bringen.
Schauen wir uns zunächst mal die Slic3r Settings an.
Hier finden wir die wesentlichen Menüpunkte „Plater“ „Print Settings“ „Filament Settings“ und „Printer Settings“
Plater :
Hier sehr ihr euer Druckbett mit eurer geladenen STL. In meinem Screenshot ist keine Druckdatei geladen, entsprechend ist das Druckbett hier noch leer.
Auf der rechten Seite sehr ihr die Einstellungen wie ich grad Drucken würde. Ich habe z.b. alle Konfigurationsfiles PLA-Schwarz benannt.
Print Settings :
Layers and perimeters :
Hier sieht man direkt die ersten Einstellungsmöglichkeiten für die ersten Druckeinstellungen.
Ich Drucke hier z.b. mit einer Schichthöhe „Layer height“ von 0.3mm. Ein Freund von mir schafft hier mit dem
CTC erstaunliche 0.05mm Schichthöhe zu drucken. Zum start solltet ihr allerdings erstmal mit 0.3mm testen bis ihr den
Dreh raus habt. Anders als bei der Makerbotfirmware gibt es beim Slic3r die Möglichkeit für den ersten Layer (die untere Schicht auf dem Druckbett)
eine andere Schichthöhe zu wählen. Das kann manchmal sehr sinnvoll sein.
Ich werde jetzt nicht auf jeden Parameter eingehen den man hier einstellen kann. Die Einstellungen können von Drucker zu Drucker unterschiedlich sein.
Wenn ihr meine Einstellungen übernehmt, sollte ein Startdruck möglich sein und ihr könnt durch das ändern diverser Parameter eure Druckqualität selbst
durch ausprobieren beeinflussen.
WICHTIG : Nachdem ihr die Einstellungen geändert habt, müsst ihr unbedingt auf speichern klicken.
Dazu bitte das Diskettensymbol anklicken. Hier werdet ihr festellten das ihr einen Namen für das Profil angeben könnt.
Das ist insbesondere dafür gedacht, das ihr für verschiedene Filamente, oder Druckqualitäten unterschiedliche Einstellungen nutzen könnt
und diese dann später ganz einfach per Auswahl anwählen könnt.
Filament Settings :
Filament :
Hier geben wir insbesondere die Filamentinformationen an.
Die Farbe muss nicht ausgewählt werden, kann aber.
Diameter beschreibt die Filamentdicke, den Durchmesser.
Extrusion multiplier sagt wie viel mehr oder weniger Filament er extrudieren soll.
Geben wir hier einen Wert über 1 an, in meinem Fall 1.15 wird der Makerbot etwas mehr Filament durch die Düse drücken.
Werte unter 1 entsprechend weniger Filament. Das ist manchmal notwendig.
Printer Settings :
General :
Nun sind wir im eigentlichen Druckermenü.
Hier müssen wir die ganzen Einstellungen machen die dem Slic3r die Informationen geben wie er mit unserem Drucker am
einfachsten umzugehen hat. Hier ist es echt schwer im Internet vernünftige Informationen zu bekommen. Diese Informationen
bekommt man ganz gern nur von Freunden oder bekannten weitergegeben welche ebenfalls diesen Drucker nutzen. In meinem
Fall habe ich diese Informationen wieder von Marco bekommen, der nach seinen Aussagen ebenfalls fast wahnsinnig geworden ist auf der suche danach.
Jetzt ist es absolut wichtig auf den Button „Set“ zu drücken, welcher die Einstellungen für das Druckbett beinhaltet (Bed shape)
Hier müsst ihr Rectangular auswählen.
Size : x: 225 y: 145
Origin : x 112.5 y: 72.5
Custom G-code :
Der Drucker benötigt für die Arbeit ein paar Steuerbefehle vor und nach dem Druck.
Im Grunde alles was vor Druckbeginn passieren muss. Wie zum Beispiel das Druckbett und den Extruder aufheizen,
Die Startposition anfahren usw usw……
Ebenso braucht er einige Steuerbefehle nach dem Druck.
Auf dem Screenshot sind nicht alle Steuerbefehle erfasst. Ich will euch das auch nicht abtippen lassen. Den entsprechenden G-Code für Start und Ende findet ihr hier ebenfalls.
Start G-code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
T0; set primary extruder M73 P0; enable show build progress M109 S[first_layer_bed_temperature] T0; heat bed up to first layer temperature M104 S[first_layer_temperature_0]; set nozzle heater to first layer temperature ;M104 S[first_layer_temperature_1] T1; set nozzle heater to first layer temperature on second extruder M6 T0 M103; disable RPMs G21; set units to mm G162 X Y F6000; home XY axes maximum G161 Z F9000; home Z axis minimum G92 Z0; set Z to 0 M132 X Y Z A B; Recall stored home offsets G90; set positioning to absolute G1 Z30; move Z to waiting height G1 X-95 Y-73 Z30 F14000; move to waiting position (front left corner of print bed) G130 X0 Y0 A0 B0; set stepper motor vref to lower value while heating M6 T0; wait for bed and extruder to heat up G130 X127 Y127 A127 B127; set stepper motor vref to defaults M108 T0 R3; set extruder speed G92 E0; set E to 0 G90; use absolute coordinates M320; acceleration enabled for all commands that follow G1 Z[first_layer_height] F6000.000; move to first layer height G1 X100 Y-73 F14000.000; move to front right corner of bed G1 X-90 Y-73 E24 F2000.000; extrude a line of filament across the front edge of the bed G4 P2000; wait for ooze to slow G1 Z0 F6000.000; lower nozzle height to 0 G1 X-95; wipe nozzle G1 Z[first_layer_height] F6000.000; set nozzle to first layer height G1 F12000; ensure fast travel to first print move G92 E0; set E to 0 again |
End G-Code :
1 2 3 4 5 6 7 8 |
M73 P100 ; end build progress G0 Z150 G162 X Y F2500; home X and Y axes M18; disable all stepper motors M109 S0 T0; set bed temperature to 0 M104 S0 T0; set extruder temperature to 0 M70 P5; Display "We <3 Making Things!" message M72 P1; Play Ta-Da song |
Extruder 1 :
Hier finden wir die Einstellungen die wir für die Extruder benötigen.
Wenn ihr am CTC oder am Flashforge noch nicht die Noozle getauscht habt, solltet ihr eine 0.4mm Noozle haben.
Ich z.b. habe bereits eine neue. Ich habe momentan entsprechend eine 0.5mm Noozle verbaut. Eine 0.3mm Noozle sollte ebenfalls möglich sein,
allerdings bin ich mir dabei noch nicht sicher ob der Extruder genügend Kraft hat das Filament durch die Noozle zu drücken.
Im großen und ganzen könnt ihr die Werte von mir ebenfalls wieder übernehmen. Die Retraction beschreibt den Vorgang beim verfahren bzw. beim Layer wechseln.
Wenn der Drucker eine neue Schicht beginnt wird er den Druckkopf zur Startposition der neuen Schicht bewegen. Damit er uns aber bei der Fahrt zum Startpunkt nicht
das ganze Druckobjekt mit Restfilament, welches aus der Düse sabbert, vollklebt sagen wir Ihm er soll doch sein Filament etwas zurückziehen um die Düse leer zu machen.
Die Einstellungen beim zweiten Extruder sind meist identisch.
Das war es zum Thema „Einstellungen“ im Slic3r.
Ihr solltet eure Einstellungen etwas anpassen. Nicht jeder Drucker ist gleich. Spielt etwas damit rum.
Die Grundeinstellungen um losdrucken zu können habt ihr nun.
Stl laden und exportieren.
Nun können wir unsere zu druckenden Objekte laden.
Dazu klicken wir oben auf den Button „Add“ und wählen die STL Datei aus.
Nun seht ihr auf der virtuellen Druckplatte euer Objekt welches ihr geladen habt.
Ihr könnt es euch von allen Seiten anschauen indem ihr mit gedrückter Umschalttaste und der Maus euch um das Objekt bewegt.
Auf der rechten Seite wählt ihr nun aus mit welchem Profil das Objekt gesliced werden soll.
Wenn ihr euch nun mal durch die Ansichten „3D,2D,Preview,Layers“ bewegt, werdet ihr sehen wie der Slicer euer Objekt in einzelne Schichten geschnitten hat.
Das ihr unter „preview“ auch seht wo er euch einen Support andruckt ist sehr nett. Als Support wird das Stützmaterial bezeichnet, welches ihr nach dem Druck einfach wegbrechen könnt.
Es wird bei manchen Objekten aber benötigt, grad wenn in Höheren schichten überhänge gedruckt werden müssen.
Im Screenshot hier sieht man die grünen abschnitte. Das ist der Support den der Drucker hier nutzt um die obere Rundung sauber drucken zu können.
Nun müssen wir die GCode Datei noch exportieren. Dazu klicken wir auf der Rechten Seite auf „Export G-Code“.
Nun den GCode abspeichern.
Nun sind wir fertig. Das zu druckende Objekt ist als GCode gewandelt und kann nun im Replicatorg geladen werden und an den Drucker übertragen werden.
Das Thema Replicatorg werde ich noch gesondert behandeln.
Hier sind nämlich für den CTC oder Flashforge noch wichtige Einstellungen zu machen.
Nachdem ich nun seit monaten einen CTC 3D Drucker besitze und immer wieder auf Sailfish updaten wollte,
möchte ich euch nun kurz beschreiben wie das Update recht einfach geht.
Die Anleitungen im Internet sprechen teilweise von sehr umständlichen und vielen Downloads um zum Erfolg zu kommen. Meistens funktioniert es dann am Ende aber auch nicht richtig.
Dabei ist das ganze sehr einfach, wenn man erstmal die passenden Informationen hat, wie das Update am besten durchzuführen ist. Diese möchte ich euch hier liefern:
Im ersten Step benötigt ihr von der Seite thingiverse die Sailfishversion.
Unter dem TAB „Thing Files“ ladet ihr die entsprechende Datei für euer Betriebssystem.
Für Windows wäre das dann : replicatorg-0040r33-Sailfish-windows.zip
Somit habt ihr die Raplicatorg Software welche bereits alle Sailfishupdatedateien für euren Drucker mitbringt.
Nun wählt ihr euer Gerät aus. Im Fall vom CTC oder ähnlichen ist es der „The Replicator Dual (Sailfish)
Anschließend müsst ihr den Kommunikationsport des Druckers auswählen, bei mir war es zufällig der Com1 da
die virtuelle Maschine keine anderen Seriellen Ports aufgelistet hat. Wenn ihr den Drucker per USB Verbindet wird
hier ein Serieller Port ausgegeben
Dann kann man direkt auf „Upload new Firmware gehen“
Und ihr bekommt folgendes Fenster :
Hier solltet Ihr Makerbot Replicator 2 auswählen.
Im nächsten Fenster erscheint dann die Version die wir auf das Gerät Flashen wollen.
Die Sailfish 7.7 ist die aktuelle, und mit der legen wir los. Auswählen und Next klicken.
Nun fragt euch der Replicatorg nach dem Port. Dort wählt ihr den Port aus an dem euer CTC oder Flashforge angeschlossen ist.
Zur Erinnerung : Bei mir war es COM1.
Jetzt kommt der kniffeligste Punkt.
Ihr müsst den Uploadbutton drücken.
Damit die Firmware auf das Gerät übertragen werden kann habt ihr nur ein schmales Zeitfenster.
Ihr müsst am Gerät den Resetknopf drücken. Diesen findet Ihr neben dem USB Anschluss.
Wenn ihr den Resetknopf losgelassen habt, müsst ihr innerhalb von 100ms den Uploadbutton am PC drücken.
Das funktioniert meist erst beim 20. oder 30. versuch. Lasst euch nicht entmutigen.
Das Problem ist hier tatsächlich das schmale Zeitfenster indem das Board eures CTC´s die Firmwareaktualisierung zulässt.
Ein Trick : Haltet den Resetknopf gedrück. Lasst in los und klickt zeitgleich auf Upload. So schaffe ich es mittlerweile im 3. oder 4. Anlauf 🙂
Das war zum Thema Sailfish auf CTC oder Flashforge updaten eine schnelle Anleitung.
Nach dem Update kommen weitere schritte. Ihr müsst jetzt euer Gerät konfigurieren.
Dazu komme ich in einem späteren Artikel.
Grüße und Dank an Marco von http://frickelwerkstatt.de/
Durch Marco habe ich erst die Infos zu diesem Thema auf dem 32C3 bekommen.
Manchmal benötigt man einen Shortcut um z.b. den Türöffner an einer T24 von Mobotix auszulösen.
Um die Tür zu öffnen möchte man keine extra Software starten, denn das kostet Zeit. Eine vor der Tür wartende Person würde die Verzögerung nicht verstehen.
Man kann mit AutoIT (http://www.autoitscript.com/site/autoit/downloads/) wunderbar ein Script erstellen welches auf jedem WindowsPC im Hintergrund läuft.
In meinem Scenario läuft das Script im Hintergrund und wartet auf die Tastenkombination „ALT+c“), wird diese Tastenkombination gedrückt ruft das Script die API der T24 auf und öffnet die Tür.
Das Script sieht dann so aus :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <InetConstants.au3> #include <MsgBoxConstants.au3> HotKeySet("!c", "open_door"); Func open_door() Local $sFilePath = @TempDir & "\tmp.dat" Local $hDownload = InetGet("http://benutzername:kennwort@kameraIP/control/rcontrol?action=customfunction&action=sigout&profile=~Door", @TempDir & "\tmp.dat", $INET_FORCERELOAD, $INET_IGNORESSL) Do Sleep(250) Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE) InetClose($hDownload) MsgBox(4096, "Tür geöffnet", "TÜR WURDE GEÖFFNET", 3) FileDelete($sFilePath) EndFunc ; Script am Leben halten while 1 sleep(100000000) WEnd |
BITTE DIE PARAMETER
BENUTZERNAME
KENNWORT
KAMERAIP
durch eure KameraIP ersetzen.
Anschließend das Script speichern und mit Rechtsklick die Datei „kompilieren“.
Starten, Testen, Fertig 🙂 Viel Spaß!