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 Core.
  • 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 Text Editor 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 kann es schnell pasiseren, dass es viele Fehler gibt und es lange dauert diese zu suchen.

  • Ä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

Anpassungen vornehmen

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

  • id
    • ist ein Name der nicht bereits vergeben wurde in PiCtory
    • 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 auf Wochenbasis Dinge schalten kann. Als Grundlage für Deine eigene RAP-Datei kannst Du Dich mit diesem Tutorial orientieren:

Tutorial RAP Datei selbst erstellen am Beispiel RevPiTimer

Datei in den Katalog der Geräte aufnehmen

PiCtory hat links eine Baum-Struktur mit allen bekannten Geräten. Um dieses neue 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 und ö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 mache jetzt eine Sicherungskopie der Dateien bzw. deines Systemes damit du im Fehlerfall ein lauffähiges System wiederherstellen kannst.

Wenn die Dateien syntaktisch fehlerfrei sind, kannst Du sie auf Dein RevPi zurückkopieren. 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

Test Deines Gerätes

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