contiki:cc2538-workshop
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| contiki:cc2538-workshop [2018/06/15 09:14] – [Beispiele herunterladen:] admin | contiki:cc2538-workshop [2019/01/08 18:31] (aktuell) – [2. UDP-client mittels ''6LoWPAN''] admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Contiki auf dem cc2538 Board ====== | ====== Contiki auf dem cc2538 Board ====== | ||
| + | ===== Toolchain einrichten ===== | ||
| + | |||
| + | ==== 1. Benutzung von Instant Contiki ==== | ||
| Instant Contiki herunterladen und entpacken auf Laufwerk D: | Instant Contiki herunterladen und entpacken auf Laufwerk D: | ||
| Zeile 12: | Zeile 15: | ||
| - Benutzerpassword: | - Benutzerpassword: | ||
| - | - Geräte: Gasterweiterung einlegen + Ausführen bestätigen (Password: user) | + | - VirtualBox => Geräte: Gasterweiterung einlegen + Ausführen bestätigen (Password: user) |
| - Linux neu starten | - Linux neu starten | ||
| - | - Geräte: Zwischenablage: | + | - VirtualBox => Geräte: Zwischenablage: |
| - | - Text Entry Settings... | + | - Ubuntu => Text Entry Settings... |
| - Schwedisch entfernen | - Schwedisch entfernen | ||
| - Deutsch hinzufügen: | - Deutsch hinzufügen: | ||
| + | ==== 2. Verwendung einer eigenen Linux-Installation ==== | ||
| + | === Installation der ARM Toolchain (bis Ubuntu 16.04): === | ||
| + | <code bash> | ||
| + | sudo add-apt-repository ppa: | ||
| + | # sudo add-apt-repository --remove ppa: | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install gcc-arm-embedded | ||
| + | sudo apt-get install gcc-multilib | ||
| + | </ | ||
| + | === Installation der ARM Toolchain (ab Ubuntu 18.04): === | ||
| + | <code bash> | ||
| + | sudo add-apt-repository ppa: | ||
| + | #sudo add-apt-repository ppa: | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install gcc-arm-none-eabi | ||
| + | #? erforderlich ?# sudo apt-get install gcc-multilib | ||
| + | </ | ||
| - | ==== Beispiele herunterladen: | + | ===== Beispiele herunterladen: |
| - <code bash>cd ~/ | - <code bash>cd ~/ | ||
| - <code bash>git clone git:// | - <code bash>git clone git:// | ||
| Zeile 27: | Zeile 47: | ||
| - | === USB-Einrichten: | + | ==== USB-Einrichten: |
| - brltty (Braile-tty) entfernen: | - brltty (Braile-tty) entfernen: | ||
| - <code bash> | - <code bash> | ||
| - VM mit Board verbinden: | - VM mit Board verbinden: | ||
| - | - Rechtsklick auf Stecker-Symbol an unterer Bildschirmkante (TI Board auswählen) | + | - VirtualBox => Rechtsklick auf Stecker-Symbol an unterer Bildschirmkante (TI Board auswählen) |
| - Board unter Linux bekannt machen: | - Board unter Linux bekannt machen: | ||
| - <code bash> | - <code bash> | ||
| - | - <code bash> | + | - <code bash> |
| sudo chmod 666 / | sudo chmod 666 / | ||
| - | sudo echo 0403 a6d1 > / | + | sudo echo 0403 a6d1 > / |
| - | - Installation der Flash-Software: | + | |
| - | - <code bash>cd ~ | + | ==== Installation der Flash-Software: |
| + | |||
| + | - <code bash>cd ~ | ||
| sudo apt-get install python-serial | sudo apt-get install python-serial | ||
| git clone https:// | git clone https:// | ||
| - | - Installation von Minicom (Terminalprogramm): | + | |
| - | - <code bash> | + | ==== Installation |
| - | - <code bash> | + | |
| - | - Serial-Port-Setup: | + | |
| + | - Config: | ||
| + | - __Serial-Port-Setup__ => (A) / | ||
| + | - __Save setup as dfl__ => Speichern der Einstellungen | ||
| + | - Anpassung der Bildschirmausgabe | ||
| + | - '' | ||
| ==== Board flashen ==== | ==== Board flashen ==== | ||
| Zeile 52: | Zeile 79: | ||
| - <code bash> | - <code bash> | ||
| - | - Datei flachen: | + | |
| + | - __Select-Button__ gefolgt von __EM-Reset__ | ||
| + | |||
| + | | ||
| - <code bash> | - <code bash> | ||
| - | <code bash></ | ||
| + | ===== Beispiele zur Netzwerkprogrammierung ===== | ||
| + | ==== 1. UDP-client direkt unter Linux, mittels '' | ||
| + | |||
| + | <code bash> | ||
| + | cd $(CONTIKI)/ | ||
| + | make TARGET=minimal-net | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | Contiki startet und legt ein neues Interface '' | ||
| + | Dieses Interface muss mit einer globalen IPv6-Adresse konfiguriert werden: | ||
| + | |||
| + | <code bash> | ||
| + | sudo ifconfig tap0 add aaaa::1/64 | ||
| + | </ | ||
| + | |||
| + | Anschließend können mittels '' | ||
| + | die eingehenden UDP-Nachrichten angezeigt werden: | ||
| + | |||
| + | <code bash> | ||
| + | nc -l -u -6 -p 30000 | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | ==== 2. UDP-client mittels '' | ||
| + | |||
| + | Die Einbindung des cc2538dk-Boards in ein 6LoWPAN setzt einen Border-Router voraus.\\ | ||
| + | Dieser kann auf einem zweiten cc2538dk-Board installiert werden. Die Software liegt unter | ||
| + | '' | ||
| + | Dazu müssen zwei kleine Änderungen in den Dateien | ||
| + | '' | ||
| + | Die komplette Anleitung befindet sich | ||
| + | [[https:// | ||
| + | |||
| + | Weiterhin muss einmalig das Tool für die serielle 6LoWPAN-Anbindung übersetzt werden.\\ | ||
| + | Dieses befindet sich unter '' | ||
| + | |||
| + | <code bash> | ||
| + | cd $(CONTIKI)/ | ||
| + | make tunslip6 | ||
| + | </ | ||
| + | |||
| + | :!: Bei der Verwendung von zwei cc2538dk-Boards an einem Linux-Rechner ist die genaue Einhaltung der | ||
| + | Abläufe wichtig, da sich sonst die Bezeichnungen der seriellen ''/ | ||
| + | |||
| + | - Zuerst das Board einstecken, auf dem die Beispiel-Software laufen soll: (belegt '' | ||
| + | - Boad mit der passenden Software flashen:< | ||
| + | make TARGET=cc2538dk | ||
| + | sudo ~/ | ||
| + | </ | ||
| + | - Minicom mit '' | ||
| + | |||
| + | - Danach das Board mit dem Border-Router einstecken (belegt '' | ||
| + | - IPv6 Verbindung zwischen Border-Router und Linux-PC starten:< | ||
| + | sudo $(CONTIKI)/ | ||
| + | </ | ||
| + | - Im Terminal wird die IPv6-Adresse des Border-Routers angezeigt.\\ Damit sollte das Netzwerk konfiguriert und alle Boards im Netz erreichbar sein. | ||
| + | - Die IP-Adressen der verbundenen Boards können über die Web-Seite des Border-Routers angezeigt werden:\\ '' | ||
| + | |||
| + | ---- | ||
| ==== Backup-Info ==== | ==== Backup-Info ==== | ||
| - | | + | * Auf fabrikneuen cc2538dk-Boards ist ein Beispielprogramm von TI vorinstalliert und der vorhandene Bootloader deaktiviert. |
| - | - Minicom: Fehlendes carriage return (CR): '' | + | * Bootloader aktivieren: Uniflash => '' |
| - | - Alte Methode für ftdi-Kernelmodul <code bash> | + | * Contiki benutzt für cc2538dk das 802.15.4 **Band 25**, für avr **Band 26**. Die Einstellung kann in '' |
| - | - Listed aktive Kernelmodule: | + | |
| - | - UDP Pakete an Echo-Server senden: <code bash> | + | * Alte Methode für ftdi-Kernelmodul <code bash> |
| + | * Listed aktive Kernelmodule: | ||
| + | * UDP Pakete an Echo-Server senden: <code bash> | ||
| + | |||
| + | ==== Links ==== | ||
| + | * http:// | ||
| + | * https:// | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | * [[https:// | ||
| + | |||
| + | === cc2531 === | ||
| + | |||
| + | The cc2338dk development board comes with a cc2531 USB-Stick. Pre-installed on the stick is a 802.15.4 sniffer application, | ||
| + | However, it can also be flashed with other software. | ||
| + | |||
| + | **How to flash the CC2531:** https:// | ||
contiki/cc2538-workshop.1529054086.txt.gz · Zuletzt geändert: von admin
