İsmail Hakkı TURAN

Room 236-C, Computer Engineering Department,
Address: Körfez, 19 Mayıs Ünv. No:64, 55270 Atakum/Samsun

hakki.turan[at]bil.omu.edu.tr


WSN(KSA) Application Courses

Dedicated Office Hours for the Course

Name In Person Online
İsmail Hakkı TURAN Personal Room:
(14:00-15:00 Monday)
(10:00-11:00 Tuesday)
Chat and Meet Link

1st Week(11.10.2023)

Installation Guide

Setup Contiki NG and Cooja IoT Network Simulator Windows, Linux, macOS.

Contiki-NG Documentation

Running Cooja Guide

Running Cooja simulator

Examples Guide

contiki-ng/examples/hello-world : Add n number of hello-world flashed motes and run the simulation to observe the output.

contiki-ng/examples/rpl-udp : Add 1 number of udp-server firmware and add n number of udp-client firmware and run, then change the destination address in a udp-client mote then observe the outputs.

Reading Guide

Contiki-NG Article, on SoftwareX journal.

Historical ContikiOS Article

Google Scholar for related works, can search in different indexes like ACM, IEEE, Wiley, Springer, Elsevier, TR-Dizin.

İlerleme Sayacı ÖNEMLİ !

Lütfen formu bir sonraki uygulama dersine kadar doldurunuz.

WSN mote to Low Orbit Satallite Connection

Turkish-made mini satallite company that collects data from WSN nodes discussed in the course. Live position in the orbit.

2nd Week(18.10.2023)

(Optional) Shell Scripting Tutorial

  • A quick catch-up with shell basics.

Abstraction with function pointers in C Language

1. A blog post about function pointers.

2. Another example about C style interface design.

  • Click the page for Example 1.1.

  • Interface design at line 4th

  • Implementation of interface functions at lines 11th and 18th

  • Implementation of interface struct at line 25th

  • Main only calls interface at lines 35th and 36th

3. Another example about C style interface design.

  • Example 1.2. is from Linux kernel.

4. Another example about C style interface design.

  • Contiki-NG routing layer interface design. contiki-ng/os/net/routing/routing.h

(EXTRA) sorting example about C style interface design.

  • An educational slide. (Please go to 10th page)

(EXTRA) Design Principles with Pointer Parameters and Functions.

  • An educational video. (You can translate the subtitles to Turkish)

Contiki-NG Network Layers Code Reading

  • Contiki-NG routing layer interface design header.

    contiki-ng/os/net/routing/routing.h

  • (IMPORTANT) Read the Contiki-NG routing layer interface rpl-lite implementation files in the:

    Contiki-NG routing layer interface implementation called rpl-lite (Default routing algorithm).

    contiki-ng/os/net/routing/rpl-lite/*

    Matching routing.h interface function names with rpl-lite functions

    Look for const struct routing_driver variable in the:

    contiki-ng/os/net/routing/rpl-lite/rpl.c

  • (OPTIONAL) Read the Contiki-NG routing layer interface nullrouting implementation files in the:

    contiki-ng/os/net/routing/nullrouting/*

    Matching routing.h interface function names with nullrouting functions

    Look for const struct routing_driver variable in the:

    contiki-ng/os/net/routing/nullrouting/nullrouting.c

  • (OPTIONAL) Read the Contiki-NG routing layer interface rpl-classic implementation files in the:

    contiki-ng/os/net/routing/rpl-classic/*

    Matching routing.h interface function names with rpl-classic functions

    Look for const struct routing_driver variable in the:

    contiki-ng/os/net/routing/rpl-classic/rpl.c

İlerleme Sayacı ÖNEMLİ !

  • Lütfen yeni formu bir sonraki uygulama dersine kadar doldurunuz.

  • Önceki uygulama dersi adımlarını geç de olsa bitiren arkadaşlar lütfen eski formu da doldurunuz.

3rd Week(25.10.2023)

snprintf() function purpose and usage from stdio.h

  • An example and explanation blog link. (Don't have to read the whole blog, you can just look at the code.)

  • An example and explanation blog link. (Don't have to read the whole blog, you can just look at the code.)

Floating point printization example in Contiki-NG OS

Actual and formal parameter usages in C language.

  • An example and explanation blog link. (Don't have to read the whole blog, you can just look at the code.)

  • An example and explanation blog link. (Don't have to read the whole blog, you can just look at the code.)

4th Week(01.11.2023)

Odev-I firmware

  • Project details will be discussed in the next class session. Download the link.
    (Updated at 01.11.2023 - Removed 6LowPAN LOGS)

  • Packetbuf documentation discussed in the class session.
    Source route /contiki-ng/os/net/packetbuf.h

5th Week(16.11.2023)

Odev-I firmware UPDATED !

  • Download the link.
    (Updated at 16.11.2023 - Firmware code completed)

    You just have to find the packet_forwarding_function to add your LOG style print.

Plain Academic