PanStamp Programmierung: Unterschied zwischen den Versionen

Aus FHEMWiki
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
== Programmierung eines panStamp ==
== Programmierung eines panStamp ==


=== unter Windows ===
=== Installation panStick ===
 
==== Installation 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 [[http://www.ftdichip.com/]]. Die Treiber befinden sich ebenfalls im Unterordner drivers der Arduino IDE.  
# 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 [[https://www.youtube.com/watch?v=SPdSKT6KdF8]].
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 vorbereiten ====
=== 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
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


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 APIs 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 RGB-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.
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]]).
* 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.


* Unter Tools/Board wird das '''passende Board''' ausgewählt, dass dem Chip auf dem PanStamp entspricht. Für den AVR: Arduino Pro or Pro Mini (3,3V, 8 MHz) /w ATmega328. 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 panStamp als Plattform 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


* 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 den AVRISP mkII auswählen.


==== Sketch vorbereiten, kompilieren und hochladen ====
=== 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 39: Zeile 37:
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 ====
=== 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 ===  
== unter Linux ==


==== Installation panStick ====
=== Installation panStick ===
Zum einen kann es sein, dass der panStick automatisch unter /dev/ttyUSBx eingebunden wird. "x" steht für eine freie fortlaufende Nummer.
Zum einen kann es sein, dass der panStick automatisch unter /dev/ttyUSBx eingebunden wird. "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.
<pre>
lsusb
lsusb
</pre>
Sollte etwas Ähnliches zurückmelden:
Sollte etwas Ähnliches zurückmelden:
<pre>
Bus 003 Device 002: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub
Bus 003 Device 002: ID 0403:0000 Future Technology Devices International, Ltd H4SMK 7 Port Hub
</pre>
 
Falls das Device nicht automatisch angelegt worden ist, muss dieses ggf. von Hand erledigen.


{{Link2Forum|Topic=12487 |Message=87746 }}
Falls das Device nicht automatisch angelegt worden ist, muss dieses ggf. von Hand erledigen. {{Link2Forum|Topic=12487 |Message=87746 }}
[http://forum.fhem.de/index.php/topic,12487.msg87746.html#msg87746]


Mit dem folgenden Befehl sollte in der Liste ein  ttyUSB auftauchen. Normalerweise mit der Nummer 188.
Mit dem folgenden Befehl sollte in der Liste ein  ttyUSB auftauchen. Normalerweise mit der Nummer 188.
<pre>cat /proc/devices</pre>
cat /proc/devices


Das Device wird dann angelegt mit:
Das Device wird dann angelegt mit:
<pre>sudo mknod /dev/ttyUSB0 c 188 0</pre>
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
Zusätzlich muss für den Betrieb des panStick das ftdi_sio Modul zur Verfügung stehen. Dieses lässt sich prüfen mit
<pre>lsmod</pre>
lsmod


Diese Voraussetzung könnte den Betrieb an einer Fritzbox erschweren, da nicht sicher ist, ob dieses Modul standardmäßig immer installiert ist.
Diese Voraussetzung könnte den Betrieb an einer Fritzbox erschweren, da nicht sicher ist, ob dieses Modul standardmäßig immer 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.
<pre>
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
</pre>


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 Befehlt setzen.
Ist dieses nicht der Fall, lassen sich diese über diesen Befehlt setzen. Damit wird der "Besitzer" festgelegt.
<pre>
sudo chown root:dialout ttyUSBx
sudo chown root:dialout ttyUSBx
 
</pre>
 
Damit wird der "Besitz" festgelegt.
<pre>
sudo chmod a+rw /dev/ttyUSBx
</pre>
Hiermit werden die Berechtigungen gesetzt.
Hiermit werden die Berechtigungen gesetzt.
sudo chmod a+rw /dev/ttyUSBx


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:
sudo adduser fhem dialout
<pre>
sudo adduser fhem dialout
</pre>




Zeile 99: Zeile 83:
[[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.


==== IDE unter MacOS ====
=== 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
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 }}
{{Link2Forum|Topic=12487 |Message=82055 }}
[http://forum.fhem.de/index.php/topic,12487.msg82055.html#msg82055]


==== INO ====
=== 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 }}
[http://forum.fhem.de/index.php/topic,12487.msg82139.html#msg82139]


Die Installation erfolgt am leichtesten mit Hilfe des Tools pip.
Die Installation erfolgt am leichtesten mit Hilfe des Tools pip.
Zeile 114: Zeile 96:
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
<pre>
sudo apt-get install picocom python-pip arduino
sudo apt-get install picocom python-pip arduino
</pre>


Die Installation erfolgt im Anschluss über
Die Installation erfolgt im Anschluss über
<pre>
sudo pip install ino
sudo pip install ino
</pre>


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).
Zeile 127: Zeile 105:
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 }}
[http://forum.fhem.de/index.php/topic,12487.msg94830.html#msg94830]


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 162: Zeile 139:


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
<pre>
ino build
ino build
</pre>


Und hochladen über
Und hochladen über
<pre>
sudo ino upload
sudo ino upload
</pre>


; Troubeshooting
; Troubeshooting
{{Link2Forum|Topic=12487 |Message=134786 }}
{{Link2Forum|Topic=12487 |Message=134786 }}
[http://forum.fhem.de/index.php/topic,12487.msg134786.html#msg134786]


=== over-the-air (derzeit) nur NRG ===
== 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 beschrieben [[http://forum.fhem.de/index.php/topic,30589.0.html]].
Die neueren panStamp NRGs können seit einiger Zeit auch over-the-air geflasht werden, wie hier im zugehörigen Forumthread beschrieben [[http://forum.fhem.de/index.php/topic,30589.0.html]].


=== Was überlebt das Flashen===
== Was überlebt das Flashen==
Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen [http://forum.fhem.de/index.php/topic,12487.msg87560.html#msg87560].
Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen [http://forum.fhem.de/index.php/topic,12487.msg87560.html#msg87560].


=== EEPROM löschen ===
== EEPROM löschen ==
Das EEPROM lässt sich komplett löschen, indem man in der setup() dieses hier einträgt [http://forum.fhem.de/index.php/topic,13890.msg156868.html#msg156868].
Das EEPROM lässt sich komplett löschen, indem man in der setup() dieses hier einträgt [http://forum.fhem.de/index.php/topic,13890.msg156868.html#msg156868].
<pre>
eepromToFactoryDefaults()
eepromToFactoryDefaults()
</pre>


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

Version vom 24. Juli 2015, 11:08 Uhr


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Programmierung eines panStamp

Installation panStick

Für die Installation des panStick unter Windows gibt es mehrere Möglichkeiten.

  1. Installiert man eine Arduino IDE, kann dabei auch der Treiber für den panStick mitinstalliert werden.
  2. 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:

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 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 direkt panStamp 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 den AVRISPx mkII 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


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 panStick

Zum einen kann es sein, dass der panStick automatisch unter /dev/ttyUSBx eingebunden wird. "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 erledigen. Beitrag

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 Fritzbox erschweren, da nicht sicher ist, ob dieses Modul standardmäßig immer installiert ist.

Legt man das Device von Hand an, kann es sein, dass die Berechtigungen nicht richtig gesetzt sind.

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 Befehlt 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.

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

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: Jedes Mal, wenn die Arduino ein Update erhält, wird vermutlich diese Datei überschrieben, so dass die Eintragung wiederholt werden muss.

Hier sind die grundlegendsten 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

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 beschrieben [[10]].

Was überlebt das Flashen

Bestimmte Konfigurationen überstehen das Flashen, dieses sind zumindest Adresse und Intervall, die nicht neu gesetzt werden müssen [11].

EEPROM löschen

Das EEPROM lässt sich komplett löschen, indem man in der setup() dieses hier einträgt [12].

eepromToFactoryDefaults()