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: von admin
