PanStamp: Unterschied zwischen den Versionen
TeeVau (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
TeeVau (Diskussion | Beiträge) K (Rechtschreibfehler korrigiert und Baustelle entfernt) |
||
Zeile 1: | Zeile 1: | ||
{{SEITENTITEL:panStamp}} | {{SEITENTITEL:panStamp}} | ||
Zeile 17: | Zeile 16: | ||
|ModOwner=[http://forum.fhem.de/index.php?action=profile;u=430 Andre / justme1968] | |ModOwner=[http://forum.fhem.de/index.php?action=profile;u=430 Andre / justme1968] | ||
|HWManufacturer=panStamp | |HWManufacturer=panStamp | ||
}} | }} | ||
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 | [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! | ||
== Allgemein == | == Allgemein == | ||
Die Integration in FHEM erfolgt über eine [[PanStamp_(Systemübersicht)#FHEM_Module|Reihe von Modulen]] die im | 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. | ||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 36: | Zeile 31: | ||
=== Define === | === Define === | ||
Das Device [[panStick]] wird derzeit (01.05.2015) nicht durch autocreate angelegt. Daher muss es manuell entsprechend folgendem Befehl angelegt werden: | 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]] | 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]] | ||
Zeile 42: | Zeile 37: | ||
'''Betrieb an der Fritzbox''' | '''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- | 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 === | === Attribute === | ||
Zeile 53: | Zeile 48: | ||
* raw | * raw | ||
Ist der [[panStick]] eingerichtet und meldet "Initialized", kann über das [[panStick]] device direkt eine raw Message abgesetzt werden. Diese ist | 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 | |||
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. | |||
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 | |||
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. | 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. | ||
Zeile 66: | Zeile 60: | ||
Neue panStamps sollten nur Einer nach dem Anderen in Betrieb genommen werden, da sie zuerst mit einer eindeutigen Device-Adresse (ungleich <code>FF</code> und grösser <code>01</code>) versehen werden müssen. Bei batteriebetriebenen Sensoren sollte auch das Sendeintervall auf einen sinnvollen Wert gesetzt werden: | Neue panStamps sollten nur Einer nach dem Anderen in Betrieb genommen werden, da sie zuerst mit einer eindeutigen Device-Adresse (ungleich <code>FF</code> und grösser <code>01</code>) 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 09 <device adresse als 2 stellige hex zahl> | ||
set <device> regSet 0A <intervall in | 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. | 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 | Das [[SWAP]]-Modul versucht, panStamp-Hardware mit der Default Adresse <code>FF</code> automatisch auf die erste freie Adresse im Bereich <code>F0</code>-<code>FE</code> 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 <code>FFFF</code> zu <code>0384</code> (900 Sekunden) geändert. | Für batteriebetriebene panStamp-Hardware (genauer: Hardware die den Power-Down-Modus unterstützen) wird das Default Sendeintervall von <code>FFFF</code> zu <code>0384</code> (900 Sekunden) geändert. | ||
Es gibt mit bestimmten [[panStamp]] lib Versionen das Problem das ein Wert von FFFF in Systemregister <code>0A</code> 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 | Es gibt mit bestimmten [[panStamp]] lib Versionen das Problem das ein Wert von <code>FFFF</code> in Systemregister <code>0A</code> 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 | Zur Abhilfe kann im Sketch in setup() ganz am Anfang ein | ||
EEPROM.write(EEPROM_TX_INTERVAL, 0x55); | EEPROM.write(EEPROM_TX_INTERVAL, 0x55); | ||
EEPROM.write(EEPROM_TX_INTERVAL+1, 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 <code>5555</code> gesetzt. | 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 <code>5555</code> gesetzt. | ||
= Weblinks = | = Weblinks = |
Version vom 6. August 2015, 06:47 Uhr
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 34_SWAP.pm |
Ersteller | Andre / justme1968 |
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!
Allgemein
Die Integration in FHEM erfolgt über eine Reihe von Modulen die im Folgenden und anderen Artikel genauer beschrieben sind. Das Modul panStamp 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.
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 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 [1] und hier [2] 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
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
- panStamp panStamp Hersteller
- soilmoisture sketch auf sourceforge