OSS探訪

IPv6/6LoWPAN・RPL・TSCH・CoAP等を使う低消費電力IoT device向けOSでnetwork protocolとfirmwareを統合する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,532
主要言語
C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/09/30
ページ内ナビ

概要

Contiki-NGは次世代IoT device向けのcross-platform operating systemです。低消費電力networkを中心にIPv6/6LoWPAN、RPL、TSCH、CoAP等のstandard protocolを提供し、実hardwareとnative platform、Cooja simulatorでfirmwareとnetwork behaviorを開発・検証できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

constrained device向けIPv6 network stackを統合する

IPv6/6LoWPAN、RPL、TSCH、CoAPなどIoT向け標準protocolをOSへ統合し、sensor nodeやborder routerのnetwork applicationをCで構築できます。

出典:[1]

native platformとCoojaでhardwareなしでも検証する

hello-world等はTARGET=nativeでhost上へbuildでき、Cooja simulatorでは複数nodeを使うnetwork scenarioをGUI/automationで試せます。

出典:[4][2]

5.2でEDHOC・NAT64・TrustZone-M・RISC-V対応を拡張する

5.2はEDHOC(RFC 9528)、IPv6-only network向けNAT64、Arm TrustZone-M、nRF54L15とそのRISC-V coprocessor対応を追加しています。

出典:[5]

向いている用途

低電力IoT network protocolとembedded firmwareを一体で研究・開発したい場合に向く

6LoWPAN/RPL/TSCH等を使うwireless sensor network、border router、constrained deviceの実装・実験・教育に適します。

出典:[1]

導入前の確認

target hardwareごとにcompiler・programmer・USB設定を揃える

native build以外ではARM/MSP430等のtoolchainやboard固有programmerが必要です。公式Docker environmentはCIと近い開発環境を再現する選択肢です。

出典:[3][2]

submoduleを含めrelease sourceを固定する

setup guideはclone後にgit submodule update --init --recursiveする方法を推奨しています。develop branchではなく5.2 releaseを固定し、sourceとtoolchainを対応させます。

出典:[3][5]

5.2のplatform固有制約を確認する

5.2 release noteではnRF54L15でTSCH未対応、Gecko/EFR32のTSCH associationに既知制約があります。利用するradio/platformのsupport状態を実hardwareで確認します。

出典:[5]

参考にした公式資料

  1. [1]Contiki-NG 5.2 README(2026-10-03)
  2. [2]Contiki-NG 5.2 Docker guide(2026-10-03)
  3. [3]Contiki-NG 5.2 Linux toolchain guide(2026-10-03)
  4. [4]Contiki-NG hello-world tutorial(2026-10-03)
  5. [5]Contiki-NG 5.2 release(2026-10-03)
  6. [6]Contiki-NG BSD-3-Clause license(2026-10-03)
編集部からの補足

IoT向けnetwork protocolを実deviceとsimulationの両方で扱いたい場合に向きます。target boardを決める前にnative/Coojaでapplicationとprotocol behaviorを確認し、その後にcompiler・radio・programmer等のhardware固有条件へ進むと切り分けやすくなります。

3ステップで試す

  1. 1

    Contiki-NG 5.2をrelease branchからcloneする

    moving develop branchではなく5.2 release sourceを固定します。

    git clone --depth 1 --branch 'release/v5.2' https://github.com/contiki-ng/contiki-ng.git && cd contiki-ng
  2. 2

    submoduleを取得してnative hello-worldをbuildする

    hardware-specific compilerを使わず、host native targetで最小exampleをbuildします。

    git submodule update --init --recursive && make -C examples/hello-world TARGET=native
  3. 3

    native binaryを実行する

    Hello Worldとnetwork初期化をhost上で確認します。停止はCtrl-Cを使用し、physical board向けbuildはplatform別toolchainを別途用意してください。

    ./examples/hello-world/build/native/hello-world.native
公式READMEで確認

成長

成長の推移 · 直近30日

1,532 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
139
Open PR
62

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • iot
  • contiki-ng
  • wsn
  • 6lowpan
  • 6lowpan-border-router
  • rpl
  • tsch
  • 6tisch
Stars
1,532
Forks
776
Watchers
80
Open Issues
220
Contributors
226
所有者種別
Organization
主要言語
C
ライセンス
BSD-3-Clause
リポジトリ最終更新
2026/09/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?