Install Apache Webserver on Raspberry
Installing Web Server
Über das Terminal wird Apache wie folgt installiert. Die Installation dauert ungefähr 1-2 Minuten.
sudo apt-get install apache2 -y
Zugriff auf die Web-Oberfläche
Nachdem Apache installiert wurde, ist der Webserver via Browser im selben Netzwerk über die normale IP des Raspberry erreichbar.
Installation von PHP
Für die meisten Web-Oberflächen wird wohl PHP benötigt. Um das zu installieren, wird folgender Befehl verwendet. Dieser Prozess dauert 2-3 Minuten.
sudo apt-get install php libapache2-mod-php -y
Apache Config
Um Apache mitzuteilen, wo es nach den HTML-Dateien suchen soll, bzw. welches das Basis-Verzeichnis ist, wird die Datei 000-default.conf editiert.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Der Eintrag DocumentRoot wird hier entsprechend auf den neuen Wert geändert - beispielsweise: /home/pi/soundmachine/web/
Zusätzlich dazu sind weitere Einstellungen für Apache nötig und die entsprechenden Berechtigungen zu setzen. Direkt unter dem DocumentRoot wird dafür folgendes hinzugefügt.
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/pi/soundmachine/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
Sind die Änderungen vorgenommen, wird das File geschlossen und gespeichert und Apache mit folgendem Befehl neu gestartet:
sudo systemctl reload apache2
Der Neustart dauert lediglich 1-2 Sekunden. Direkt danach sollte über die selbe IP-Adresse das neue Verzeichnis erreicht werden können.
Configuration of mod-rewrite
Um modRewrite zu aktivieren, wird folgender Befehl ausgeführt:
sudo a2enmod rewrite
Danach muss Apache neu gestartet werden:
sudo service apache2 restart
Installing Neopixel Library
Upgrade des Systems
Als erstes sollte das System komplett updated werden, da sonst immer wieder Probleme bei der Installation auftreten können. Das Upgrade kann ein paar Minuten in Anspruch nehmen, abhängig davon, wie alt das Image ist, das sich auf der SD-Karte befindet.
sudo apt-get dist-upgrade
Installation von benötigten Paketen
Zuerst werden die benötigten Pakete auf dem Raspberry installiert:
sudo apt-get install build-essential python-dev git scons swig
Nachdem die wichtigsten Tools installiert wurden, kann das Repository von Github geklont werden.
cd /home/pi/soundmachine git clone https://github.com/jgarff/rpi_ws281x.git
Dann ins gerade kopierte Verzeichnis wechseln und scons ausführen
cd /home/pi/soundmachine/rpi_ws281x scons
Die Python Library (Wrapper) wird installiert, in dem der folgende Befehl ausegführt wird:
cd /home/pi/soundmachine/rpi_ws281x/python sudo python setup.py install
Resultat
Falls alles geklappt hat, sollte die letzte Zeile ungefähr "Finished processing dependencies for rpi-ws281x==1.0.0" heissen.
Weitere Infos
jgarff on Github: https://github.com/jgarff/rpi_ws281x
Neopixel Manual: https://learn.adafruit.com/neopixels-on-raspberry-pi?view=all
Headless Raspberry Setup
Headless Setup
Wenn ein Raspberry Pi neu installiert wird, jedoch keine Maus, keine Tastatur und kein Monitor verfügbar ist, ist es das einfachste, ein Linux-Image zu flashen und das Setup auf der SD-Karte vorzubereiten, damit der Raspberry nach der Initialisierung direkt per SSH erreichbar ist.
SSH Aktivierung
Um SSH zu aktivieren wird nach dem Flashen des Images auf die SD-karte lediglich ein (leeres) File namens ssd auf der Partition boot abgelegt. Die Datei benötigt keinen Inhalt und keine Datei-Endung. Dadurch wird beim ersten/nächsten Boot-Vorgang automatisch SSH aktiviert.
WiFi Setup
Auch das WiFi kann auf diese Weise aktiviert und konfiguriert werden. Hierzu wird eine weitere Datei erstellt, die sich wpa_supplicant.conf nennt. Diese Datei sieht wie folgt aus:
country=CH
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="bexio"
psk="IuBswdSv8R"
id_str="office"
}
network={
ssid="Zeltfunk"
psk="D8317iegbTfuz!"
id_str="home"
}
Wird diese Datei ebenfalls in der Boot-Partition abgelegt, sollte dich der Raspberry beim nächsten Boot-Vorgang automatisch mit dem WLAN-Netzwerk verbinden.
BigBox Firmware Updates
Firmware beziehen
Die Firmware für die BigBox basiert auf der Marlin Firmware. Es gibt immer wieder angepasste Versionen davon. Folgend die bisher wichtigsten Quellen für BigBox Firmware:
Benötigt wird lediglich eine .hex Datei.
Firmware-Datei auf BigBox (Raspberry Pi) laden
Als nächstes wird die gerade bezogene .hex Datei auf den Raspberry Pi geladen. Hierfür wird am besten eine Verbindung per Transmit hergestellt. Die Datei wird z.B. in folgendes Verzeichnis geladen:
/home/pi
Verbindung zu OctoPrint trennen
Um das Upgrade vorzubereiten, sollte die Verbindung zu OctoPrint unterbrochen werden. Hierzu wird das Webinterface geöffnet und der Drucker disconnected.
Firmware Flashen
Um die vorbereitete Firmware zu flashen, wird folgender Code auf dem Raspberry Pi ausgeführt. Dazu wird zuerst eine SSH-Verbindung mittels Terminal geöffnet und dann folgender Code ausgeführt. Hierbei muss der Pfad und Dateiname dem Ort und dem Name der vorher hochgeladenen Datei entsprechen.
/usr/bin/avrdude -C/etc/avrdude.conf -v \
-patmega2560 -cwiring -P/dev/ttyACM0 \
-Uflash:w:/home/pi/marlin/Marlin_BigBoxPro_Titan_ABL.hex:i
Das Flashen dauert ungefähr eine knappe Minute.
Filament konfigurieren
Um ein neues Filament mit der BigBox verwenden zu können, muss dieses zuerst konfiguriert werden, bzw. muss der Drucker wissen, wie viel Filament pro cm benötigt werden. Um dies zu tun, wird folgendermassen vorgegangen:
Vorbereitung
- Zuerst das gerade im Drucker befindliche Filament oben abschneiden.
- Druckkopf aufheizen und das übrige Filament extruden (am einfachsten über OctoPrint).
- Das neue Filament direkt dem alten hinterherschieben.
- Sobald nur noch vom neuen Filament extruded wird, kann der Prozess zur Messung gestartet werden.
Messung
- Oben am Druckkopf eine Markierung auf dem Filament bei 12cm anbringen (Filzstift).
- Die aktuell eingestellte Einstellung für Esteps/mm unter Control / Movement auslesen (z.B. 340Esteps/mm)
- Dann das Programm extruder_0.gcode von der SD-Karte (Ordner calibration) starten.
- Das Programm fährt den Druckkopf über den Auffangbehälter und gibt 100mm Material aus.
- Nach Abschluss wird gemessen, wie gross die Distanz bis zur Markierung ist.
- Sollte diese z.B. 26mm sein, wurden statt 100mm lediglich 94mm (120mm - 26mm) ausgegeben.
Berechnung
- Das hat zur Folge, dass die Esteps/mm angepasst werden müssen.
- Formel für die Berechnung: current_esteps * 100 / extruded_length
- Beispiel: 340 * 100 / 94 = 361.7
- Die neue Einstellung für die Esteps/mm ist somit 361.7 für dieses Filament.
Korrektur
- Die berechneten Esteps/mm (361.7) werden unter Control / Movement korrigiert.
- Danach wird die Einstellung in den Flash Speicher geschrieben.
Wiederholter Test
- Nach erfolgreicher Einstellung wird der Prozess wiederholt um den eingestellten Wert zu überprüfen.
- Sobald die 10cm wie gewollt extruded werden, kann der Prozess als abgeschlossen betrachtet werden.
- Der eingestellte Wert wird am besten direkt auf die Filament-Spindel geschrieben
- Dieser Prozess muss für jede neue Filament-Spindel wiederholt werden.
Lokale Entwicklungsumgebung mit Craft
In diesem Artikel wird erklärt, wie eine lokale Entwicklungs-Umgebung für Web-Projekte und ein dazugehöriger Deployment-Prozess aufgesetzt wird. Zu diesem Zweck werden verschiedene Tools verwendet:
- VirtualBox
- Vagrant
- Composer
- Homestead
- Craft CMS
Vorbereitungen
Zuerst müssen die nötigen Tools installiert werden. VirtualBox und Vagrant können vom Anbieter kostenlos geladen und per GUI installiert werden. Hierzu sind keine speziellen Einstellungen vonnöten. Sobald die beiden Tools installiert wurden, geht es im Terminal weiter. Als nächstes wird eine sogenannte Vagrant Box installiert. Für Craft bietet sich die Box laravel/homestead an.
Installation der Komponenten
Um eine sogenannte Box für Vagrant zu installieren, wird das Terminal geöffnet und folgender Befehl ausgeführt:
vagrant box add laravel/homestead
Während der Installation erscheint eine Frage nach dem Provider, welche mit 1) virtualbox beantwortet wird. Nach der Installation der Box, wird composer installiert. Dies kann über folgenden Befehl im Terminal bewerkstelligt werden:
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === 'fd26ce67e3b237fffd5e5544b45b0d92c41a4afe3e3f778e942e43ce6be197b9cdc7c251dcde6e2a52297ea269370680') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Nach der Erfolgs-Meldung kann Homestead installiert werden, ebenfalls über das Terminal. Als Vorbereitung hierfür muss jedoch noch der Pfad zu Composer festgelegt werden, dass dieser direkt über "composer" im terminal erreichbar ist:
export PATH=$PATH:$HOME/bin PATH=$PATH:~/.composer/vendor/bin export PATH
Danach sollte folgender Befehl ausführbar sein (ohne Fehler- oder Erfolgsmeldung)
composer global require “laravel/homestead=~2.0"
Sollte das nicht klappen, kann alternativ auch über folgenden Befehl versucht werden:
php composer.phar global require “laravel/homestead=~2.0"
Nachdem dieser Schritt ausgeführt wurde, wird homestead initialisiert. Dies geschieht über folgenden Befehl im Terminal:
homestead init
Dies sollte eine Homestead.yaml Datei generieren. Sie befindet sich normalerweise im Verzeichnis /user/markus/.homestead/.
Generierung der ssh keys
Sollten noch keine ssh-keys vorhanden sein, können diese relativ einfach über das Terminal generiert werden:
ssh-keygen -t rsa -C “markus.straessle@me.com”
Hierbei werden neue keys generiert und im Benutzerverzeichnis abgelegt. (/users/markus/keys.pub)
Settings der virtuellen Maschine
Der Inhalt der vorher generierten Homestead.yaml Datei muss nun in folgender Art und Weise angepasst werden:
authorize: /users/mstraessle/.ssh/id_rsa.pub
keys: - /users/mstraessle/keys.pub
folders: - map: /users/mstraessle/sites/slottracks to: /home/vagrant/sites/slottracks
sites: - map: slottracks.dev to: /home/vagrant/sites/slottracks/public
databases: - db_slottracks
Hierbei müsste authorize bereits korrekt eingetragen sein. keys zeigt auf die vorher generierten ssh Keys, welche normalerweise direkt im Benutzerverzeichnis liegen. Nun wird der Inhalt im Dateisystem auf die Vagrant Box gemappt. -map zeigt hierbei auf das lokale Verzeichnis, auf welchem der Code besteht, oder bestehen wird. to zeigt auf das entsprechende Verzeichnis innerhalb der Vagrant Box. Sites dient dazu, die lokale URL für die Seite zu definieren. Der lokale Pfad to zeigt hierbei auf den "public" bereich im Dateisystem. Mithilfe von databases werden nun noch allfällig nötige Datenbanken eingerichtet. Hier muss lediglich ein Datenbankname eingegeben werden. Die Datenbank wird dann entsprechend erstellt. Nach dem Editieren wird das File dann noch gespeichert.
Craft DB-Settings vornehmen
Als nächstes werden diese Einstellungen Craft ebenfalls mitgeteilt. Dazu wird die Datei /craft/config/db.php aus dem lokalen Verzeichnis von CraftCMS geöffnet und angepasst. database ist hierbei der vorher gewählte Datenbank-Name im Homestead.yaml file. Standardmässig lautet der user homestead und das Passwort secret. Der Table-Prefix kann frei gewählt werden. Danach wird das File gespeichert.
Hosts Datei anpassen
Damit die Seite auf dem lokalen Browser über eine sprechende URL erreichbar wird, wird noch das hosts file entsprechend angepasst. Im Terminal kann das hosts File über folgenden Befehl im Editor (nano) geöffnet werden:
sudo nano /etc/hosts
Die Editierung der hosts Datei benötigt das Admin-Passwort. Nachdem dieses eingegeben wurde, kann das File editiert werden. Als Beispiel wird unter den vorhandenen Zeilen einfach eine neue Zeile hinzugefügt, die dann ungefähr wie folgt aussieht:
192.168.10.10 slottracks.dev
Die IP-Adresse entspricht hierbei der IP Adresse ganz oben der Homestead.yaml. Die URL hinten entspricht der gewählten URL im selben File. Die hosts Datei kann dann über Ctrl+X und anschliessender Bestätigung per Y und danach Enter gespeichert und geschlossen werden.
OSX Installation
Bei der Neu-Installation von OSX werden neben dem TimeMachine Backup einige spezifische Dinge separat gesichert um eine einfache Wiederherstellung nach der Installation sicherzustellen:
- Lightroom Katalog / Settings
- Photos Library (ggf.)
- iMovie Library
- iMovie Theater
kodi / XBMC Konfiguration
Bei einer neuen Installation eines kodi / XBMC Mediacenters sind einige Dinge zu beachten, um ein uneingeschränktes Erlebnis zu ermöglichen. Da die Navigation und Konfiguration von kodi nicht in allen Punkten selbsterklärend ist, folgend eine paar kleine Reminder für nicht unwichtige Dinge:
OpenELEC Settings
Die Settings des OpenELEC Betriebssystems sind nur erreichbar wenn der default Skin von kodi (Confluence) verwendet wird. Ist dies nicht der Fall, gibt es keine Möglichkeit diese Einstellungen zu erreichen. Glücklicherweise werden diese aber auch nur initial für die generelle Konfiguration benötigt. Netzwerk-Namen, Auto-Update-Einstellungen, usw.
Video Einstellungen
Normalerweise muss noch der sogenannte Overscan eingestellt werden, damit das Bild genau auf den verwendeten Monitor passt. Das kann in folgendem Menu-Punkt vorgenommen werden:
System » Settings » System » Video output » Video calibration..
Ausserdem wird noch die Auflösung auf 1920x1080p eingestellt und bestätigt.
OpenELEC Einstellungen
Bei einem frisch aufgesetzten System werden erstmal die wichtigsten Einstellungen (von OpenELEC) vorgenommen:
- Keyboard Layout: de_CH-latin1
- Automatic Updates: auto
- Wireless Network: inactive
- Bluetooth: enabled (falls z.B. für Tastatur verwendet)
- Unter Bluetooth kann auch gleich die Tastatur eingerichtet werden
- Hierzu muss die Tastatur in der Liste ausgewählt werden
- Dann "Trust & Connect" auswählen
- Einen PIN wählen, z.B. 1234
- Diesen PIN gefolgt von Enter auf der Tastatur eingeben
Hinzufügen von Video-Quellen
Um Video-Quellen für Movies, TV-Shows u.ä. hinzuzufügen, müssen diverse Schritte nacheinander ausgeführt werden:
- Wechseln zu: System » File Manager » Add Source » Browse
- Add network location...
- Protocol: Windows network (SMB)
- Server name: 192.168.100.10 (IP des Medienservers)
- Shared folder: video/Movies
- Shared folder: video/TV-Shows
- Shared folder: video/Resources
- Shared folder: video/Homevideos
- Shared folder: music
- Benutzername und Passwort für kodi-Benutzer auf der Synology eintragen
- OK wählen.
- Wechseln zu Videos » Files
- Hier können zuerst alle vorhandenen Einträge gelöscht werden
- Danach über "Add videos" die vorher hinzugefügten Video-Quellen auswählen
- kodi fragt beim hinzufügen, welcher Typ enthalten ist, also TV-Shows oder Filme, o.ä.
- Nach dem hinzufügen muss lediglich noch die Datenbank aktualisiert werden:
- Hierzu in den Einstellungen auswählen, dass die Datenbank beim Neustart aktualisiert werden soll:
- Settings » Videos » Library » Update library on startup » aktivieren
- Nach dem Neustart sollte die Datenbank aktualisiert werden und die Videos verfügbar sein.
Hinzufügen von Musik-Quellen
folgt
Hinzufügen von Bild-Quellen
folgt
Zuordnung von Hauptmenupunkten
folgt
Lightroom Backup
Beim neu aufsetzen des Macs, sollten einige Einstellungen und Inhalte von Lightroom gesichert werden, um nach der Neuinstallation von OSX gleich dort weiterfahren zu können, wo man aufgehört hat. Zu diesem Zweck müssen folgende Schritte vor der Neu-Installation vorgenommen werden.
Heading
content
Slow Motion
Eine Zeitlupe wirkt am besten, wenn dazu eine SloMo Ramp verwendet wird - das heisst, dass die Abspielgeschwindigkeit nicht ruckartig von 100% auf 75% (oder ähnlich) wechselt sondern dass der Übergang von Schnell zu Langsam fliessend ist.
Anleitung
Um das zu erreichen, wird folgendermassen vorgegangen:
- Gewünschtes Footage in Projekt importieren
- Footage in Komposition einfügen
- Footage selektieren und durch Cmd+Alt+T die Funktion Time Remap öffnen
- In die Graph-Ansicht wechseln
- Keyframe zum Startzeitpunkt der SloMo setzen
- Keyframe zum Endzeitpunkt der SloMo setzen
- KF zum Endzeitpunkt und das letzte KF auswählen und gegen rechts verschieben
- Ankerpunkte der Kurve nach Wunsch anpassen
