PanStamp: Unterschied zwischen den Versionen
Justme (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Baustelle}} = panStamps = PanStamps [http://www.panstamp.com/home)] sind kleine Arduinos mit On-Board CC1101 Funkmodul. Mit ihnen lassen sich eigene Sensore…“) |
Justme (Diskussion | Beiträge) |
||
Zeile 35: | Zeile 35: | ||
===Neue panStamps in Betrieb nehmen=== | ===Neue panStamps in Betrieb nehmen=== | ||
Neue panStamps sollten nur einer nach dem anderen in Betrieb genommen werden da sie zuerst mit einer eindeutigen Netzwerk-ID (ungleich FF und grösser 01) versehen werden müssen. Bei batteriebetriebenen | Neue panStamps sollten nur einer nach dem anderen in Betrieb genommen werden da sie zuerst mit einer eindeutigen Netzwerk-ID (ungleich FF und grösser 01) versehen werden müssen. Bei batteriebetriebenen Sensoren sollte man auch das Sendeintervall auf einen sinnvollen wert setzen: | ||
<pre>set <device> regSet 08 <netzwerk id als 2 stellige hex zahl></pre> | <pre>set <device> regSet 08 <netzwerk id als 2 stellige hex zahl></pre> | ||
<pre>set <device> regSet 0A <intervall in sekunden als 4 stellige hex zahl></pre> | <pre>set <device> regSet 0A <intervall in sekunden als 4 stellige hex zahl></pre> |
Version vom 26. Juli 2013, 12:36 Uhr
An dieser Seite wird momentan noch gearbeitet. |
panStamps
PanStamps [1] sind kleine Arduinos mit On-Board CC1101 Funkmodul. Mit ihnen lassen sich eigene Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau so wie Arduinos z.B. über die Ardunio IDE oder mit dem ino kommandozeilen binary programmieren.
Der panStamp software Stack unterstützt einen stromsparenden Power-Down- oder Sleep- Mode für batteriebetriebene Sensoren aus dem diese dann nur zur eigentlichen Messung und Übertragung "aufwachen".
Zur Kommunikation in einem panStamp Netzwerk dient das SWAP Protokoll [2].
SWAP
Alle Kommunikation im SWAP Protokoll ist Register basiert und erfolgt mit Nachrichten um diese Register abzfuagen, zu setzen und deren Inhalt zu senden. Alle Register lassen sich lesen, manche auch beschreiben.
Jeder panStamp stellt 11 System Register (00-0A) [3] und beliebig viele Sketch abängige User Register (0B-)bereit. Die Beschreibung der jeweils von einem Sketch bereitgestellten User Register erfolgt in Device Description Files die in .../FHEM/lib/SWAP zu finden sind. Die Identifikation der Art eines panStamp und die Zuordnung zu einem bestimmten Device Description File erfolgt über den productCode der aus 'Hersteller' und 'Produkt' id gebildet wird.
In den System Registern steht z.b. der productCode, die Device Adresse und das Übtertragungsintervall. Konfigurierbare Register werden im EEPROM gesichert so das die Werte auch beim einem Neustart nicht verloren gehen. Meim aller ersten starten ist das EEPROM mit FF initialisiert und alle konfigurierbaren Register haben diesen wert. also z.b. die Adresse FF und das Intervall FFFF (zwischen 18 und 19 stunden).
Die System-Register werden in der Device Detailansicht bei den InternalValues im oberen Bereich angezeigt und die User-Register als reading im unteren Bereich.
Jeder panStamp durchläuft beim Start eine definierte Einschaltsequenz und überträgt als aller erstes seinen productCode. Batteriebetiebene panStamps warten jetzt 3 sekunden auf konfigurations Kommandos. Danach werden bestimmte System-Register und aktuelle Messwerte gesendet.
FHEM integration
panStamp
Als Schnittstelle zwischen FHEM und einem panStamp Netzwerk dient entweder ein panStick mit aufgestecktem panStamp an einem USB port oder ein panStamp shield mit integriertem panStamp an einem Raspberry PI. Der so angebundene panStamp wird mit einem Modem-Sketch als RF Modem verwenden und über das FHEM Modul panStamp angesprochen. Hierzu ist in FHEM ein entsprechendes Device anzulegen:
define panStick panStamp /dev/ttyUSBx@38400
Dieses panStamp Device versucht dann als erstes alle panStamps im Netz zu finden und per autocreate anzulegen.
SWAP
Das SWAP Modul ermöglicht die generische Integration beliebiger panStamp Sensoren und Aktoren in FHEM. Mit Hilfe der im jeweiligen Device Description File hinterlegten Beschreibung werden hierzu automatisch userReadings angelegt die neben den 'nakten' Register werten in hex auch 'menschenlesbare' readings der Sensorwerte erzeugen.
Wenn ein SWAP Device mit dem productCode korrekt angelegt wurde kann man sich die User Register bzw. alle Register auflisten und einzelne register abfragen und setzen:
get <device> regList
get <device> regListALL
set <device> regGet <ID>
set <device> regSet <ID> <value>
Neue panStamps in Betrieb nehmen
Neue panStamps sollten nur einer nach dem anderen in Betrieb genommen werden da sie zuerst mit einer eindeutigen Netzwerk-ID (ungleich FF und grösser 01) versehen werden müssen. Bei batteriebetriebenen Sensoren sollte man auch das Sendeintervall auf einen sinnvollen wert setzen:
set <device> regSet 08 <netzwerk id als 2 stellige hex zahl>
set <device> regSet 0A <intervall in sekunden als 4 stellige hex zahl>
Für Devices im Power-Down-Mode werden diese Kommandos in eine Warteschlange gestellt und übertragen sobald das Device seine Initialisierungssequenz durchläuft. Hierzu ist nach absetzen der Kommandos Reset zu drücken.
SWAP_XXXXXXXXXXXXXXXX
Besonders bei Aktoren ist eine engere FHEM Integration sinnvoll um FHEM Konzepte wie on/off/on-for-timer direkt abzubilden und nicht mehr nur auf die register Ebene und regSet und regGet Kommandos beschränkt zu sein.