Der CCC ist wie jedes mal wenn ich da bin großartig! Der erste Tag ist wirklich erstmal ein sanftes ankommen und exploren.
Jetzt sitze ich das erste mal an meinem Rechner. Und ich schiebe ein bisschen Panik. Denn diese Umgebung lässt dich immer drei mal überlegen ob du das hier machen möchtest. Oft ist die Antwort schlicht nein. Und trotzdem tut man dann doch ein paar Dinge, weil es einfach unvermeidlich ist. Nun: Ich werde die nächsten Tage trotzdem basteln und versuchen dieses Gefühl in Maßnahmen umzuleiten, die mir helfen diese “Schwachstellen” zu minimieren.
Wenn mir der Chaos Communication Congress etwas vor Augen geführt hat, dann ist es, dass ich nicht der einzige bin, der zu Weihnachten die IT der Eltern und Verwandten fixen muss.
Immerhin muss ich kein Windows XP mehr weg machen. Aber ein Windows Vista ist mir zumindest über den Weg gelaufen.
Trotzdem stelle ich fest, dass sich die typischen Anfragenfelder verschoben haben. PCs spielen kaum noch eine Rolle, dafür mehren sich die Fragen zu SmartTV, Tablets und Handys.
Oft kann ich in diesen Fällen aber nicht groß helfen, denn so divers die Systeme sind, es bilden sich immer mehr goldene Käfige. Und das finde ich beunruhigend. Billig China Tech tut ja erstmal was es soll. Aber wie erklärst du Oma, dass sie ihr geliebtes Tablet nach 2 Jahren wegschmeißen muss und auf dem neuen alles ganz anders ist.
Auch hier macht sich für mich immer mehr bemerkbar, dass man an der Basis ansetzen muss und vor allem Bewusstsein schaffen muss. SmartTVs sind aktuell mein Endgegner. Toll was die alle können, aber ein Dummer TV mit einem Chromecast wäre in vielen Hinsichten die besser Wahl.
Ich betreibe mittlerweile ja alles in Docker Containern. Auch die kleinsten Services. Warum? Nun: Es ist vor allem einfach zu persistieren und stabil zu halten. So habe ich auch auf meinen Raspberry Pis alles in Docker Containern laufen. Dieses mal wollte ich einen WebDAV als Service einrichten was mir ziemliches Kopfzerbrechen bereitet hat.
Dazu muss man wissen dass der Raspberry Pi 2 auf einer arm32v6 Architektur basiert was Docker mitterweile mit allen offiziellen Images unterstützt. Im Falle des NGINX den ich als meinen Webserver ausgesucht habe gibt es dieses Image aber nur als Alpine based Image und die WebDAV-Ext unterstützung für die Methoden PROPFIND und OPTIONS sind nicht standardmäßig enthalten.
Long Story short: Ich habe eine Image erstellt, welches genau diese Lücke füllt. Hier die Facts:
Raspberry Pis sind ja eine tolle Sache. Leider erfordern sie für einen produktiven Einsatz immer recht viel Aufwand um sie in Betrieb zu nehmen. Oder wollen wir es mal so sagen: Man muss immer einen HDMI-fähigen Monitor + Kabel da haben, eine USB Tastatur, es umständlich anschließen ect.
Da ich das in letzter Zeit häufiger gemacht habe, habe ich nun mal alle informationen zusammengetragen damit man das ganze schön an einem Rechner machen kann, noch bevor man den Raspberry Pi das erste mal bootet.
Dazu einfach auf die boot partition der SD-Karte gehen und eine leere datei mit dem Namen ssh anlegen.
sudo touch ssh
2. Statische IP Adresse
Nun auf die rootfs partition der SD-Karte. Dort muss die Datei etc/dhcpcd.conf angepasst werden. Oder einfach nach etc auf der SD-Karte navigieren und einen angepassten Befehl dieser Art ausführen:
sudo echo "
interface eth0
static ip_address=192.168.0.123
static routers=<IP DES ROUTERS>
static domain_name_servers=<IP DES ROUTERS>
" >> dhcpcd.conf
3. Hostname
Dazu müssen zwei Dateien im rootfs angepasst werden. Oder einfach nach etc auf der SD-Karte navigieren und einen angepassten Befehl dieser Art ausführen:
sudo echo "<NAME DES RASPBERRY>" > hostname
und in der datei hosts
127.0.1.1 raspberrypi
durch
127.0.1.1 <NAME DES RASPBERRY>
ersetzen.
Thats it
Nun anschließen und bequem per SSH weiterarbeiten :)
Lang hats gedauert. Ich persitiere das gerade für mich selbst.
Auf dem Raspberry pi muss das cups package installiert werden. sudo apt install cups. Danach steht ein Webinterface auf http://<IP-address>:631/. Brauchen wir gleich, erstmal:
Nun den Treiber auf den lokalen(!) Rechner runterladen. Dort auf “Linux printer driver (deb package)” klicken.
Nach dem Download folgst du der Anleitung die danach angezeit wird. Diese sagt:
sudo dpkg -i --force-all mfcl2750dwpdrv-4.0.0-1.i386.deb. Ja, auf deinem Rechner! Damit kannst du kontrollieren ob alles tutti ist: dpkg -l | grep Brother
So, nun ab ins web interface. Da kann man einen Drucker hinzufügen. Das machste dann.
Bei Other Network Printers wählst du LPD/LPR Host or Printer
Achso! Nicht vergessen den Drucker freizugeben! Das kommt da irgendwo in dem Wizard.
Adresse ist dann lpd://\<IP-printer\>/binary_p1
Wichtig: Irgendwann sollst du einen konkreten Printer wählen. Das machst du da nicht sondern lädst das PPD file hoch. Das liegt auf deinem lokalen Rechner nun auf: /opt/brother/Printers/MFCL2750DW/cupswrapper/brother-MFCL2750DW-cups-en.ppd
Drucker im Netzwerk suchen und eine Testseite Drucken. Sollte nun alles passen!
Ich beginne gerade mal wieder ein bisschen mit IoT rumzuwerkeln. Das heißt vor allem, dass man immer sehr viel nach Belegungen und Spannungen googlen muss. Auch wenn die Arduinos relaiv schwer zu grillen sind, sollte man sich vorher ein bisschen informieren.
Eine Sache die ich immer wieder nachschauen muss ist die Belegung der Grove Kabel-Belegung:
pin 1 - Yellow (for example, SCL on I2C Grove Connectors)
pin 2 - White (for example, SDA on I2C Grove Connectors)