.

Für die Bearbeitung der Konfigurationsdateien von OpenHAB möchte ich nicht auf dem Terminal des Armbian arbeiten. Viel praktischer ist es einen direkten Zugriff von meinem Notebook aus zu ermöglichen. Dazu installieren wir auf dem Armbian einen Samba Server und geben alle relevanten OpenHAB Ordner im Netzwerk frei.
Das einbinden der Netzwerkfreigaben ist sowohl unter Linux als auch unter Windows oder OS X möglich.

Inhalt

Samba Server installieren
Samba Server konfigurieren & Netzwerkfreigaben einrichten
Netzwerkfreigaben unter Linux mounten

Samba Server installieren

Die Installation des Samba Server auf dem Armbian ist mittels ‚apt-get‘ schnell erledigt. Wir loggen uns als ‚root‘ auf dem kleinen Rechner ein.
Wie immer vorab kurz alles auf den neusten Stand bringen.

apt-get update && apt-get upgrade

Und schon kann der Samba Server installiert werden.

apt-get install samba samba-common-bin

Das war’s schon.

Samba Server konfigurieren & Netzwerkfreigaben einrichten

Die Konfiguration des Samba Server und das Einrichten von Netzwerkfreigaben wird in der Datei ‚/etc/samba/smb.conf‘ vorgenommen. Dafür öffnen wir diese in ’nano‘.

nano /etc/samba/smb.conf

Damit der Zugriff, auf die Netzwerkfreigaben, über ‚Samba User‘ abgesichert ist, ergänzen wir, in der Konfigdatei, hinter ‚[global]‘ die folgende Zeile:

security = user
Ausschnitt aus der /etc/samba/smb.conf Datei, im Abschnitt 'Global Settings'.
Nun sind für den Zugriff Samba User nötig.

Im Abschnitt ‚Global Settings‘ sind sonst keine weiteren Änderungen nötig. Es sei den ihr möchtet die Freigaben später unter Windows einbinden und nutzt in eurem Netzwerk eine andere Arbeitsgruppe als den Standart ‚WORKGROUP‘. Ist dies der Fall muss euer Arbeitsgruppen Name unter ‚workgroup = NAME‘ eingetragen werden.

Netzwerkfreigaben einrichten

Die neuen Netzwerkfreigaben werden am Ende der ’smb.conf‘ Datei hinzugefügt. Da an dem kleinen Rechner für die Heizungssteuerung bei mir kein Drucker betrieben wird, habe ich die Standard Druckerfreigaben ‚[printers]’ und ‚[print$]‘, im Abschnitt ‚Share Definitions‘, auskommentiert.

Ausschnitt aus der /etc/samba/smb.conf Datei, im Abschnitt 'Share Definitions'.
Nach dem auskommentieren

Alle relevanten Dateien von OpenHAB, auf die beim Einrichten oder späteren Administrieren zugriff nötig sein könnte, verteilen sich auf vier Ordner.

  • /var/lib/openhab
  • /etc/openhab
  • /usr/share/openhab
  • /var/log/openhab

Für die Netzwerkfreigabe dieser Ordner fügen wir am Ende der Konfigdatei die folgenden Einträge hinzu:

[openHAB-userdata]
comment=openHAB userdata
path=/var/lib/openhab
browseable=yes
writeable=yes
only guest=no
public=no
create mask=0777
directory mask=0777
force group = openhab
force user = openhab

[openHAB-config]
comment=openHAB site configuration
path=/etc/openhab
browseable=yes
writeable=yes
only guest=no
public=no
create mask=0777
directory mask=0777
force group = openhab
force user = openhab

[openHAB-app]
comment=openHAB application
path=/usr/share/openhab
browseable=yes
writeable=yes
only guest=no
public=no
create mask=0777
directory mask=0777
force group = openhab
force user = openhab

[openHAB-logs]
comment=openHAB Logs
path=/var/log/openhab
browseable=yes
writeable=yes
only guest=no
public=no
create mask=0777
directory mask=0777
force group = openhab
force user = openhab

Wie immer beim benutzen von ’nano‘ am ende: ’strg+o‘ & ‚Enter‘ zum speichern und ’strg+x‘ um ’nano‘ zu verlassen.

Anschließend an das Bearbeiten der ’smb.conf‘ sollte ihre syntaktische Korrektheit mit einem kurzen Befehl überprüft werden:

testparm

Alle die mehr über die Konfiguration des Samba Server und dessen Netzwerkfreigaben wissen möchten finden einen guten Startpunkt auf der Ubuntuuser Wiki Seite – smb.conf.

Samba Server neu starten & User anlegen

Treten bei der Überprüfung der ’smb.conf‘ keine Fehler auf sollte der Samba Server neu gestartet werden. Damit alle Änderungen übernommen werden. Der Server besteht aus zwei laufenden Prozessen. Beide sollten neu gestartet werden.

systemctl restart smbd
systemctl restart nmbd

Anschließend benötigen wir noch einen Samba User mit dem wir uns später beim Zugriff auf die Freigaben authentifizieren können. Dies ist auch schnell erledigt.

smbpasswd -a <UserName>

Netzwerkfreigabe unter Linux mounten

Da ich nicht jedes mal wenn ich mich an den Rechner setze meine Freigabe von Hand mounten möchte konfiguriere ich mir das mounten in der Datei ‚/etc/fstab‘. Alle Einträge dort werden beim Start automatisch eingebunden. Sollte der HeatMaster (mein kleiner OLinuXino) offline oder in einem anderen Netzwerk sein klappt das mounten nicht. Dieser Versuch kostet beim booten zwar ein wenig Zeit, aber das stört mich aber nicht.

Um auf Samba-Freigaben zugreifen zu können, benötigt wir das Dateisystem ‚cifs‘, dass im Paket ‚cifs-utils‘ enthalten ist. Also kurz nach installieren falls noch nicht vorhanden.

sudo apt-get install cifs-utils

Außer dem benötigen wir vier Ordner in dem die Freigaben gemountet werden können. Welchen Ordner ihr dafür wählt ist euch überlassen. Ich habe in meinem lokalen ‚home‘ Ordner auf dem Arbeitsrechner sowieso einen Ordner für den ‚HeatMaster‘. In diesem lege ich mir einen Subordner ‚onARMbian‘ an um dort die vier Ordner zum mounten zu erstellen.

mkdir /home/<USER>/HeatMaster/onARMbian &&
mkdir /home/<USER>/HeatMaster/onARMbian/userdata &&
mkdir /home/<USER>/HeatMaster/onARMbian/config &&
mkdir /home/<USER>/HeatMaster/onARMbian/app &&
mkdir /home/<USER>/HeatMaster/onARMbian/logs

Die mount Einträge erstellen wir in der Datei ‚fstab‘. Dazu öffnen wir diese auf dem Arbeitsrechner/Notebook im Terminal.

sudo nano /etc/fstab

Und fügen an ihrem Ende ein paar Zeilen hinzu.

# Freigaben auf olinuxino HeatMaster
//<192.168.1.2>/openHAB-userdata    /home/<LOKALERUSER>/HeatMaster/on_OLinuXino/userdata    cifs  auto,x-systemd.automount,iocharset=utf8,gid=<LOKALEUSERGRUPPE>,uid=<LOKALERUSER>,username=<SAMBAUSER>,password=<SAMBAPASSWORD>  0    0
//<192.168.1.2>/openHAB-config    /home/<LOKALERUSER>/HeatMaster/on_OLinuXino/config    cifs   auto,x-systemd.automount,iocharset=utf8,gid=<LOKALEUSERGRUPPE>,uid=<LOKALERUSER>,username=<SAMBAUSER>,password=<SAMBAPASSWORD>  0    0
//<192.168.1.2>/openHAB-app    /home/<LOKALERUSER>/HeatMaster/on_OLinuXino/app    cifs    auto,x-systemd.automount,iocharset=utf8,gid=<LOKALEUSERGRUPPE>,uid=<LOKALERUSER>,username=<SAMBAUSER>,password=<SAMBAPASSWORD>  0    0
//<192.168.1.2>/openHAB-logs    /home/<LOKALERUSER>/HeatMaster/on_OLinuXino/logs    cifs    auto,x-systemd.automount,iocharset=utf8,gid=<LOKALEUSERGRUPPE>,uid=<LOKALERUSER>,username=<SAMBAUSER>,password=<SAMBAPASSWORD>  0    0

Diese Zeilen müsst ihr natürlich diese Zeilen entsprechend eurer vorherigen Konfiguration anpassen. In jedem Fall alles was ich in spitzen Klammern ‚<>‘ geschrieben habe.

Nach dem Speichern und Schließen der ‚fstab‘ Datei sorgen wir mit einem kurzen mount Befehl dafür dass die Netzwerkfreigeben eingebunden werden ohne den Rechner neu starten zu müssen.

mount -a

Solltet ihr einen Fehler in dem Eintrag der ‚fstab‘ Datei gemacht haben, werdet ihr beim ausführen des mount Befehl darauf aufmerksam gemacht.

Nun könnt ihr auf eurem Arbeitsrechner mit den Konfigurationsdateien von OpenHAB arbeiten oder schnell mal in die Log-Dateien schauen. Ich benutze dafür ‚Visual Studio Code‘. Doch dies ist euch überlassen. Ein einfacher Texteditor funktioniert genau so gut.

Ebenso hier ein Link zu weiteren Konfigurationsmöglichkeiten der ‚fstab‘ Datei im Ubuntuuser Wiki .

Ausblick

Mein nächste Schritt ist das löten der Platinen für meine DS18B20 Temperatursensoren. Diese könnte man theoretisch auch ohne Platine direkt an den OneWire Bus hängen. Da der Bus bei mir aber relativ groß ist habe ich mich für die Variante mit den Platinen entschieden um an jedem DS18B20 Sensor dafür zu sorgen das der Bus stabil bleibt.


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.