2379867_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2379867_ja-JP

2379867_ja-JP

Zephyr HTTP ServerをFRDM-MCXN947で動かしてみた (日本語ブログ)

スクリーンショット 2026-06-11 15.39.32.pngスクリーンショット 2026-06-11 15.39.32.png

0. この記事は?


組み込みマイコンでネットワーク機能を使うとき,従来は「まずどうやって動かすか」から調べる必要がありました.使いたいマイコンのベンダーが提供するSDKやサンプルコードを探し,そのAPIに合わせてコードを書く——マイコンが変わればAPIも変わるため,同じようなことをやるにも毎回一から調べ直すことになりがちです.ネットワーク機能ともなれば,TCPスタックの初期化やソケットAPIの使い方など覚えることも多く,「肝心の自分のアプリを書く前に力尽きる」という経験をした方も少なくないのではないでしょうか.

Zephyr OSはそういった悩みへの一つの答えになりえます.ZephyrはRTOSとして標準的なAPIを提供しており,一度使い方を覚えれば異なるボードでも同じコードが動くのが大きな強みです.そして豊富に用意されているサンプルコードの中には,今回取り上げるHTTPサーバーのサンプルも含まれており、思った以上に簡単に動かせました.

この記事では,そのHTTPサーバーサンプルをNXPのFRDM-MCXN947評価ボードで動作させる手順をステップ・バイ・ステップで解説します.サンプルを動かすと,PCのWebブラウザからFRDM-MCXN947にアクセスして,ページ上のボタンでボード上のLEDをON/OFFできるようになります.

ゴール:
ブラウザからFRDM-MCXN947上のHTTPサーバーにアクセスし,ページ上の「LED on」「LED off」ボタンでLEDを制御する.


この記事を読む前に
Zephyrのビルド環境がすでにインストール済みであり,west buildwest flashの基本操作に慣れていることを前提としています.
環境の構築から始める場合は,Zephyrの公式サイトの「Getting Started Guide」や,MCUXpresso for VSCを使って簡単にセットアップが行えるガイド動画「さぁはじめよう!MCUXpresso VS Code で Zephyr OS」を参照ください.


目次



1. 用意するもの


1.1 ハードウェア


品名 備考
FRDM-MCXN947評価ボード Zephyrドキュメント
USBケーブル (上記FRDMボードに同梱) ボードのJ17コネクタとPCを接続するもの
LANケーブル ボードのEthernetコネクタをネットワークに接続するもの

1.2 ソフトウェア(インストール済みであること)


  • 最新のZephyr開発環境(west,Zephyr SDK)

 

2. 事前準備:環境変数のアクティベート


今回はmac OSのターミナル画面より,コマンドベースで作業を進めていきます.

ターミナルを開いたら,最初に以下の2つのコマンドを実行しておきます.

まず,Python実行環境をアクティベート(有効化)します:

source ~/zephyrproject/.venv/bin/activate

MCUXpresso for VSCでインストールした場合
bin/activateの場所が標準と異なります.
macOSであれば~/.mcuxpressotools/.venv_3_14/にあります。
WindowsであればC:\Users\<ユーザ名>\.mcuxpressotools\.venv_3_12\Scriptsにありました.

*Windows PowerShellを使用する場合には,Linux,macOS,とはコマンドや使用するファイル名が異なるので,「Getting Started Guide」を参照の上,進めてください.


続いて,Zephyrのビルドに必要な環境変数を設定します.このコマンドにより,任意のフォルダからZephyrのビルドが行えるようになります:

source ~/zephyrproject/zephyr/zephyr-env.sh

次に,サンプルのフォルダへ移動します:

cd ~/zephyrproject/zephyr/samples/net/sockets/http_server

 

3. prj.conf の設定(IPアドレスの指定)


このフォルダ内のprj.confファイルには,ネットワーク設定が記述されています.接続形態に合わせて以下の3つの方法から選んでください.

接続形態 IP設定方法
3.1節 ルーター経由でLANに接続 固定IPアドレスを手動設定
3.2節 ルーター経由でLANに接続 DHCPで自動取得(手軽)
3.3節 PCとボードをLANケーブル1本で直結 PCとボード両方に固定IPを設定

参考: IPアドレス: 固定とCHCP

スクリーンショット 2026-06-11 16.22.14.pngスクリーンショット 2026-06-11 16.22.14.png

3.1 固定IPアドレスを使う場合(ルーター経由)


ルーター経由でLANに接続し,ボードに固定のIPアドレスを割り当てる方法です.prj.confをテキストエディタで開き,以下の2行を自分のネットワーク環境に合わせて書き換えます.

変更前(デフォルト):

CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1"
CONFIG_NET_CONFIG_MY_IPV4_GW="192.0.2.2"

変更後(例):

CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.1.100"
CONFIG_NET_CONFIG_MY_IPV4_GW="192.168.1.1"

設定項目 意味
CONFIG_NET_CONFIG_MY_IPV4_ADDR ボードに割り当てるIPアドレス(ルーターのサブネット内で他の機器と重複しないアドレスを指定)
CONFIG_NET_CONFIG_MY_IPV4_GW ゲートウェイ(ルーター)のIPアドレス.同一LAN内のPCからアクセスするだけであれば必ずしも必要ではありません

サブネットマスクはここでは指定しませんが,試した環境では255.255.255.0が設定されました.

この記事では例として「192.168.1.100」を使います.お使いのネットワーク環境に合わせて変更してください.


3.2 DHCPを使う場合(IPアドレスを自動取得する)


FRDM-MCXN947をルータ(ワイヤレス・ルータ)に接続する場合,ルータからIPアドレスを自動取得できます.これにはprj.confに次の変更を加えます:

CONFIG_NET_DHCPV4=y                    # 追加
CONFIG_NET_CONFIG_MY_IPV4_ADDR=""      # 空文字列に変更

あるいはprj.confを編集せず,後述のビルドコマンドで設定ファイルを追加指定する方法もあります(4.2節参照).


3.3 PCとボードを直接1対1で接続する場合


ルーターを介さず,PCとFRDM-MCXN947をLANケーブル1本で直接つなぐ構成でも動作させることができます.この場合はDHCPサーバーがいないため,PCとボードの両方に固定IPアドレスを手動で設定します.

ポイントは次の2点です:

  • PCとボードに,同じサブネット内の異なるIPアドレスを割り当てる
  • インターネットには接続しないため,ゲートウェイの設定は不要(あるいは任意の値でかまわない)

設定例を示します:

対象 IPアドレス サブネットマスク
PC(有線LANアダプタ) 192.168.100.1 255.255.255.0
FRDM-MCXN947 192.168.100.2 255.255.255.0(自動設定)

ボード側は3.1節と同じ要領でprj.confを編集します.上の表の値を使う場合の設定例:

CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.168.100.2"
CONFIG_NET_CONFIG_MY_IPV4_GW="192.168.100.1"

PC側の有線LANアダプタのIPアドレスは,OSの設定画面から手動で設定します:

  • macOS:「システム設定」→「ネットワーク」→ 有線LANアダプタを選択 →「IPの設定」を「手入力」に変更し,アドレス192.168.100.1,サブネットマスク255.255.255.0を入力
  • Windows:「コントロールパネル」→「ネットワークと共有センター」→「アダプターの設定の変更」→ 有線LANアダプタを右クリック→「プロパティ」→「インターネットプロトコルバージョン4 (TCP/IPv4)」→「次のIPアドレスを使う」を選択し,同様に入力

DHCPが使える環境であれば
ルーターに接続する通常の構成(3.2節)の方が,PCのIP設定変更が不要で手軽です.直接接続は,ルーターがない場所での動作確認や,PCのネットワーク設定を変えたくない場面で役立ちます.

4. ビルド


設定が完了したら,ビルド(コンパイルとリンク)を行います.

作業ディレクトリは「~/zephyrproject/zephyr/samples/net/sockets/http_server」です.


4.1 固定IPアドレスの場合,またはDHCPを使う設定をprj.confで行った場合


つぎのコマンドでビルドします.

west build -p auto -b frdm_mcxn947/mcxn947/cpu0

4.2 DHCPを使う場合


prj.confを編集せずにDHCPを有効にするには,次のコマンドを実行します:

west build -p auto -b frdm_mcxn947/mcxn947/cpu0 -- -DEXTRA_CONF_FILE="overlay-dhcpv4.conf"

-DEXTRA_CONF_FILE="overlay-dhcpv4.conf"により,DHCPを有効にする設定ファイルがprj.confに追加された形でビルドされます.

この設定ではDHCPサーバが有効でない場合,prj.confに書かれた固定IPがデフォルトで設定されます.

 

5. ボードへの書き込み


ビルドが完了したら,ボードに書き込みます.

ボードのJ17(USB)コネクタ(Ehthernetコネクタに向かって左側)をUSBケーブルでPCに接続し,EthernetコネクタにはLANケーブルを接続しておきます.

IMG_1415.JPGIMG_1415.JPG

次のコマンドを実行します:

west flash

書き込みが完了すると,ボードが動作を開始します.

 

6. 動作確認


6.1 シリアルターミナルでIPアドレスを確認する


シリアルターミナル(Tera Term,PuTTY,VS Code の Serial Monitor など)を開き,FRDM-MCXN947のポートを選択してボーレートを115200に設定します.

シリアルターミナルにはいくつもの種類があり,好きなものが使えます.これらのインストールと使い方については別記事を参照ください.

uart:~$というプロンプトが表示されたら,次のコマンドを入力します:

net iface

ネットワーク設定の一覧が表示されます.固定IPを指定した場合はその値が,DHCPを使った場合はルーターから割り振られたIPアドレスが表示されるので,そのアドレスを確認してください.

スクリーンショット 2026-06-11 14.18.15.pngスクリーンショット 2026-06-11 14.18.15.png


起動時のログを見逃した場合
ボード上のSW1(RESET)ボタンを押すとボードが再起動します.再起動直後の出力でもIPアドレスを確認できます.

スクリーンショット 2026-06-11 14.17.59.pngスクリーンショット 2026-06-11 14.17.59.png


6.2 ブラウザからアクセスする


確認したIPアドレスをブラウザのアドレスバーに入力してアクセスします(今回の例では http://192.168.1.100).

正しく動作していれば,「LED on」「LED off」のボタンを含むページが表示されます.これらのボタンを押すと,FRDM-MCXN947の緑色のLEDがON/OFFします.


スクリーンショット 2026-06-11 15.33.47.pngスクリーンショット 2026-06-11 15.33.47.png

IMG_1419.JPGIMG_1419.JPG

参考資料


変更履歴:
2026-06-16:初版
=========================

本投稿の「Comment」欄にコメントをいただいても,現在返信に対応しておりません.
お手数をおかけしますが,お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください.
(既に弊社NXP代理店,もしくはNXPとお付き合いのある方は,直接担当者へご質問いただいてもかまいません.)

ZephyrのHTTPサーバーサンプルをFRDM-MCXN947で動かし,PCのブラウザからボード上のLEDをON/OFFする手順をステップ・バイ・ステップで解説します.ルーター経由での固定IP/DHCP接続に加え,PCとボードをLANケーブル1本で直結する構成にも対応しています.Zephyrのビルド環境がインストール済みであれば,設定ファイルの編集からビルド・書き込みまで,コマンド数本で動作を確認できます.
(作業時間:15分 *Zephyr開発環境インストール済,PCネットワークに慣れていれば)

スクリーンショット 2026-06-11 15.39.32.pngスクリーンショット 2026-06-11 15.39.32.png

EthernetintroductionMCX日本語ブログ
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎06-17-2026 05:30 PM
更新者: