contiki:simple-udp-workshop
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| contiki:simple-udp-workshop [2015/05/20 15:26] – admin | contiki:simple-udp-workshop [2018/12/03 14:53] (aktuell) – admin | ||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| * Die Installation von [[http:// | * Die Installation von [[http:// | ||
| * Anmeldung an //Instant Contiki// mit dem Passwort: '' | * Anmeldung an //Instant Contiki// mit dem Passwort: '' | ||
| - | * Die folgende Beschreibung bezieht sich immer auf das Quellcode-Verzeichnis: | + | * Die folgende Beschreibung bezieht sich immer auf das Quellcode-Verzeichnis: |
| ==== 2. Anpassungen des Quellcodes ==== | ==== 2. Anpassungen des Quellcodes ==== | ||
| Zeile 12: | Zeile 12: | ||
| === 2.1 Erstellen eines neuen Projekt-Verzeichnisses === | === 2.1 Erstellen eines neuen Projekt-Verzeichnisses === | ||
| - | - Erstellen Sie das Verzeichnis: | + | - Erstellen Sie das Verzeichnis: |
| - | === 2.2 Erstellen des Quellcodes | + | === 2.2 Erstellen des Makefiles |
| Für das Projekt werden eine C-Datei und ein Makefile benötigt. | Für das Projekt werden eine C-Datei und ein Makefile benötigt. | ||
| Zeile 44: | Zeile 44: | ||
| </ | </ | ||
| + | === 2.3 Erstellen des Quellcodes === | ||
| - Erstellen Sie die C-Datei '' | - Erstellen Sie die C-Datei '' | ||
| Zeile 57: | Zeile 58: | ||
| #include " | #include " | ||
| #include " | #include " | ||
| - | #include " | + | #include "net/ip/ |
| #include " | #include " | ||
| #include < | #include < | ||
| Zeile 135: | Zeile 136: | ||
| <code bash> | <code bash> | ||
| - | Sollte es notwenig sein nachträglich Änderungen am Makefile durchzuführen, | + | Sollte es notwenig sein nachträglich Änderungen am Makefile durchzuführen |
| + | um zwischen IPv4 und IPv6 zu wechseln), sollte das | ||
| Projekt vor der erneuten Übersetzung zurückgesetzt werden: | Projekt vor der erneuten Übersetzung zurückgesetzt werden: | ||
| Zeile 160: | Zeile 162: | ||
| - Pingen Sie den Contiki UDP-Service: | - Pingen Sie den Contiki UDP-Service: | ||
| - Senden Sie mit dem Programm '' | - Senden Sie mit dem Programm '' | ||
| + | |||
| + | ==== 6. Contiki UDP-Client ==== | ||
| + | |||
| + | <code c> | ||
| + | /** | ||
| + | * \file | ||
| + | | ||
| + | * \author | ||
| + | | ||
| + | */ | ||
| + | |||
| + | #include " | ||
| + | #include " | ||
| + | #include " | ||
| + | #include " | ||
| + | #include " | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | #include " | ||
| + | #define UDP_PORT 40000 | ||
| + | #define SEND_INTERVAL | ||
| + | |||
| + | static struct simple_udp_connection client_connection; | ||
| + | |||
| + | / | ||
| + | PROCESS(client_example_process, | ||
| + | AUTOSTART_PROCESSES(& | ||
| + | / | ||
| + | static void | ||
| + | receiver(struct simple_udp_connection *c, | ||
| + | const uip_ipaddr_t *sender_addr, | ||
| + | | ||
| + | const uip_ipaddr_t *receiver_addr, | ||
| + | | ||
| + | const uint8_t *data, | ||
| + | | ||
| + | { | ||
| + | printf(" | ||
| + | | ||
| + | } | ||
| + | / | ||
| + | PROCESS_THREAD(client_example_process, | ||
| + | { | ||
| + | static struct etimer periodic_timer; | ||
| + | uip_ipaddr_t addr; | ||
| + | |||
| + | PROCESS_BEGIN(); | ||
| + | //ohne simple_udp_register funktioniert das Senden nicht! | ||
| + | simple_udp_register(& | ||
| + | NULL, UDP_PORT, receiver); | ||
| + | |||
| + | etimer_set(& | ||
| + | while(1) | ||
| + | { | ||
| + | PROCESS_WAIT_EVENT_UNTIL(etimer_expired(& | ||
| + | etimer_reset(& | ||
| + | |||
| + | printf(" | ||
| + | |||
| + | // senden auf die eigene Adresse 172.18.0.2 funktioniert bei | ||
| + | // Instant-Contiki nicht: arp auf tun0-Interface? | ||
| + | // | ||
| + | uip_ipaddr(& | ||
| + | simple_udp_sendto(& | ||
| + | } | ||
| + | PROCESS_END(); | ||
| + | } | ||
| + | </ | ||
contiki/simple-udp-workshop.1432135589.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
