PanStamp Programmierung: Unterschied zwischen den Versionen
TeeVau (Diskussion | Beiträge) K (TeeVau verschob die Seite Programmierung eines panStamp nach PanStamp Programmierung) |
(Anpassung von <source>-Tags nach <syntaxhighlight>) |
||
(10 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{ | {{SEITENTITEL:panStamp Programmierung}} | ||
Dieser Artikel gehört zum Themenkomplex "panStamp" der [[panStamp|hier]] seinen Hauptartikel hat. | |||
== unter Windows == | |||
=== Installation des USB-Sticks (panStick) === | |||
Für die Installation des panStick unter Windows gibt es mehrere Möglichkeiten. | Für die Installation des panStick unter Windows gibt es mehrere Möglichkeiten. | ||
# Installiert man eine Arduino IDE, kann dabei auch der Treiber für den panStick mitinstalliert werden. | # Installiert man eine Arduino IDE, kann dabei auch der Treiber für den panStick mitinstalliert werden. | ||
# Treiber von der offiziellen Homepage herunterladen und installieren | # Treiber von der offiziellen Homepage herunterladen und installieren [http://www.ftdichip.com/]. Die Treiber befinden sich ebenfalls im Unterordner drivers der Arduino IDE. | ||
Bei der Installation kann es sein, dass kein Treiber gefunden wird. Dann muss der entsprechende Treiber manuell ausgewählt werden entsprechend dieser Anleitung | Bei der Installation kann es sein, dass kein Treiber gefunden wird. Dann muss der entsprechende Treiber manuell ausgewählt werden entsprechend dieser Anleitung [https://www.youtube.com/watch?v=SPdSKT6KdF8]. | ||
=== Arduino IDE 1.0.x vorbereiten === | |||
Zum Flashen der panStamps wird die Arduino IDE benötigt. Eine Installationsanleitung für Arduino IDE 1.0 ist unter folgendem Link zu finden: | Zum Flashen der panStamps wird die Arduino IDE benötigt. Eine Installationsanleitung für Arduino IDE 1.0 ist unter folgendem Link zu finden: | ||
:https://code.google.com/p/panstamp/wiki/firststeps | :https://code.google.com/p/panstamp/wiki/firststeps | ||
Die IDE 1.5.x oder höher ist zwar mit den AVRs und NRGs kompatibel, wichtig zu wissen ist allerdings, dass mit dem Wechsel von 1.0.x zu 1.5.x oder höher es größere Änderungen der | Die IDE 1.5.x oder höher ist zwar mit den AVRs und NRGs kompatibel, wichtig zu wissen ist allerdings, dass mit dem Wechsel von 1.0.x zu 1.5.x oder höher es größere Änderungen der panStamp/SWAP Librarys gegeben hat. Dadurch lassen sich einige der bislang zur Verfügung stehenden Sketches (derzeit) nicht unter 1.5.x oder höher kompilieren (z.B. der RGBWW-Sketch). Für die IDE 1.0.x gibt es keine passenden Arduino Lib für den NRG [[https://github.com/panStamp/panstamp/wiki/First%20steps]], die daher nur mit den AVRs kompatibel sind. Im Folgenden wird sich für die Programmierung unter Windows daher auf die letzte 1.0.x IDE bezogen. | ||
* Man lädt die '''Arduino IDE 1.0.x''' für Windows [[http://arduino.cc/en/Main/OldSoftwareReleases]]. | * Man lädt die '''Arduino IDE 1.0.x''' für Windows [[http://arduino.cc/en/Main/OldSoftwareReleases]]. | ||
* Für bestimmte Sketches müssen noch die entsprechenden Libs hinzugefügt werden (siehe [[panStamp#Sketch konfigurieren|explizite Anwendung]]). | |||
* Unter <code>Tools/Board</code> wird das '''passende Board''' ausgewählt, dass dem Chip auf dem panStamp entspricht. Für den panStamp AVR: <code>Arduino Pro or Pro Mini (3,3V, 8 MHz) /w ATmega328</code>. Wenn man das boards.txt file von [http://code.google.com/p/panstamp/downloads/detail?name=boards.txt&can=2&q= hier] installiert, kann man in der IDE auch direkt <code>panStamp</code> als Plattform auswählen. | |||
* Nun muss unter <code>Tools/Serieller Port</code> noch der richtigen '''Com-Port''' auswählen werden, unter dem der panStick eingebunden worden ist (entsprechend Gerätemanager). | |||
* Als letztes unter <code>Tools/'''Programmer'''</code> noch den <code>AVRISPx mkII</code> auswählen. | |||
=== Arduino IDE 1.6.x vorbereiten === | |||
Eine Installationsanleitung für Arduino IDE 1.6.4 ist unter folgendem Link zu finden: | |||
:https://github.com/panStamp/panstamp/wiki/Installing-panStamp-cores-and-libraries-for-Arduino | |||
'''Wichtiger Hinweis:''' | |||
Bitte in jedem Falle die Einschränkungen bezüglich der Sketch-Kompatibilität beachten (siehe vorheriger Abschnitt). | |||
=== Sketch vorbereiten, kompilieren und hochladen === | |||
* Den Sketch lädt man von der entsprechenden Quelle und entpackt die Dateien in einen Unterordner z.B. parallel zum libraries-Ordner (unter "Eigene Dateien"). Der Ordner darf '''nicht im''' libraries-Ordner liegen, da die Arduino IDE dort das Speichern nicht zulässt. Innerhalb des Unterordners erwartet die IDE die Dateien in einen Unterordner namens "sketch". | * Den Sketch lädt man von der entsprechenden Quelle und entpackt die Dateien in einen Unterordner z.B. parallel zum libraries-Ordner (unter "Eigene Dateien"). Der Ordner darf '''nicht im''' libraries-Ordner liegen, da die Arduino IDE dort das Speichern nicht zulässt. Innerhalb des Unterordners erwartet die IDE die Dateien in einen Unterordner namens "sketch". | ||
* sketch.ino oder ähnlich in der Arduino IDE öffnen. | * sketch.ino oder ähnlich in der Arduino IDE öffnen. | ||
Zeile 38: | Zeile 41: | ||
Bezüglich der Anpassung des Sketches sind einige spezifische Informationen unten bei den expliziten Anwendungen ergänzt. | Bezüglich der Anpassung des Sketches sind einige spezifische Informationen unten bei den expliziten Anwendungen ergänzt. | ||
=== Hexfile hochladen mit XLoader === | |||
Um ein fertig kompiliertes HEX-File hochzuladen, soll dieses über ein Programm namens XLoader möglich sein. [[http://xloader.russemotto.com]] | Um ein fertig kompiliertes HEX-File hochzuladen, soll dieses über ein Programm namens XLoader möglich sein. [[http://xloader.russemotto.com]] | ||
== unter Linux == | |||
=== Installation des USB-Sticks (panStick) === | |||
Eigentlich sollte der panStick automatisch von System erkannt und eingerichtet werden. | |||
Er sollte dann automatisch unter /dev/ttyUSBx eingebunden werden. "x" steht für eine freie fortlaufende Nummer. | |||
Falls er nicht automatisch angelegt worden ist, kann man zunächst prüfen, ob dieser überhaupt eingebunden und richtig erkannt wurde. | Falls er nicht automatisch angelegt worden ist, kann man zunächst prüfen, ob dieser überhaupt eingebunden und richtig erkannt wurde. | ||
< | <syntaxhighlight lang="bash">lsusb</syntaxhighlight> | ||
lsusb | |||
</ | |||
Sollte etwas Ähnliches zurückmelden: | Sollte etwas Ähnliches zurückmelden: | ||
< | <syntaxhighlight lang="bash">Bus 003 Device 002: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub</syntaxhighlight> | ||
Bus 003 Device 002: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub | |||
</ | Falls das Device nicht automatisch angelegt worden ist, muss dieses ggf. von Hand erledigt werden, wie in diesem {{Link2Forum|Topic=12487|Message=87746}} beschrieben. | ||
Falls das Device nicht automatisch angelegt worden ist, muss dieses ggf. von Hand | |||
{{Link2Forum|Topic=12487 |Message=87746 }} | |||
Mit dem folgenden Befehl sollte in der Liste ein | Mit dem folgenden Befehl sollte in der Liste ein ttyUSB auftauchen. Normalerweise mit der Nummer 188. | ||
< | <syntaxhighlight lang="bash">cat /proc/devices</syntaxhighlight> | ||
Das Device wird dann angelegt mit: | Das Device wird dann angelegt mit: | ||
< | <syntaxhighlight lang="bash">sudo mknod /dev/ttyUSB0 c 188 0</syntaxhighlight> | ||
Zusätzlich muss für den Betrieb des panStick das ftdi_sio Modul zur Verfügung stehen. Dieses lässt sich prüfen mit | Zusätzlich muss für den Betrieb des panStick das ftdi_sio Modul zur Verfügung stehen. Dieses lässt sich prüfen mit | ||
< | <syntaxhighlight lang="bash">lsmod</syntaxhighlight> | ||
Diese Voraussetzung könnte den Betrieb an einer | Diese Voraussetzung könnte den Betrieb an einer [[AVM Fritz!Box|Fritz!Box]] erschweren, da nicht sicher ist, ob dieses Modul standardmäßig installiert ist. | ||
Legt man das Device von Hand an, kann es sein, dass die Berechtigungen nicht richtig gesetzt sind. | Legt man das Device von Hand an, kann es sein, dass die Berechtigungen nicht richtig gesetzt sind. Beim Versuch der Definition erhält man dann die folgende Fehlermeldung: | ||
2015.04.23 22:20:06 3: Opening panStick device /dev/ttyUSB0 | |||
2015.04.23 22:20:06 3: Opening panStick device /dev/ttyUSB0 | 2015.04.23 22:20:06 3: Can't open /dev/ttyUSB0: Permission denied | ||
2015.04.23 22:20:06 3: Can't open /dev/ttyUSB0: Permission denied | |||
Das Device sollte für die Gruppe dialout Lese-/Schreibberechtigungen haben. | Das Device sollte für die Gruppe dialout Lese-/Schreibberechtigungen haben. | ||
Ist dieses nicht der Fall, lassen sich diese über diesen | Ist dieses nicht der Fall, lassen sich diese über diesen folgenden Befehl setzen, damit wird der "Besitzer" festgelegt: | ||
< | <syntaxhighlight lang="bash">sudo chown root:dialout ttyUSBx</syntaxhighlight> | ||
sudo chown root:dialout ttyUSBx | |||
</ | |||
Hiermit werden die Berechtigungen gesetzt. | Hiermit werden die Berechtigungen gesetzt. | ||
<syntaxhighlight lang="bash">sudo chmod a+rw /dev/ttyUSBx</syntaxhighlight> | |||
Der Benutzer "fhem" sollte selbstverständlich der Gruppe "dialout" angehören. | Der Benutzer "fhem" sollte selbstverständlich der Gruppe "dialout" angehören. Ist dieses nicht der Fall: | ||
Ist dieses nicht der Fall: | <syntaxhighlight lang="bash">sudo adduser fhem dialout</syntaxhighlight> | ||
< | |||
sudo adduser fhem dialout | |||
</ | |||
Falls dem nicht so sein sollte, hilft ggf. einer dieser beiden Links weiter: | Falls dem nicht so sein sollte, hilft ggf. einer dieser beiden Links weiter: | ||
[[https://www.youtube.com/watch?v=UOECwHhCWRg]] [[http://www.element14.com/community/community/designcenter/single-board-computers/next-gen_beaglebone/blog/2013/07/15/bbb--usb-io-with-ftdi-ft2232h]] bzw. die Installation des Moduls. | [[https://www.youtube.com/watch?v=UOECwHhCWRg]] [[http://www.element14.com/community/community/designcenter/single-board-computers/next-gen_beaglebone/blog/2013/07/15/bbb--usb-io-with-ftdi-ft2232h]] bzw. die Installation des Moduls. | ||
==== | Da bei der Verwendung mehrerer USB-Interfaces es durchaus vorkommen kann, dass sich die Reihenfolge und damit die Nummerierung der Adresse ändert, sei darauf hingewiesen, dass die Adressierung auch per "by-id" geschehen kann (siehe {{Link2Forum|Topic=12487|Message=317189|LinkText=diesen Forenbeitrag}}). Dadurch wird die Adressierung wesentlich stabiler gegenüber Änderungen bei Neustarts des Systems oder tauschen der USB-Ports. Die Adressierung über die ID ist daher stark empfohlen, die o.g. Schritte bzgl. der Einrichtung müssen entsprechend bei Bedarf angepasst werden. | ||
Hat man die Adresse herausgefunden, wird der panStick folgendermaßen in der FHEM Eingabezeile definiert: | |||
<syntaxhighlight lang="bash"> define mypanStick panStamp /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A92LHB3Z-if00-port0@38400</syntaxhighlight> | |||
Dieses IO-Device, 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. | |||
{{Link2Forum|Topic=12487 |Message= | |||
'''Betrieb an der Fritzbox''' | |||
Spezialitäten zum Betrieb an einer Fritzbox sind hier {{Link2Forum|Topic=12487|Message=87778}} und hier {{Link2Forum|Topic=12487|Message=95914}} beschrieben. Es scheint nur der hintere USB-Anschluss für die Verwendung zu laufen. Außerdem muss der USB-Fernanschluss deaktiviert sein. | |||
=== INO === | |||
Der RGB-Sketch wurde mit Hilfe des Tools INO entwickelt. | Der RGB-Sketch wurde mit Hilfe des Tools INO entwickelt. | ||
{{Link2Forum|Topic=12487 |Message=82139 }} | {{Link2Forum|Topic=12487|Message=82139 }} | ||
Die Installation erfolgt am leichtesten mit Hilfe des Tools pip. | Die Installation erfolgt am leichtesten mit Hilfe des Tools pip. | ||
Zeile 113: | Zeile 104: | ||
Voraussetzungen für das Tool sind darüber hinaus picocom für die Kommunikation mit der seriellen Schnittstelle und die Arduino. Im gleichen Zuge lässt sich pip installieren. | Voraussetzungen für das Tool sind darüber hinaus picocom für die Kommunikation mit der seriellen Schnittstelle und die Arduino. Im gleichen Zuge lässt sich pip installieren. | ||
Die benötigten Pakete werden über folgenden Aufruf installiert | Die benötigten Pakete werden über folgenden Aufruf installiert | ||
< | <syntaxhighlight lang="bash">sudo apt-get install picocom python-pip arduino</syntaxhighlight> | ||
sudo apt-get install picocom python-pip arduino | |||
</ | |||
Die Installation erfolgt im Anschluss über | Die Installation erfolgt im Anschluss über | ||
< | <syntaxhighlight lang="bash">sudo pip install ino</syntaxhighlight> | ||
sudo pip install ino | |||
</ | |||
Die für einen Sketch erforderlichen libs werden in den entsprechenden lib Ordner kopiert (dort in entsprechenden Unterordnern). | Die für einen Sketch erforderlichen libs werden in den entsprechenden lib Ordner kopiert (dort in entsprechenden Unterordnern). | ||
Die Pfade im Zip sind an dieses Tool angepasst. | Die Pfade im Zip sind an dieses Tool angepasst. | ||
{{Link2Forum|Topic=12487 |Message=94830 }} | {{Link2Forum|Topic=12487|Message=94830 }} | ||
Der serielle Port in der ino.ini muss selbstverständlich an die passende dev-Schnittstelle angepasst werden. | Der serielle Port in der ino.ini muss selbstverständlich an die passende dev-Schnittstelle angepasst werden. | ||
Zeile 156: | Zeile 142: | ||
</pre> | </pre> | ||
Wichtig zu wissen: | Wichtig zu wissen: jedesmal, wenn die Arduino ein Update erhält, wird vermutlich diese Datei überschrieben, so dass die Eintragung wiederholt werden muss. | ||
Hier sind die | Hier sind die grundlegenden Befehle beschrieben [http://inotool.org/quickstart]. | ||
Wechselt man nun in das Verzeichnis z.B. des RGBdriver, lässt die der Sketch kompilieren über | Wechselt man nun in das Verzeichnis z.B. des RGBdriver, lässt die der Sketch kompilieren über | ||
< | <syntaxhighlight lang="bash">ino build</syntaxhighlight> | ||
ino build | |||
</ | |||
Und hochladen über | Und hochladen über | ||
< | <syntaxhighlight lang="bash">sudo ino upload</syntaxhighlight> | ||
sudo ino upload | |||
</ | |||
; Troubeshooting | ; Troubeshooting | ||
{{Link2Forum|Topic=12487 |Message=134786 }} | : siehe {{Link2Forum|Topic=12487|Message=134786|LinkText=diesen Forenbeitrag}} | ||
=== | == IDE unter MacOS == | ||
Da für den RGB-Sketch die IDE 1.0.x benötigt wird und diese Java SE 6 eine Voraussetzung ist, stellt die IDE und MacOS keine Optimale Konfigurationsumgebung dar. Wer es trotzdem probieren möchte | |||
{{Link2Forum|Topic=12487|Message=82055 }} | |||
Die neueren panStamp NRGs können seit einiger Zeit auch over-the-air geflasht werden, wie hier im zugehörigen Forumthread | == over-the-air (derzeit) nur NRG == | ||
Die neueren panStamp NRGs können seit einiger Zeit auch over-the-air geflasht werden, wie hier im zugehörigen {{Link2Forum|Topic=30589|LinkText=Forumthread}}. | |||
== Was überlebt das Flashen== | |||
Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen | Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen (siehe diesen {{Link2Forum|Topic=12487|Message=87560}}). | ||
== EEPROM löschen == | |||
Das EEPROM lässt sich komplett löschen, indem man in der setup() | Das EEPROM lässt sich komplett löschen, indem man in der setup() die folgende Eintragung vornimmt (siehe dazu diesen {{Link2Forum|Topic=13890|Message=156868}}): | ||
eepromToFactoryDefaults() | |||
eepromToFactoryDefaults() | |||
[[Kategorie:panStamp]] | [[Kategorie:panStamp]] |
Aktuelle Version vom 26. Juli 2017, 19:00 Uhr
Dieser Artikel gehört zum Themenkomplex "panStamp" der hier seinen Hauptartikel hat.
unter Windows
Installation des USB-Sticks (panStick)
Für die Installation des panStick unter Windows gibt es mehrere Möglichkeiten.
- Installiert man eine Arduino IDE, kann dabei auch der Treiber für den panStick mitinstalliert werden.
- Treiber von der offiziellen Homepage herunterladen und installieren [1]. Die Treiber befinden sich ebenfalls im Unterordner drivers der Arduino IDE.
Bei der Installation kann es sein, dass kein Treiber gefunden wird. Dann muss der entsprechende Treiber manuell ausgewählt werden entsprechend dieser Anleitung [2].
Arduino IDE 1.0.x vorbereiten
Zum Flashen der panStamps wird die Arduino IDE benötigt. Eine Installationsanleitung für Arduino IDE 1.0 ist unter folgendem Link zu finden:
Die IDE 1.5.x oder höher ist zwar mit den AVRs und NRGs kompatibel, wichtig zu wissen ist allerdings, dass mit dem Wechsel von 1.0.x zu 1.5.x oder höher es größere Änderungen der panStamp/SWAP Librarys gegeben hat. Dadurch lassen sich einige der bislang zur Verfügung stehenden Sketches (derzeit) nicht unter 1.5.x oder höher kompilieren (z.B. der RGBWW-Sketch). Für die IDE 1.0.x gibt es keine passenden Arduino Lib für den NRG [[3]], die daher nur mit den AVRs kompatibel sind. Im Folgenden wird sich für die Programmierung unter Windows daher auf die letzte 1.0.x IDE bezogen.
- Man lädt die Arduino IDE 1.0.x für Windows [[4]].
- Für bestimmte Sketches müssen noch die entsprechenden Libs hinzugefügt werden (siehe explizite Anwendung).
- Unter
Tools/Board
wird das passende Board ausgewählt, dass dem Chip auf dem panStamp entspricht. Für den panStamp AVR:Arduino Pro or Pro Mini (3,3V, 8 MHz) /w ATmega328
. Wenn man das boards.txt file von hier installiert, kann man in der IDE auch direktpanStamp
als Plattform auswählen. - Nun muss unter
Tools/Serieller Port
noch der richtigen Com-Port auswählen werden, unter dem der panStick eingebunden worden ist (entsprechend Gerätemanager). - Als letztes unter
Tools/Programmer
noch denAVRISPx mkII
auswählen.
Arduino IDE 1.6.x vorbereiten
Eine Installationsanleitung für Arduino IDE 1.6.4 ist unter folgendem Link zu finden:
Wichtiger Hinweis: Bitte in jedem Falle die Einschränkungen bezüglich der Sketch-Kompatibilität beachten (siehe vorheriger Abschnitt).
Sketch vorbereiten, kompilieren und hochladen
- Den Sketch lädt man von der entsprechenden Quelle und entpackt die Dateien in einen Unterordner z.B. parallel zum libraries-Ordner (unter "Eigene Dateien"). Der Ordner darf nicht im libraries-Ordner liegen, da die Arduino IDE dort das Speichern nicht zulässt. Innerhalb des Unterordners erwartet die IDE die Dateien in einen Unterordner namens "sketch".
- sketch.ino oder ähnlich in der Arduino IDE öffnen.
- Nun entsprechend den Bedürfnissen auf dem geöffneten Reiter in den config.h die nicht benötigten Zeilen mit "//" auskommentieren bzw. anpassen.
- Nun sollte über Sketch/Überprüften/Kompilieren die Erstellung des Sketches möglich sein.
- Falls erfolgreich unter Datei/Hochladen (ohne Programmer) den Sketch auf den panStamp laden.
Bezüglich der Anpassung des Sketches sind einige spezifische Informationen unten bei den expliziten Anwendungen ergänzt.
Hexfile hochladen mit XLoader
Um ein fertig kompiliertes HEX-File hochzuladen, soll dieses über ein Programm namens XLoader möglich sein. [[5]]
unter Linux
Installation des USB-Sticks (panStick)
Eigentlich sollte der panStick automatisch von System erkannt und eingerichtet werden. Er sollte dann automatisch unter /dev/ttyUSBx eingebunden werden. "x" steht für eine freie fortlaufende Nummer.
Falls er nicht automatisch angelegt worden ist, kann man zunächst prüfen, ob dieser überhaupt eingebunden und richtig erkannt wurde.
lsusb
Sollte etwas Ähnliches zurückmelden:
Bus 003 Device 002: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub
Falls das Device nicht automatisch angelegt worden ist, muss dieses ggf. von Hand erledigt werden, wie in diesem Beitrag beschrieben.
Mit dem folgenden Befehl sollte in der Liste ein ttyUSB auftauchen. Normalerweise mit der Nummer 188.
cat /proc/devices
Das Device wird dann angelegt mit:
sudo mknod /dev/ttyUSB0 c 188 0
Zusätzlich muss für den Betrieb des panStick das ftdi_sio Modul zur Verfügung stehen. Dieses lässt sich prüfen mit
lsmod
Diese Voraussetzung könnte den Betrieb an einer Fritz!Box erschweren, da nicht sicher ist, ob dieses Modul standardmäßig installiert ist.
Legt man das Device von Hand an, kann es sein, dass die Berechtigungen nicht richtig gesetzt sind. Beim Versuch der Definition erhält man dann die folgende Fehlermeldung:
2015.04.23 22:20:06 3: Opening panStick device /dev/ttyUSB0 2015.04.23 22:20:06 3: Can't open /dev/ttyUSB0: Permission denied
Das Device sollte für die Gruppe dialout Lese-/Schreibberechtigungen haben. Ist dieses nicht der Fall, lassen sich diese über diesen folgenden Befehl setzen, damit wird der "Besitzer" festgelegt:
sudo chown root:dialout ttyUSBx
Hiermit werden die Berechtigungen gesetzt.
sudo chmod a+rw /dev/ttyUSBx
Der Benutzer "fhem" sollte selbstverständlich der Gruppe "dialout" angehören. Ist dieses nicht der Fall:
sudo adduser fhem dialout
Falls dem nicht so sein sollte, hilft ggf. einer dieser beiden Links weiter: [[6]] [[7]] bzw. die Installation des Moduls.
Da bei der Verwendung mehrerer USB-Interfaces es durchaus vorkommen kann, dass sich die Reihenfolge und damit die Nummerierung der Adresse ändert, sei darauf hingewiesen, dass die Adressierung auch per "by-id" geschehen kann (siehe diesen Forenbeitrag). Dadurch wird die Adressierung wesentlich stabiler gegenüber Änderungen bei Neustarts des Systems oder tauschen der USB-Ports. Die Adressierung über die ID ist daher stark empfohlen, die o.g. Schritte bzgl. der Einrichtung müssen entsprechend bei Bedarf angepasst werden.
Hat man die Adresse herausgefunden, wird der panStick folgendermaßen in der FHEM Eingabezeile definiert:
define mypanStick panStamp /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A92LHB3Z-if00-port0@38400
Dieses IO-Device, 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 Beitrag und hier Beitrag beschrieben. Es scheint nur der hintere USB-Anschluss für die Verwendung zu laufen. Außerdem muss der USB-Fernanschluss deaktiviert sein.
INO
Der RGB-Sketch wurde mit Hilfe des Tools INO entwickelt. Beitrag
Die Installation erfolgt am leichtesten mit Hilfe des Tools pip.
Voraussetzungen für das Tool sind darüber hinaus picocom für die Kommunikation mit der seriellen Schnittstelle und die Arduino. Im gleichen Zuge lässt sich pip installieren. Die benötigten Pakete werden über folgenden Aufruf installiert
sudo apt-get install picocom python-pip arduino
Die Installation erfolgt im Anschluss über
sudo pip install ino
Die für einen Sketch erforderlichen libs werden in den entsprechenden lib Ordner kopiert (dort in entsprechenden Unterordnern).
Die Pfade im Zip sind an dieses Tool angepasst. Beitrag
Der serielle Port in der ino.ini muss selbstverständlich an die passende dev-Schnittstelle angepasst werden.
Als letztes sind die Parameter für das Board noch in die board.txt unter /usr/share/arduino/hardware/arduino einzutragen. Die Parameter lassen sich von hier extrahieren [8] bzw. lauten für den AVR
############################################################## panstamp.name=PanStamp v2.0 (3.3V, 8 MHz) w/ ATmega328 panstamp.upload.protocol=arduino panstamp.upload.maximum_size=30720 panstamp.upload.speed=57600 panstamp.bootloader.low_fuses=0xE2 panstamp.bootloader.high_fuses=0xD8 panstamp.bootloader.extended_fuses=0x07 panstamp.bootloader.path=atmega panstamp.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex panstamp.bootloader.unlock_bits=0x3F panstamp.bootloader.lock_bits=0x0F panstamp.build.mcu=atmega328p panstamp.build.f_cpu=8000000L panstamp.build.core=arduino panstamp.build.variant=standard ##############################################################
Wichtig zu wissen: jedesmal, wenn die Arduino ein Update erhält, wird vermutlich diese Datei überschrieben, so dass die Eintragung wiederholt werden muss.
Hier sind die grundlegenden Befehle beschrieben [9].
Wechselt man nun in das Verzeichnis z.B. des RGBdriver, lässt die der Sketch kompilieren über
ino build
Und hochladen über
sudo ino upload
- Troubeshooting
- siehe diesen Forenbeitrag
IDE unter MacOS
Da für den RGB-Sketch die IDE 1.0.x benötigt wird und diese Java SE 6 eine Voraussetzung ist, stellt die IDE und MacOS keine Optimale Konfigurationsumgebung dar. Wer es trotzdem probieren möchte Beitrag
over-the-air (derzeit) nur NRG
Die neueren panStamp NRGs können seit einiger Zeit auch over-the-air geflasht werden, wie hier im zugehörigen Forumthread.
Was überlebt das Flashen
Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen (siehe diesen Beitrag).
EEPROM löschen
Das EEPROM lässt sich komplett löschen, indem man in der setup() die folgende Eintragung vornimmt (siehe dazu diesen Beitrag):
eepromToFactoryDefaults()