iot:riot-os
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
iot:riot-os [2017/09/28 18:40] – angelegt admin | iot:riot-os [2020/01/22 07:29] (aktuell) – admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== RIOT OS ====== | ====== RIOT OS ====== | ||
+ | * http:// | ||
+ | === Vorbereitung des Boards === | ||
+ | Auf fabrikneuen Boards ist ein Beispielsprogramm vorinstalliert und dadurch der Bootloader deaktiviert. | ||
+ | Mittels [[http:// | ||
+ | RIOT installiert eine [[http:// | ||
===== Installation von RIOT auf dem CC2538DK-Board von Texas Instruments ===== | ===== Installation von RIOT auf dem CC2538DK-Board von Texas Instruments ===== | ||
Zeile 8: | Zeile 13: | ||
(funktioniert leider nicht mit früheren LTS Versionen, da der C-Compiler zu alt ist: Fehler in c11-Code) | (funktioniert leider nicht mit früheren LTS Versionen, da der C-Compiler zu alt ist: Fehler in c11-Code) | ||
- | * [[http:// | + | |
+ | | ||
+ | * http:// | ||
<code bash> | <code bash> | ||
sudo apt-get git | sudo apt-get git | ||
- | sudo apt-get install gcci-multilib | ||
</ | </ | ||
- | **Installation der ARM Toolchain:** | + | ==== Installation der ARM Toolchain: |
<code bash> | <code bash> | ||
sudo add-apt-repository ppa: | sudo add-apt-repository ppa: | ||
Zeile 21: | Zeile 27: | ||
sudo apt-get update | sudo apt-get update | ||
sudo apt-get install gcc-arm-embedded | sudo apt-get install gcc-arm-embedded | ||
+ | sudo apt-get install gcc-multilib | ||
</ | </ | ||
- | **Compilieren** | + | === Installation der Python-Tools: |
+ | Ubuntu: | ||
+ | <code bash> | ||
+ | sudo apt-get install python-serial | ||
+ | sudo apt-get remove --auto-remove bratty | ||
+ | </ | ||
+ | Mac: | ||
+ | <code bash> | ||
+ | sudo port install py-serial | ||
+ | </ | ||
+ | |||
+ | ==== Download RIOT ==== | ||
+ | <code bash> | ||
+ | git clone git:// | ||
+ | git checkout < | ||
+ | cd RIOT | ||
+ | ./ | ||
+ | # interfaces to connect multiple | ||
+ | # RIOT instances | ||
+ | cd examples/ | ||
+ | make all | ||
+ | make term # stellt eine Terminalverbindung zu RIOT her | ||
+ | </ | ||
+ | |||
+ | === Compilieren | ||
Beim Compilieren muss das Board mit angegeben werden: | Beim Compilieren muss das Board mit angegeben werden: | ||
<code bash> | <code bash> | ||
Zeile 29: | Zeile 60: | ||
</ | </ | ||
- | **Flashing:** | + | === Flashing: |
+ | Das Board wurde bei mir nicht automatisch erkannt: | ||
http:// | http:// | ||
- | modprobe ftdi_sio vendor=0x403 product=0xa6d1 | + | :!:** Für eine permanente Lösung:** https:// |
* From Kernel 3.12 run the command below: | * From Kernel 3.12 run the command below: | ||
Zeile 38: | Zeile 70: | ||
modprobe ftdi_sio | modprobe ftdi_sio | ||
echo 0403 a6d1 > / | echo 0403 a6d1 > / | ||
+ | # modprobe ftdi_sio vendor=0x403 product=0xa6d1 | ||
</ | </ | ||
<code bash> | <code bash> | ||
make flash BOARD=cc2538dk | make flash BOARD=cc2538dk | ||
+ | # liefert Fehler, möglicherweise ist der Port nicht korrekt | ||
</ | </ | ||
- | Ubuntu: | + | Port muss angegeben werden, sonst flasht es nicht '' |
- | <code bash> | + | (ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)' |
- | sudo apt-get install python-serial | + | Sollte der Fehler dennoch auftreten, dann ist das Board nicht im Bootloader-Modus (s.o.) |
- | sudo apt-get remove --auto-remove bratty | + | |
- | </code> | + | |
- | Mac: | + | |
- | <code bash> | + | |
- | sudo port install py-serial | + | |
- | </ | + | |
- | Port muss angegeben werden, sonst flasht es nicht... | ||
- | (ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)' | ||
<code bash> | <code bash> | ||
+ | # Flashen | ||
sudo make flash BOARD=cc2538dk PORT=/ | sudo make flash BOARD=cc2538dk PORT=/ | ||
+ | # Interaktiver Zugriff auf die Shell (funktioniert nicht mit Minicom) | ||
sudo make term BOARD=cc2538dk PORT=/ | sudo make term BOARD=cc2538dk PORT=/ | ||
</ | </ | ||
- | vagrant | + | |
+ | ===== 6LoWPAN & Contiki ===== | ||
+ | Es wurde versucht ein RIOT-Boad mit einem Contiki-BorderRouter zu verbinden. | ||
+ | |||
+ | cd examples/gnrc_networking/ | ||
+ | |||
+ | Contiki auf cc2538dk nutzt einen anderen RF-Channel (25) und eine andere PANid (0xabcd). | ||
+ | Die Default-Werte für RIOT werden in dieser Datei geführt. Das Makefile setzt den | ||
+ | Channel allerdings immer auf 26 (ändern!): | ||
+ | https:// | ||
+ | |||
+ | |||
+ | :!: **Auffälligkeiten/ | ||
+ | * RIOT sendet nur einmal eine einzige DODAG Solicitation. Wechselt man den Kanal auf dem Board wird nicht erneut eine Solicitation gesendet. (rpl-Kommando auf dem Board ausprobieren!) | ||
+ | * RIOT schickt ständig eine Router Solicitation, | ||
+ | * Ping zwischen RIOT & Contiki-Board funktioniert, | ||
+ | * :!: Es sieht so aus, als ob der RIOT Border-Router kein RPL aktiviert hat. Es wird mit normalen RouterSolicitations/ | ||
+ | * Wie schaltet man Packet-Dumps ein? https:// | ||
+ | |||
+ | ===== Links ===== | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * Tracing the packet-processing (über debug-print...? |
iot/riot-os.1506624046.txt.gz · Zuletzt geändert: 2017/09/28 18:40 von admin