Die in der Anlage verwendeten Programme und Dateien befinden sich in dem zu der Anlage gehörigen Ordner auf iServ. Die Dateien müssen dann über FileZilla auf den IOT geladen werden. Als Verzeichnis empfiehlt sich "/home/root", es kann allerdings auch jedes andere Verzeichnis verwendet werden.

Bei den Dateien handelt es sich um:

Anlage.jar            (Java-Hauptprogramm)
anlage.settings    (Settings-Datei für das Java-Programm)
main.py                (Auslesen des Temperatur-/Luftfeuchtigkeitssensors, wird von dem Java-Programm ausgeführt)
anlage.py             (Ansteuerung der LED-Leiste)
status.txt              (Hilfsdatei für "anlage.py"; gibt an, ob die LEDs eingeschaltet oder ausgeschaltet sein sollen)
anlage.txt             (Hilfsdatei für "anlage.py"; enthält den aktuellen Modus den die LEDs anzeigen sollen; wird von dem Java-Programm angepasst)
dns.py                  (Einstellung des DNS-Nameservers auf die IP des Routers in der Anlage. Dies muss bei jedem Neustart erfolgen, um eine Internetverbindung zu erhalten.)

In der Settings-Datei sind unter anderem die Dateipfade zu den beiden Dateien "main.py" und "anlage.txt" angegeben. Je nach Verzeichnis, in das die Dateien hineinkopiert wurden, muss die Einstellung angepasst werden. Standardmäßig wird vom Verzeichnis /home/root/ ausgegangen.

Das Verändern der Einstellungen erfolgt über Ausführung dieses Befehls in PuTTY:

java -jar /home/root/Anlage.jar settings

Hiermit öffnet sich ein Eingabefeld, womit die Settings-Datei angepasst werden kann.

Die möglichen Einstellungen sind:

  1. Debug-Modus    (Gibt an, wie viele Ausgaben bei Ausführung des Java-Programms in dem Terminal angezeigt werden sollen. Bei "false" beschränken sich die Ausgaben auf ein Minimum.)
  2. ID der Anlage     (Hierüber kann die ID der Anlage für den gleichzeitigen Betrieb mehrerer Anlagen festgelegt werden.)
  3. Kommunikationsport SPS      (Gibt an, welcher Port für die Kommunikation mit der SPS genutzt wird; der selbe Port muss auch im SPS-Programm eingestellt sein)
  4. Dateipfad Python-Skript Sensor    (Dateipfad zum Ausleseprogramm des Sensors)
  5. Dateipfad zu anlage.txt
  6. IP-Adresse des Druckers     (Gibt die IP-Adresse des Druckers an, welcher in der Anlage die QR-Codes auf die Dosen druckt.)
  7. Web-Adresse des Datenbank-Servers       (Der Hauptteil der URL des Datenbank-Servers; für die Ausführung der PHP-Skripte wird diese URL als Basis genommen)
  8. Username für Datenbankzugriff      (Username für Ausführung der PHP-Skripte)
  9. Passwort für Datenbankzugriff        (Passwort für Ausführung der PHP-Skripte)
  10. Zu benachrichtigende E-Mail-Adresse      (E-Mail-Adresse, die Benachrichtigungen von der Anlage bekommen soll; wird zur Zeit nicht verwendet)

Letztendlich muss dafür gesorgt werden, dass die Programme auch automatisch bei Neustart des IOT ausgeführt werden. Dies betrifft "Anlage.jar", "anlage.py" und "dns.py". Hierzu wird mit folgenden Befehlen ein neues Autostart-Skript erstellt:

cd /etc/init.d
nano autostart_anlage 

In das Eingabefenster wird nun das Skript hineingeschrieben, welches am Ende so aussieht:


Mit der Tastenkombination Strg+O und danach Enter kann die Datei gespeichert werden und mit das Fenster kann mit Strg+X verlassen werden.

Damit dieses Skript auch tatsächlich beim Start des Systems ausgeführt wird, werden diese Befehle in PuTTY eingegeben:

chmod 777 /etc/init.d/autostart_anlage    (Verwaltung der Zugriffsrechte auf das Skript; notwendig für folgenden Schritt)
update-rc.d autostart_anlage defaults    
(Hinzufügen des Skript in den Autostart)


Zusätzlich muss die Datei "etc/profile" erneut angepasst werden. Es wurde bereits die Angabe des Java-Installationspfades in die Datei hinzugefügt. Nun wird folgende Erweiterung vorgenommen:


In den beiden Skripten wird eine Hilfsdatei ("/home/root/autostart") verwendet, die lediglich dazu dient festzustellen, ob die Programme bereits gestartet wurden oder nicht. Von dem Autostart-Skript wird diese Datei bei Start des IOT gelöscht und danach ein Login "simuliert", wodurch das "/etc/profile"-Skript ausgeführt wird. Dieses legt die Hilfsdatei erneut an und startet gleichzeitig die Programme, die in der Anlage benötigt werden.

Da allerdings jeder Login-Vorgang des Benutzers dieses Skript ebenfalls ausführt, wird dafür gesorgt, dass die Programme nicht erneut gestartet werden, wenn die Hilfsdatei bereits vorhanden ist.

(Verbesserungen an dem Autostart-Vorgang sind sehr willkommen, da dies nicht die eleganteste Lösung dieses Problems darstellt. Diese Variante ist nach zahlreichen Versuchen als erste lauffähige Variante hervorgegangen und wurde seitdem nicht weiter angefasst.)

Nachdem alle Schritte erfolgreich abgeschlossen wurden, ist der IOT betriebsbereit und kann die Programme selbstständig nach dem Hochfahren ausführen und in der Anlage verwendet werden.

Zuletzt geändert: Mittwoch, 7. Juni 2017, 13:48