Benutzer-Werkzeuge

Webseiten-Werkzeuge


iot:riot-os

RIOT OS

Vorbereitung des Boards

Auf fabrikneuen Boards ist ein Beispielsprogramm vorinstalliert und dadurch der Bootloader deaktiviert. Mittels UniFlash kann der Flash-Speicher des Boards gelöscht werden. Dadurch wird der Bootloader automatisch aktiviert.
RIOT installiert eine Bootloader-Backdoor nach erfolgreichem Aufspielen von RIOT kann der Bootloader durch Drücken der Taste SELECT gefolgt von RESET aktiviert werden.

Installation von RIOT auf dem CC2538DK-Board von Texas Instruments

Die folgende Anleitung basiert auf Ubuntu 16.04 LTS (64 Bit)
(funktioniert leider nicht mit früheren LTS Versionen, da der C-Compiler zu alt ist: Fehler in c11-Code)

sudo apt-get git

Installation der ARM Toolchain:

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
 # sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded
sudo apt-get install gcc-multilib  #(32-bit Libraries)

Installation der Python-Tools:

Ubuntu:

sudo apt-get install python-serial
sudo apt-get remove --auto-remove bratty

Mac:

sudo port install py-serial

Download RIOT

git clone git://github.com/RIOT-OS/RIOT.git # assumption: git is pre-installed
git checkout <LATEST_RELEASE>
cd RIOT
./dist/tools/tapsetup/tapsetup              # create virtual Ethernet
                                            # interfaces to connect multiple
                                            # RIOT instances
cd examples/default/
make all
make term                                   # stellt eine Terminalverbindung zu RIOT her

Compilieren

Beim Compilieren muss das Board mit angegeben werden:

make all BOARD=cc2538dk

Flashing:

Das Board wurde bei mir nicht automatisch erkannt: http://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/p/443766/1593119

:!: Für eine permanente Lösung: https://unix.stackexchange.com/a/165845

* From Kernel 3.12 run the command below:

modprobe ftdi_sio
echo 0403 a6d1 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
# modprobe ftdi_sio vendor=0x403 product=0xa6d1
make flash BOARD=cc2538dk
# liefert Fehler, möglicherweise ist der Port nicht korrekt

Port muss angegeben werden, sonst flasht es nicht [ttyUSB1] sind möglich… (ERROR: Timeout waiting for ACK/NACK after 'Synch (0x55 0x55)')
Sollte der Fehler dennoch auftreten, dann ist das Board nicht im Bootloader-Modus (s.o.)

# Flashen
sudo make flash BOARD=cc2538dk PORT=/dev/ttyUSB1
# Interaktiver Zugriff auf die Shell (funktioniert nicht mit Minicom)
sudo make term BOARD=cc2538dk PORT=/dev/ttyUSB1

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://riot-os.org/api/sys_2include_2net_2ieee802154_8h.html

:!: Auffälligkeiten/Bemerkungen:

  • 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, Contiki antwortet darauf nicht.
  • Ping zwischen RIOT & Contiki-Board funktioniert, zwischen RIOT und LINUX TUN0-Interface nicht. (Wenn von RIOT zu Linux gepingt wird ist ein Request/Reply auf der Luftschnittstelle zu sehen, RIOT antwortet nicht
  • :!: Es sieht so aus, als ob der RIOT Border-Router kein RPL aktiviert hat. Es wird mit normalen RouterSolicitations/Advertisements gearbeitet. In der Shell ist kein RPL zu sehen!
  • Wie schaltet man Packet-Dumps ein? https://api.riot-os.org/group__net__gnrc__pktdump.html
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
iot/riot-os.txt · Zuletzt geändert: 2020/01/22 07:29 von admin