Eine RAP-Datei erstellen

Um ein eigenes Gerät in PiCtory einzubinden, musst Du eine Gerätebeschreibungsdatei erstellen, die PiCtory mitteilt, welche Eigenschaften Dein Gerät hat. Diese Datei bezeichnen wir als RAP-Datei.

Um eine eigene RAP-Datei zu erstellen, benötigst Du folgende Tools:

  • Texteditor zum Erstellen der RAP-Datei (z. B. Notepad++)
  • JSONLint zur Validierung der Dateiinhalte. JSONLint ist ein frei verfügbares Online-Tool. (http://pro.jsonlint.com)

Wir empfehlen Dir, eine bereits vorhandene RAP-Datei zu kopieren und als Basis für Deine eigene Datei zu verwenden. Im folgenden Tutorial gehen auch wir so vor.

Los geht’s!

  • Öffne das Unterverzeichnis “/var/www/pictory/resources/data/rap” auf Deinem RevPi Flat.
  • Kopiere eine RAP-Datei auf Deinen PC (mithilfe von FTP oder eines USB-Sticks). Zum Beispiel diese: Virtual01_20160818_1_0.rap
  • Gib der kopierten Datei einen neuen Dateinamen. Hierbei musst Du einige Regeln beachten.

Aufbau des Dateinamens:

[Name]_[Timestamp]_[Major Version]_[Minor Version].rap

Beispiel: Toaster_20170519_1_0.rap

  • Öffne die RAP-Datei in Deinem Texteditor.

Wenn Du Notepad++ verwendest, kannst Du die Quelltext-Sprache auf JSON einstellen. Menü -> Sprachen -> JSON.

  • Öffne in einem Browser die Seite von JSONLint.
  • Kopiere den Inhalte der Datei vom Texteditor in das Browser-Fenster.
  • Klicke rechts oben auf das Checkbox-Icon, um die Syntax-Prüfung zu starten.

Das Checkbox-Icon wird grün. Das bedeutet, dass die RAP-Datei keine syntaktischen Fehler hat. Du kannst einen Fehler einbauen, indem Du zum Beispiel eine Klammer löschst und nochmal auf das Checkbox-Icon klickst. Es sollte eine Fehlermeldung erscheinen.

Wir empfehlen Dir, diese Prüfung bei jeder Änderung an der RAP Datei durchzuführen. Sonst können sich  viele Fehler anhäufen und es dauert dann lange, diese zu finden.

  • Ändern -> Prüfen -> Korrigieren -> Prüfen -> Fehlerfrei

Syntax

Die Syntax, also die Grammatik, von RAP-Dateien ist das JSON Format.

Welche Attribute zur Verfügung stehen, kannst Du hier nachschauen:

Tabellarische Auflistung aller JSON-Attribute einer RAP-Datei

Anpassungen vornehmen

Ändere die folgenden Attribute, damit Deine RAP-Datei sich nicht mit den Vorhandenen überschneidet und keine Fehler erscheinen:

  • id
    • ist ein Name in PiCtory, der nicht bereits vergeben wurde
    • z.B. “MyToaster”
  • producttype
    • z.B.: 32769
    • Ändere den Producttype auf eine Zahl größer oder gleich 32769. Dieser Bereich ist vorgesehen für selbst geschriebene und nicht von uns bereitgestellte RAP-Dateien. Diese Zahl darf nicht bereits in PiCtory vergeben sein. Solltest du also mehr RAP-Dateien schreiben, dann zähle diese Zahl bei jeder RAP-Datei einfach um eins hoch.

Beispiel RevPiTimer

In PiCtory gibt es das virtuelle Gerät “RevPiTimer”, mit dem man einfach Dinge auf Wochenbasis schalten kann. Als Grundlage für Deine eigene RAP-Datei kannst Du Dich an diesem Tutorial orientieren:

Tutorial RAP Datei selbst erstellen am Beispiel RevPiTimer

Datei in den Gerätekatalog aufnehmen

PiCtory hat auf der linken Seite eine Baumstruktur mit allen bekannten Geräten. Um ein neues Gerät mit aufzunehmen, musst Du noch die folgende Datei erweitern:

/var/www/pictory/resources/data/catalog.json

Also kopiere diese Datei z.B. auf einen USB Stick und öffne sie mit einem Editor.

Dupliziere eine Zeile der virtuellen Geräte, z. B. diese hier

{"key": "Virtual01_20160818_1_0", "title": "Virtual Device 32 Byte", "tooltip": "Virtual Device for user application with 32 Byte inputs and 32 byte output", "icon": "##GSD_ICON_PATHNAME##" },

Ändere diese Zeile, damit sie mit Deiner RAP Datei übereinstimmt. Z. B.

  • key: Dateiname Deiner RAP Datei ohne Endung
  • title: Erscheint in der Liste der konfigurierten Geräte
  • tooltip: Erscheint, wenn man mit der Maus auf das Gerät zeigt
  • icon: so belassen
{"key": "Toaster_20170519_1_0", "title": "My Toaster", "tooltip": "Virtual Toaster", "icon": "##GSD_ICON_PATHNAME##" },

Speichere die Datei und überprüfe sie auf Fehler mit JSONLint.

Du kannst Deinem virtuellen Gerät noch ein schönens Icon verpassen, das dann in PiCtory erscheint. Dazu kannst Du als Vorlage die folgende Datei verwenden:

/var/www/pictory/resources/images/devices/Virtual01.png

Also kopiere diese Datei z.B. auf einen USB Stick, öffne sie mit einem Editor und speichere sie unter einem Dateinamen, der dem “id” Attribut Deiner RAP-Datei entspricht, z. B. MyToaster.png

Geänderte Dateien aufspielen

Wichtig: Bitte erstelle jetzt eine Sicherungskopie der Dateien bzw. deines Systems, damit du im Fehlerfall ein lauffähiges System wiederherstellen kannst.

Wenn die Dateien syntaktisch fehlerfrei sind, kannst Du sie auf Deinen RevPi Flat zurück kopieren. In unserem Beispiel sind das diese drei Dateien:

  • /var/www/pictory/resources/images/devices/MyToaster.png
  • /var/www/pictory/resources/data/catalog.json
  • /var/www/pictory/resources/data/rap/Toaster_20170519_1_0.rap

Dein Gerät testen

Öffne PiCtory und schaue in der Liste der Geräte, ob Dein neues virtuelles Gerät erscheint.