Interface編集部

Interface2025年10月号「Pythonで1行ずつ学ぶネットワーク」特設ページ
●AIやIoT,スマート・ホームなど…ネットワークの重要性は増すばかり
ネットワークは,PCやスマートフォンで当たり前のように使っています.IoT(Internet of Things)やスマート・ホームなどの普及により,家電や産業機器などさまざまな電子機器でも広く使われるようになりました.最近では,ChatGPTに代表されるクラウド経由で提供されるAIサービスも普及が進み,ネットワークの重要性は増すばかりです(図1).
こういう状況ですが,多くの開発者はネットワークの専門家ではありません.どこから手を付けたらよいのか分からない場合もあると思います(図2).
●十分なネットワークの知識がないまま開発すると…
ネットワークのプログラムは,専門家でなくても開発できるような便利なライブラリやコマンドが豊富に用意されています(図3).しかし,肝心なネットワークの仕組みは完全に隠蔽されているので,トラブルが発生するとお手上げです(図4).
図3 ライブラリやコマンドが豊富なのでネットワークの知識がないままでも開発できるが…
図4 トラブルに対応できずいつまでも完成しない
●しっかり知識を固めておく方が結果的に早い
トラブルに対応するには,あらかじめネットワークの仕組みを知っておくことが重要です(図5).ネットワークの仕組みを理解してからトラブルを経験すると,どのように対処すればよいかが分かるので,どのようなエラー処理をすれば良いか考えられるようになります(図6).
図5 あらかじめネットワークの知識を固めておくと…
図6 結果的に早くシステムが完成する
●Pythonで1行ずつ処理を実行しながらネットワークの基礎を学ぶ
今回の特集ではネットワークの仕組みについて,実際に手を動かしながら学びます.
▼第1部:Pythonを打ちながらTCP&UDPソケット通信を学ぶ
特集の第1部では,普段から私たちが使っているインターネットが,どのような通信で実現されているのかを,コマンドやPythonコードを1行ずつ打って,実際に処理を実行しながら学習します.図7は,HTTPで情報を取得して表示するイメージです.ソケットは,ウェブ・ブラウザとインターネット上のサーバをつなぐ働きを担います.このHTTP通信の内容を,実際にコマンドやPythonコードを1行ずつ打って確認していきます.
図7 一般的なインターネット通信の仕組み
▼第2部:MicroPython×Picoで学ぶ! MQTT通信
MQTTは,IoTデバイス間の通信によく使われる軽量な通信プロトコルです.第2部では,MQTTの基本を整理した後,セキュリティを考慮したMicroPythonの実装例や,製作事例(写真1)を紹介します.
写真1 ラズパイPico 2 Wで製作したオンライン対戦ゲーム「MQTT連打王」
▼第3部:車載/IoT向け最新イーサネット規格「10BASE-T1S」
イーサネット規格の1つとして,IoT用途に適したインターフェースが新たに登場しました.主に車載向けネットワークとして登場した,SPE(シングル・ペア・イーサネット)と呼ばれるもので,写真2のように一対の電線だけで10Mbpsの通信が可能です.第3部では,シングル・ペア・イーサネットのインターフェースの1つである10BASE-T1Sを紹介します.規格の概要から,実際の通信実験まで紹介します.
写真2 10BASE-T1S のUSB ドングル…一対の電線だけで10Mbpsの通信が可能
▼第4部: スマート・ホーム向けの共通規格「Matter」
2022 年10月にCSA(Connectivity Standards Alliance)から新しいスマート・ホーム向け通信規格Matterが発表されました(図8).Matterによって異なるメーカ・異なるプラットフォームの製品同士でも,相互にシームレスな通信と制御が可能になります.第4部では,Matterの基礎知識から,マイコン・ボードを使った通信実験などについて紹介します.
図8 スマート・ホーム向け通信規格「Matter」を使えば…さまざまな機器がシームレスに接続できる
●定番プロトコル解析ツール「Wireshark」を使って解析力を上げる
ネットワークを使用するプログラムやシステムが正しく通信を行っていることを確かめるには,ネットワークを流れるパケットを見える化する手段が必要です.特設記事では,定番のプロトコル解析ツールであるWiresharkについて紹介します(図9).基本的な使い方から,実践的なパケットの解析手法,独自プロトコルの解析方法まで幅広く紹介します.
図9 定番ネットワーク・プロトコル・アナライザ「Wireshark」の実行画面