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

  1. Zuerst das gerade im Drucker befindliche Filament oben abschneiden.
  2. Druckkopf aufheizen und das übrige Filament extruden (am einfachsten über OctoPrint).
  3. Das neue Filament direkt dem alten hinterherschieben.
  4. Sobald nur noch vom neuen Filament extruded wird, kann der Prozess zur Messung gestartet werden.

Messung

  1. Oben am Druckkopf eine Markierung auf dem Filament bei 12cm anbringen (Filzstift).
  2. Die aktuell eingestellte Einstellung für Esteps/mm unter Control / Movement auslesen (z.B. 340Esteps/mm)
  3. 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

  1. 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

  1. Die berechneten Esteps/mm (361.7) werden unter Control / Movement korrigiert.
  2. Danach wird die Einstellung in den Flash Speicher geschrieben.

Wiederholter Test

  1. Nach erfolgreicher Einstellung wird der Prozess wiederholt um den eingestellten Wert zu überprüfen.
  2. Sobald die 10cm wie gewollt extruded werden, kann der Prozess als abgeschlossen betrachtet werden.
  3. Der eingestellte Wert wird am besten direkt auf die Filament-Spindel geschrieben
  4. 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:

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:

  1. Wechseln zu: System » File Manager » Add Source » Browse
  2. Add network location...
    1. Protocol: Windows network (SMB)
    2. 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
    3. Benutzername und Passwort für kodi-Benutzer auf der Synology eintragen
    4. OK wählen.
  3. Wechseln zu Videos » Files
  4. Hier können zuerst alle vorhandenen Einträge gelöscht werden
  5. Danach über "Add videos" die vorher hinzugefügten Video-Quellen auswählen
  6. kodi fragt beim hinzufügen, welcher Typ enthalten ist, also TV-Shows oder Filme, o.ä.
  7. 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