PanStamp: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Hinweis für neuen Footprint und Adapterplatinen während der "Übergangszeit")
(Modulbeschreibung auf eigene Seite ausgelagert; Systemübersicht sollte noch hier eingearbeitet werden)
Zeile 1: Zeile 1:
{{SEITENTITEL:panStamp}}
{{SEITENTITEL:panStamp}}{{Infobox Hardware
 
{{Infobox Hardware
|Bild=panStamp.jpg
|Bild=panStamp.jpg
|Bildbeschreibung=panStamp
|Bildbeschreibung=panStamp
Zeile 13: Zeile 11:
|HWPoweredBy=Battery (panStick: USB)
|HWPoweredBy=Battery (panStick: USB)
|HWSize=17.7 x 30.5 mm
|HWSize=17.7 x 30.5 mm
|HWDeviceFHEM=[http://fhem.de/commandref.html#panStamp 34_panStamp.pm] [http://fhem.de/commandref.html#SWAP 34_SWAP.pm]
|HWDeviceFHEM=[http://fhem.de/commandref.html#panStamp 34_panStamp.pm]
|ModOwner=[http://forum.fhem.de/index.php?action=profile;u=430 Andre / justme1968]
|HWManufacturer=panStamp
|HWManufacturer=panStamp
}}
}}
 
<!-- Dieser einleitende Abschnitt dürfte unnötig sein, bzw. sollten die Informationen
    an anderen Stellen eingearbeitet werden -->
Dieser Artikel, als mutmaßlicher Eingangsartikel zu dem Thema, beschreibt das FHEM Modul panStamp, was das Funkinterface zu FHEM bildet. Eine [[panStamp_(Systemübersicht)|Systemübersicht]] ist in einem separaten Artikel beschrieben. Der Focus liegt hier natürlich auf die Integration mit FHEM. Zu der Hardware [[panStamp]] gibt es Herstellerseitig eine eigenen Community mit [http://www.panstamp.org/forum/ Forum] und [https://github.com/panStamp/panstamp/wiki Wiki], sowie [https://github.com/panStamp/panstamp/wiki/Downloads Downloads] auf [https://github.com/panStamp Github].
Dieser Artikel, als mutmaßlicher Eingangsartikel zu dem Thema, beschreibt das FHEM Modul panStamp, was das Funkinterface zu FHEM bildet. Eine [[panStamp_(Systemübersicht)|Systemübersicht]] ist in einem separaten Artikel beschrieben. Der Focus liegt hier natürlich auf die Integration mit FHEM. Zu der Hardware [[panStamp]] gibt es Herstellerseitig eine eigenen Community mit [http://www.panstamp.org/forum/ Forum] und [https://github.com/panStamp/panstamp/wiki Wiki], sowie [https://github.com/panStamp/panstamp/wiki/Downloads Downloads] auf [https://github.com/panStamp Github].


[http://www.panstamp.com/home panStamps] sind [[Arduino]] Clones, die ein CC1101 Funkmodul beinhalten. Mit ihnen lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Der [[panStamp]] Software Stack unterstützt einen stromsparenden Power-Down- oder Sleep-Modus für batteriebetriebene Sensoren, aus dem diese dann nur zur eigentlichen Messung und Übertragung "aufwachen". Zur Kommunikation in einem [[panStamp]] Netzwerk dient das ''Simple Wireless Abstract Protocol'' ([https://github.com/panStamp/panstamp/wiki/Simple%20Wireless%20Abstract%20Protocol SWAP]). Um einen [[panStamp]] in Betrieb zu nehmen muss er unbedingt mit einer Antenne oder einem Stück Draht in der [https://github.com/panStamp/panstamp/wiki/Antennae richtigen Länge] bestückt sein. Ohne Antenne funktioniert die Übertragung nicht, auch nicht auf kurze Distanzen!
[http://www.panstamp.com/home panStamps] sind [[Arduino]] Clones, die ein CC1101 Funkmodul beinhalten. Mit ihnen lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Der [[panStamp]] Software Stack unterstützt einen stromsparenden Power-Down- oder Sleep-Modus für batteriebetriebene Sensoren, aus dem diese dann nur zur eigentlichen Messung und Übertragung "aufwachen". Zur Kommunikation in einem [[panStamp]] Netzwerk dient das ''Simple Wireless Abstract Protocol'' ([https://github.com/panStamp/panstamp/wiki/Simple%20Wireless%20Abstract%20Protocol SWAP]). Um einen [[panStamp]] in Betrieb zu nehmen muss er unbedingt mit einer Antenne oder einem Stück Draht in der [https://github.com/panStamp/panstamp/wiki/Antennae richtigen Länge] bestückt sein. Ohne Antenne funktioniert die Übertragung nicht, auch nicht auf kurze Distanzen!


<!-- Dieser Abschnitt sollte weiter "nach unten" -->
Zwischenzeitlich hat sich das Footprint der Module stark verändert. Adapterplatinen, um die Module mit neuem Footprint in Hardware mit altem zu integrieren, konnten auf Anfrage bei Daniel im Shop noch geordert werden (Stand Ende 2015) [https://forum.fhem.de/index.php/topic,12487.msg296464.html#msg296464][https://forum.fhem.de/index.php/topic,12487.msg392818.html#msg392818]. Langfristig ist davon auszugehen, dass diese nicht dauerhaft werden lieferbar sein. Von der Programmierung unterscheiden sich die Module jedoch nicht.
Zwischenzeitlich hat sich das Footprint der Module stark verändert. Adapterplatinen, um die Module mit neuem Footprint in Hardware mit altem zu integrieren, konnten auf Anfrage bei Daniel im Shop noch geordert werden (Stand Ende 2015) [https://forum.fhem.de/index.php/topic,12487.msg296464.html#msg296464][https://forum.fhem.de/index.php/topic,12487.msg392818.html#msg392818]. Langfristig ist davon auszugehen, dass diese nicht dauerhaft werden lieferbar sein. Von der Programmierung unterscheiden sich die Module jedoch nicht.


== Allgemein ==
== Allgemein ==
Die Integration in FHEM erfolgt über eine [[panStamp_(Systemübersicht)#FHEM_Module|Reihe von Modulen]] die im Folgenden und [[:Kategorie:panStamp|anderen]] Artikel genauer beschrieben sind. Das Modul [[panStamp]] erstellt dabei das IO-Device in FHEM.
Die Integration in FHEM erfolgt über eine [[panStamp_(Systemübersicht)#FHEM_Module|Reihe von Modulen]] die im Folgenden und [[:Kategorie:panStamp|anderen]] Artikel genauer beschrieben sind. Das [[panStamp (Modul)]] erstellt dabei das IO-Device in FHEM.


== Voraussetzungen ==
== Voraussetzungen ==
Als Schnittstelle zwischen FHEM und einem [[panStamp]] Netzwerk dient entweder ein [[panStick]] (USB Stick mit aufgestecktem panStamp) oder ein panShield mit integriertem [[panStamp]] an einem Raspberry Pi. Der so angebundene [[panStamp]] wird mit einem (bei Auslieferung des panStamps vorinstallierten) [[panStick|Modem-Sketch]] als RF-Modem verwendet und über das FHEM Modul [[panStamp]] angesprochen. Der [[panStick]] kann auch per USB an einer anderen Serverhardware angebunden werden. Die Kommunikation zu FHEM erfolgt dann z.B. über {{Link2Forum|Topic= 12487|Message=296182l|LinkText=ser2net}} oder FHEM2FHEM über LAN.
Als Schnittstelle zwischen FHEM und einem [[panStamp]] Netzwerk dient entweder ein [[panStick]] (USB Stick mit aufgestecktem panStamp) oder ein panShield mit integriertem [[panStamp]] an einem Raspberry Pi. Der so angebundene [[panStamp]] wird mit einem (bei Auslieferung des panStamps vorinstallierten) [[panStick|Modem-Sketch]] als RF-Modem verwendet und über das FHEM Modul [[panStamp]] angesprochen. Der [[panStick]] kann auch per USB an einer anderen Serverhardware angebunden werden. Die Kommunikation zu FHEM erfolgt dann z.B. über {{Link2Forum|Topic= 12487|Message=296182l|LinkText=ser2net}} oder FHEM2FHEM über LAN.
== Anwendung ==
=== Define ===
Das Device [[panStick]] wird derzeit (01.05.2015) nicht durch autocreate angelegt. Daher muss es manuell entsprechend folgendem Befehl angelegt werden:
define panStick panStamp /dev/ttyUSBx@38400
Die Schnittstelle (/dev/ttyUSBx) muss entsprechend der lokal verwendeten Schnittstelle angepasst werden. Für die Einrichtung des [[panStick]] innerhalb des Betriebssystem siehe [[Programmierung_eines_panStamp#Installation_panStick_2|hier]]
Dieses [[panStamp]] Device, der [[panStick]], versucht dann alle panStamps per [[SWAP]]-Broadcast zu finden und per [[autocreate]] anzulegen, wenn dieses aktiv sind. Die weitere Funktion übernimmt das Modul [[SWAP]], was das Funkprotokoll der [[panStamp]] Module in FHEM implementiert.
'''Betrieb an der Fritzbox'''
Spezialitäten zum Betrieb an einer Fritzbox sind hier [http://forum.fhem.de/index.php/topic,12487.msg87778.html#msg87778] und hier [http://forum.fhem.de/index.php/topic,12487.msg95914.html#msg95914] beschrieben. Es scheint nur der hintere USB-Anschluss für die Verwendung zu laufen. Außerdem muss der USB-Fernanschluss deaktiviert sein.
=== Attribute ===
Für den [[panStick]] gibt es keine modulspezifischen Attribute.
=== set-Befehle ===
* discover?
Mit diesem Befehl wird eine Broadcast SWAP-Message abgesetzt, die alle empfangenden panStamps dazu veranlassen, sich zu melden. Batteriebetriebenen panStamps können systembedingt nur identifiziert werden, wenn diese Empfangsbereit sind und sich nicht im Schlafmodus befinden.
* raw
Ist der [[panStick]] eingerichtet und meldet "Initialized", kann über das [[panStick]] device direkt eine raw Message abgesetzt werden. Diese ist zurzeit eigentlich immer eine SWAP Nachricht wie z.B.
set panStick raw 00010000010000
In diesem Beispiel wird ein Broadcast an alle abgesetzt, damit diese ihre ID und ihren ProductCode zurück an FHEM senden. Das macht der [[panStick]] nach dem Initialisieren auch einmal automatisch um alle nicht schlafenden Devices per [[autocreate]] anlegen zu können.
Mit diesem Befehl "raw" lassen sich [[SWAP]]-Messages direkt absetzten, was vor allen Dingen dann hilfreich sein kann, wenn man vermutet, dass die Kommunikation über die modulgestützten Befehle fehlschlägt.


== Anwendungsbeispiele ==
== Anwendungsbeispiele ==
Zeile 78: Zeile 51:


[[Kategorie:panStamp]]
[[Kategorie:panStamp]]
[[Kategorie:Interfaces]]

Version vom 2. Juni 2016, 19:51 Uhr

PanStamp
panStamp
Allgemein
Protokoll SWAP
Typ Sender, Empfänger, Sensor, Interface
Kategorie
Technische Details
Kommunikation 868MHz (433/915MHz)
Kanäle
Betriebsspannung 3.3V (panStick: 5V USB)
Leistungsaufnahme
Versorgung Battery (panStick: USB)
Abmessungen 17.7 x 30.5 mm
Sonstiges
Modulname 34_panStamp.pm
Hersteller panStamp

Dieser Artikel, als mutmaßlicher Eingangsartikel zu dem Thema, beschreibt das FHEM Modul panStamp, was das Funkinterface zu FHEM bildet. Eine Systemübersicht ist in einem separaten Artikel beschrieben. Der Focus liegt hier natürlich auf die Integration mit FHEM. Zu der Hardware panStamp gibt es Herstellerseitig eine eigenen Community mit Forum und Wiki, sowie Downloads auf Github.

panStamps sind Arduino Clones, die ein CC1101 Funkmodul beinhalten. Mit ihnen lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Der panStamp Software Stack unterstützt einen stromsparenden Power-Down- oder Sleep-Modus für batteriebetriebene Sensoren, aus dem diese dann nur zur eigentlichen Messung und Übertragung "aufwachen". Zur Kommunikation in einem panStamp Netzwerk dient das Simple Wireless Abstract Protocol (SWAP). Um einen panStamp in Betrieb zu nehmen muss er unbedingt mit einer Antenne oder einem Stück Draht in der richtigen Länge bestückt sein. Ohne Antenne funktioniert die Übertragung nicht, auch nicht auf kurze Distanzen!

Zwischenzeitlich hat sich das Footprint der Module stark verändert. Adapterplatinen, um die Module mit neuem Footprint in Hardware mit altem zu integrieren, konnten auf Anfrage bei Daniel im Shop noch geordert werden (Stand Ende 2015) [1][2]. Langfristig ist davon auszugehen, dass diese nicht dauerhaft werden lieferbar sein. Von der Programmierung unterscheiden sich die Module jedoch nicht.

Allgemein

Die Integration in FHEM erfolgt über eine Reihe von Modulen die im Folgenden und anderen Artikel genauer beschrieben sind. Das panStamp (Modul) erstellt dabei das IO-Device in FHEM.

Voraussetzungen

Als Schnittstelle zwischen FHEM und einem panStamp Netzwerk dient entweder ein panStick (USB Stick mit aufgestecktem panStamp) oder ein panShield mit integriertem panStamp an einem Raspberry Pi. Der so angebundene panStamp wird mit einem (bei Auslieferung des panStamps vorinstallierten) Modem-Sketch als RF-Modem verwendet und über das FHEM Modul panStamp angesprochen. Der panStick kann auch per USB an einer anderen Serverhardware angebunden werden. Die Kommunikation zu FHEM erfolgt dann z.B. über ser2net oder FHEM2FHEM über LAN.

Anwendungsbeispiele

Neue panStamps in Betrieb nehmen

Info: Das SWAP Modul unterstützt autocreate. Bei der Inbetriebnahme ist autocreate zu aktivieren!

Neue panStamps sollten nur Einer nach dem Anderen in Betrieb genommen werden, da sie zuerst mit einer eindeutigen Device-Adresse (ungleich FF und grösser 01) versehen werden müssen. Bei batteriebetriebenen Sensoren sollte auch das Sendeintervall auf einen sinnvollen Wert gesetzt werden:

set <device> regSet 09 <device adresse als 2 stellige hex zahl>
set <device> regSet 0A <intervall in Sekunden als 4 stellige hex zahl>

Für panStamp-Hardware im Power-Down-Modus werden diese Kommandos in eine Warteschlange gestellt und übertragen, sobald die panStamp-Hardware seine Initialisierungssequenz durchläuft. Hierzu ist nach Absetzen der Kommandos aus FHEM die Reset-Taste an der panStamp-Hardware zu drücken oder die Stromquelle erneut zu verbinden.

Das SWAP-Modul versucht, panStamp-Hardware mit der Default Adresse FF automatisch auf die erste freie Adresse im Bereich F0-FE zu ändern. Automatisch gesetzte Werte sollten danach manuell auf die jeweilige Installation angepasst werden. Für batteriebetriebene panStamp-Hardware (genauer: Hardware die den Power-Down-Modus unterstützen) wird das Default Sendeintervall von FFFF zu 0384 (900 Sekunden) geändert. Es gibt mit bestimmten panStamp lib Versionen das Problem das ein Wert von FFFF in Systemregister 0A zum Überlauf führt und dann ununterbrochen SWAP Nachrichten gesendet werden. Im FHEM Modul wird versucht das abzufangen. Das funktioniert auf manchen langsamen Host-Systemen (z.B. FritzBox) nicht, weil der panStamp so schnell sendet, dass FHEM so mit dem Abarbeiten beschäftigt ist, dass es selber nicht zum Senden kommt. Zur Abhilfe kann im Sketch in setup() ganz am Anfang ein

 EEPROM.write(EEPROM_TX_INTERVAL, 0x55);
 EEPROM.write(EEPROM_TX_INTERVAL+1, 0x55);

eingefügt werden. Der Sketch ist dann zu flashen und wenn der Sketch einmal durchgelaufen ist, können diese beiden Zeilen wieder entfernen werden und der panStamp muss noch mal geflasht werden. Ansonsten wird die Adresse bei jedem Start erneut auf 5555 gesetzt.

Weblinks