ご購入はこちら．
http://shop.cqpub.co.jp/hanbai/books/47/47101.htm

見本イントロダクション 1

ネットワーク・マシン作り放題

1

映像や音を自在に伝達! セキュリティもばっちり
イントロ
ダクション
1

ラズベリー・パイでネットワーク・マシン作り放題

2
3
4

編集部

第1部

大容量 Wi-Fi 利用のライブ・カメラづくり

5
6
7

HDMI 端子付き
モニタ

8
9
10
11

8F にある
オフィスで
リアルタイ
ムにばっち
り見られる

歩道に置いたカメラの画像を

12
13
14
15
16
17

ラズベリー・パイ2
ライブ・カメラの主な構成
Wi-Fi のアクセ
ス・ポイント

第2部

18
スマホにも生中継

19

外出先から OK！ ネットワーク・カメラづくり

20
21
22

ラズベリー・パイ専用カメラ

USBカメラ

23

メジロ

24

ラズベリー・パイ
事務所で見ら

ベランダに設置したカメラ画像を見本れる．さらにカラス撃退も1

25

イントロダクション 1

第3部

音声パケット交換サーバづくり

Chiffonをインストール
したAndroidスマホ
Linphoneを
インストールしたiPad

端末同士がラズベリー・パイ
によるパケット交換機を介して通話できる

外出先から自宅に設置したラズパイの I/O も叩ける

ヘッドセットを接続して
X-Liteをインストールした
Windows PC
オープン・ソースの内線交換機
Asteriskをインストールしたラズベリー・パイ
ラズベリー・パイが通話時のパケット交換器になる
オープン・ソースのソフトウェア Asterrisk でラズベリー・パイが音声パケット交換サーバに！ IP 電話が作れちゃう

外出先から自宅 LAN に接続

第 4 部 セキュリティ・サーバづくり
ラズベリー・パイ

趣味のサーバづくり

第 5 部 その 1：自動ウェブ・データ収集器

ルータへ

5日分の天気をフルカラー
LED 5個で表示する
ラズベリー・パイで作った自分専用 VPN サーバ

LAN経由で天気予報
サイトから5日分の情報をゲットArduinoでLEDを制御自宅 LAN に接続中

Wi-Fi テザリング
で PC 通信

スマホの LTE でネットに接続
外出先の公園から自宅 LAN に入った

2

ラズベリー・パイ見本

LED で 5 日ぶんの天気予報を表示

イントロダクション 1

ネットワーク・マシン作り放題

趣味のサーバづくり その2：ベランダで受信して屋内へ ! ラジオ中継器

第5部

GND
+5V
SCL
SDA

アナログ入力回路

電源B 5V

秋月電子通商で入手できる
FM/AMラジオ・モジュール

LEFT
RIGHT
GND

2

ソフトウェアSPIでA-D変換
後のデータを高速取り込み

3LAN

A-Dコンバータ
5V

1

SPI通信

4
5

OP
アンプ

6
7

FM用アンテナ

アナログ
音声

ANT2
ANT1

8
9

I2C通信

10
ラズベリー・パイ

11

電源A
5V

AMラジオ用バー・アンテナ

12

ラジオ放送波を受信して自宅 LAN に UDP パケットで送出するラジオ・サーバ

第5部

オーディオ・
アンプに接続趣味のサーバづくり
その3：ハイレゾ・オーディオ送受信器

13

第 6 部 ネットワーク解析ツールづくり

15

パソコンとH8マイコン間の通信をモニタしている

ラズベリー・パイ2
やD-Aコンバータで音楽データを受信

14

16
17
18
19

Wi-Fi を利用してハイレゾを飛ばす（受信側）
音楽データ保存用
ネットワーク接続 HDD NAS

20

ネットワーク・パケット・ロガー「勝手にキャプチャくん」
パケット・ロガーでパソコンとマイコンとの間の通信内容を記録

Wi-Fi ルータ

接続の確からしさが分かる

21
22
23

ラズベリー・
パイ
送信側は
市販品で
OK

24

pingなんでも応答くん

ケーブルやハブがつながっているかを確かめる
ping 応答マシン

見本
3

25

第1部 大容量Wi-Fi利用のライブ・カメラづくり
第1章

開発環境や自作ソフトウェア

1用意するもの2
3
4
矢野 越夫，仙田 智史

ラズベリー・パイ2

1 ラズベリー・パイ
専用カメラ

MIPI-CSI

2 動画
取り込み

3 H.264
エンコード

4 パケット
送出

6

モバイル・
バッテリ

BCM2836

PiCamera

7

IEEE 802.11n
モード

Wi-Fi
USBドングル

8
5

十数Mbps

最大80Mbps

1920×1080×16×30＝995Mbps

IEEE802.11ac
モード

ラズベリー・パイ2
HDMI

BCM2836
9 表示

8 H.264
デコード

7 パケット受信

最大90Mbps11126（b）アクセス・ポイント
Wi-Fi
USBドングル

15

スマホ

図1

10M 〜 20Mbps でデータを転送する装置の構成

ラズベリー・パイ 2とスマホ
それと専用カメラ
第 1 部で作成するラズベリー・パイ HD ライブ・カ
メラ・システムの送受信装置の構成を紹介します．作
る装置はカメラ側（送信側）とディスプレイ側（受信側）の二つです．
図 1 に装置の構成を示します．信号（動画）の流れを次に示します，● その 1：送信側…専用カメラ×ラズベリー・
パイ撮影装置①ラズベリー・パイ専用のカメラ PiCamera で撮影②ラズベリー・パイ 2 で撮影動画取り込み③ラズベリー・パイ 2 で動画を H.264 にエンコード④ラズベリー・パイ 2 でパケット化⑤ラズベリー・パイ 2 に接続した Wi-Fi USB ドングル
で無線 LAN アクセス・ポイントに動画を転送● その 2：受信側…ラズベリー・パイ×ハイビ
ジョン・テレビ表示装置⑥無 線 LAN アクセス・ポイントのパケットを，もう1 台のラズベリー・パイ 2 で受け取る⑦ラズベリー・パイ 2 でパケットを圧縮動画データに変換⑧ラ ズベリー・パイ 2 で H.264 をデコードし非圧縮動
画に⑨ラ ズベリー・パイ 2 の HDMI 端子から動画をテレビ・モニタに送出⑩テレビ・モニタで動画を表示● その他：受信用スマートフォン

1314（c）動画受信装置その1…ラズベリー・パイによるもの（d）動画受信装置その2…スマートフォン

910（a）動画送信装置

地デジ対応
テレビ・モニタ

5

見本

スマートフォンに VLC プレーヤ（VLC for Android）

15

16
17
18
19
20
21
22
23
24
25

第

2章

Wi-Fi なら高画質なハイビジョン映像を 30 フレーム / 秒で送れる

1

ハードウェアの構成

2
3
4
矢野 越夫

USB4ポート

5
6

LAN

7

アンテナも付属8
9

ドングル本体カメラ（d）ラズベリー・パイ専用
カメラ

10
11
12

（b）Wi-Fi ドングル① …2.4GHz 帯
LAN-WH300NU2

13
14

HDMI

15

Cortex-A7．クアッド・コア・プロセッサBCM2836（900MHz）（a）ラズベリー・パイ 2
写真 1

16

（e）5GHz/2.4GHz対応
無線LANルータ

17（c）Wi-Fi ドングル②…2.4GHz
帯 /5GHz 帯デュアル! GW450S

18

実験に使う主なハードウェア

19コンピュータ・ボードにラズベリー・パイ 2を使うメリット
今回実験に使った主なハードウェアを写真 1 に示します．大容量データ転送の実験には小型 Linux ボード
であるラズベリー・パイ 2 を選択しました．
▶処理が速い900MHz 動作の ARM Cortex-A7 プロセッサと１Gバイトの RAM を搭載しているので，Wi-Fi モジュールを用いたネットワークへのデータ送信 / 受信実験の際に，足を引っ張ることはないでしょう．
▶専用ハイビジョン対応カメラがある
ラズベリー・パイには，ハイビジョン 30 フレームで動画を提供できる専用カメラが用意されています．これを使えばイントロダクション 3 で紹介したような1920 × 1080 画素（712Mbps）のフル・ハイビジョン動画を取得できます．さらに，このハイビジョン動画を
H.264 でエンコードするためのハードウェアも搭載しています．
▶ HDMI で画面出力できる
受信側は H.264 デコーダ搭載の PC でもスマホでもよいのですが，とりあえず HDMI 端子付きモニタとともに，ラズベリー・パイ 2 で実現しました．

見本
19

20
21
22
23
24
25

第1部

大容量 Wi-Fi 利用のライブ・カメラづくり

GPU を使った H.264 エンコード / デコードに挑戦!
第3章

ソフトウェアの構成
仙田 智史

スタート

スタート

初期化

初期化

カメラ初期設定

UDP受信ループ

エンコーダ設定

パケット・ロスのチェック内蔵GPU（VideoCoreIV）
キャプチャ

キャプチャ開始

エンコード結果受け取り

H.264映像1フレームぶん最大1300バイトずつに分割

デコーダに渡す
内蔵GPU（VideoCoreIV）

H.264エンコード

SEQ

最大1300バイト

H.264デコード

RTP+UDP

UDP

OpenMAXでカメラからキャプチャ＆H.264エンコード

1300バイトに分割

H.264 NAL解析，分割

レンダリング

シーケンス・ヘッダを付加して送信

RTPヘッダを付加して送信

ディスプレイに表示

testcap̲main.c.
ラズベリー・パイにデータを送るときはこちら

testcap̲main̲diff.c.
スマホにデータを送るときはこちら分割した映像
データの先頭にシーケンス番号を追加
受信側へUDPで送信
図 3 1300 バイトずつ画像を送出（b）ディスプレイ側（受信側）のプログラム（testdisp̲main.
c）のフローチャート（a）カメラ側（送信側）のプログラムのフローチャート
図1

カメラ側とディスプレイ側のラズベリー・パイ 2 プログラム 

ラズベリー・パイ2

ライブ転送全体のフロー

test̲cap//キャプチャ処理ループ

ライブラリ［キャプチャ］

ラズベリー・
パイ
専用カメラから［エンコーダ］
─}omxcam─

testcap_main.cmain(){//初期化

video_encoded(){（H.264）//UDPパケット生成
UDP送信

}

OpenMAX/IL
libopenmaxil.so

受信側へ
図 2 カメラ側（画像送信側）ラズベリー・パイ 2 のソフトウェア
構成24

ラズベリー・パイ 2 を使った大容量データ転送装置のソフトウェア・フローチャートを図 1 に示します．
送信側はラズベリー・パイ専用カメラでキャプチャした動画を，H.264 エンコードして，Wi-Fi モジュール
から送信します．受信側は，Wi-Fi モジュール経由でデータを受信して，H.264 デコードして，HDMI 端子
からディスプレイに表示します．
専用カメラからの画像キャプチャと H.264 エンコー
ドには，BCM2836 搭載 GPU の VideoCore を利用します．H.264 デコードおよび表示については，受信側もBCM2836 搭載 GPU の VideoCore を利用します．パケッ
ト送受信のためのプロトコルには UDP を使います．

見本

第1部

大容量 Wi-Fi 利用のライブ・カメラづくり

Wi-Fi ドングルなら伝送速度や周波数帯を変えるのも簡単!

第実験成功! ハイビジョン・
ライブ映像を飛ばす

4章

仙田 智史
モバイル・バッテリ

送信用ラズベリー・パイ2

ラズベリー・パイ
専用カメラ
Wi-Fi
USBドングル（a）カメラ側送信装置
HDMI端子付きモニタ
HDMI対応モニタ

ラズベリー・パイ2
Wi-Fi USBドングル

受信用ラズベリー・パイ2（c）距離が離れるとフレームレートは落ちてしまうがビルの外の画像を撮る
ことも可能
写真 1

（b）ディスプレイ側受信装置

実験成功! ハイビジョン・ライブ映像を飛ばしてみた

PiCamera
ラズベリー・パイ
専用カメラ

ラズベリー・パイ2
MIPICSI

画像
取り込み

H.264
エンコード

パケット
送出
Wi-Fi
USBドングル

この時点では
例えば720Mbpsくらい

この時点で12Mbps

12Mbpsカメラ側送信装置
地デジ対応
テレビモニタラズベリー・パイ2

表示

HDMI
図1

H.264
デコード

ディスプレイ側受信装置

データ送受信実験に用いた構成

コマンドを入力したいときは必要に応じてラズベリー・パイ 2 にキーボードなどを付ける

32

アクセス・
ポイント

パケット
受信

12MbpsWi-Fi
USBドングル見本

第1部

大容量 Wi-Fi 利用のライブ・カメラづくり

RTP プロトコルでリアルタイム・ストリーム転送
第スマホ対応 映像送信
プログラムを作る

5章

仙田 智史

main(){//初期化}//キャプチャ処理ループ

video_encoded(){

固定ほかのNALユニットとの依存関係を表すビット

NALユニットの種別

0nal̲ref̲idc

nal̲unit̲type─

testcap_main_diff.c

1ビット

2ビット

5ビット

─

ラズベリー・パイ2

図 2 H.264 ストリーム・データを構成する単位 NAL unit の先頭
1 バイトのヘッダ…NAL ユニット・ヘッダ

omxcamライブラリ

PiCamera［キャプチャ］［エンコーダ］(H.264)//RTP+UDPパケット生成

スタート・コードRTP＋UDP送信}

OpenMAX/IL…00 00 01

NALヘッダスマホへ
ここのプログラムをUDP送信からRTP＋UDP
送信に変更する．具体的にはH.264のデータを解析してRTPヘッダを付加して送信
図 1 やること…ハイビジョン・ライブ映像カメラ・システムをスマホ・アプリで視聴できるようにソフトウェアを変更する

ここまで紹介してきたハイビジョン・ライブ映像カ
メラ・システムのプログラムを改造して，スマホのメ
ディア・プレーヤ・アプリで再生できるようにします．
具 体 的 に は，UDP で 送 る パ ケ ッ ト の 中 身 を RTP（Realtime Transport Protocol）にします．H.264 のス
トリーム・データを RTP で送信するための取り決め（1）に 沿 う
RFC3984（RTP Payload Format for H.264）
ことになります．

表1

NAL ユニットの種別は nal_unit_type の値で表される
値
0
1〜5

36

意

味

無規定
映像データ

6

付加拡張情報（SEI）

7

シーケンス・パラメータ・セット（SPS）

8

ピクチャ・パラメータ・セット（PPS）

9

アクセス・ユニット境界（AU デリミタ）

10 〜 23

その他データ（予約を含む）

24 〜 31

無規定

NAL unit…00 00 01 NAL

RBSP（ペイロード・データ）

図 3 H.264 バイト・ストリームの中で NAL ユニット・ヘッダを探し出せるようにスタート・コードが埋め込まれている● スマホ・アプリでライブ映像を視聴できるよ
うにするためのソフトウェアの変更点
ソフトウェアの変更点を図 1 に示します．第 3 章で作成した，testcap_main.c 中の UDP パケット生成に関する部分を変更し，RTP で送信するようにしました（リスト 1）．

スマホ・アプリで視聴できる
データの構造● H.264 データを RTP で配信するためのフォー
マット
RFC3984 で は，H.264 映 像 デ ー タ を RTP パ ケ ッ ト
で配信する方法が定義されています．これを理解するにはまず，H.264 データの構成について知っておく必要があります．
▶ H.264 ストリーム・データの最小単位…NAL
H.264 の ス ト リ ー ム・ デ ー タ は NAL（Network
Abstruction Layer）unitと呼ばれる単位で構成されています．
NAL unit は，先頭 1 バイトの NAL ヘッダ（図 2）と，それに続くペイロード・データ（RBSP）からなります．
▶ NAL unit のヘッダ
NAL ヘ ッ ダ の 先 頭 1 ビ ッ ト は 0 固 定 で す． 続 く 2見本

第2部 外出先からOK! ネットワーク・カメラづくり
1

自宅サーバ公開時の必須アイテム! ダイナミック DNS
第6章

その 1： IP アドレス
通知装置の製作

2
3
4

蕪木 岳志

5
6

第 6 章〜第 8 章では，ラズベリー・パイを使って自宅に Web サーバを構築するための技術を，ネットワー
ク・カメラを作りながら解説します（写真 1）．
ステップ 1 世界から接続できる固有の名前を無料で入手
ステップ 2 画像やテキストを接続してきた端末に渡すための Web サーバ構築
ステップ 3 画像配信カメラの作りかたの順に解説します．

7

専用カメラ
電源

8
9
10
11

自宅サーバをただで公開する方法

LANケーブル12● 固定 IP を取得すると毎月お金がかかる

写真 1

皆さんが仕事や電子工作のためにサーバを構築する
場合，いくつかの実現方法があります．

プロバイダから割り当てられている IP アドレスが変わってしまうため自宅
カメラに IP アドレスで接続できない．ドメイン名と IP の結び付けをしてくれるサービスがあれば，自宅のカメラにはドメイン名でアクセスするだけ

13を取得してその IP アドレスと関連付けてアクセスすると思います．
では自宅の回線でサーバを運用する場合はどうでしょう？固定 IPを用意しなければと考えるかもしれませんが，利用料が月額で千円程度で済むようになったとはいえ，私的な利用や実験で短い期間だけのためにコ

15

・プロバイダが提供している専用サーバを借りる・VPS（Virtual Private Server）やクラウド・サーバ注 1
といった仮想サーバなどを借りる

・

会社や自宅の LAN に接続したパソコンやラズベ
リー・パイなどを利用する
プロバイダが提供しているサーバなら，最初から固定 IP アドレス注 2 が割り当てられているので，その IP

アドレスを直接指定してアクセスしたり，ドメイン名

第 6 章～第 8 章でつくる画像配信カメラ

今回利用するMyDNS.JPの所有するダイナミックDNS

事前にMyDNSから取得したドメイン名
http://www.jitaku.mydns.jp

jitaku.mydns.jpは210.197.79.201ですよ〜

ラズベリー・パイルータ

jpドメイン
DNS

14

16
17
18
19
20

インターネット

21
22

プロバイダから割り当てられた
グローバルIPアドレス
210.197.79.201

23

図 1 ラズベリー・パイをただでサーバとして使うには…無料で使えるダイナミック DNS に登録してドメイン名を設定し，IP アドレスをダイナミック DNS に通知し続ければよい

注 1：VPS とクラウド・サーバは少し異なる．提供される環境としてはクラウド・サーバ の中でも IaaS（Infrastructure as a Service）がVPS と同じといってもよいが，クラウド・サーバの方が CPU やメモリ・リソースを必要に応じてより自由に変更できる．
注 2：固定 IP アドレスとして IPv4 だけでなく IPv6 を割り当ててくれるサービスもある．

見本
51

24
25

第 2外出先から部 OK! ネットワーク・カメラづくり

第2部

別の装置からブラウザでアクセスすると画像やテキストを渡してくれる第7章

その 2：Web サーバ
の構築
蕪木 岳志

BCM2835プロセッサ
ApachesuexecPerl

mod̲perl
各種設定ファイル

FastCGI

Linuxカーネル
デバイス・
ドライバ

ラズベリー・パイ
図1

イーサネットLANコントローラへ

SDカード

SDカードへ

表1 ラズベリー・ パイはマイ Web サー バに最 適 ! 専 用 Linux
Raspbian に用意されたさまざまな特定用途向け Web サーバ・ソフト
特徴aolserver4

AOL（Ameria Online）製の Web サーバ．Core と，
デー タベー スや各 種モジュ ー ルなど複 数のパッケージで構成boa

シンプル処理の Web サーバ．同時大量接続などには向かない

didiwiki

Wiki を内蔵しているシンプルな Web サーバ

starmanPlack/PSGI（Perl Web Server Gateway Interface）に対応した Perl で書かれた Web サーバ

thin

Ruby で書かれた軽量高速な Web サーバ

webfs

静的コンテンツ向けのシンプルな Web サーバ

yaws

Erlang で書かれた軽量な Web サーバ

60

SDカードにはHTMLファイル，
テキスト，画像，CGIスクリプト，
ログ・ファイルなどが保存されており適宜読み出される

本章でやること…定番ソフトウェア Apache を使ってラズベリー・パイをマイ Web サーバにしてみる

ラズベリー・パイを使えば情報を世界に発信できるようになります．発信する情報は，HTML で書かれた普通の Web ページの自己紹介や，もう少しリッチに WordPress などの CMS を利用したブログでもかまいません．ほかには USB 接続した Web カメラやラズ
ベリー・パイ専用カメラで撮影した画像，GPIO に接続した各種センサから取得した温度や湿度といった計

サーバ名

CGI 一つ実行するにしても，いくつもの方法がある．
通常はsuexec コマンド経由
でPerl を呼び出すが，高速化を図るためにmod̲perl というモジュールを組み込んだり，
FastCGI というプロセスとSocket通信をしてPerl スクリ
プトを実行させたりする

測値でもよいかもしれません．
本章では，ラズベリー・パイを使って世界とつながる第 1 歩として，本格 Web サーバの構築をしてみた
いと思います（図 1）．

ラズベリー・パイで使える
Web サーバ・ソフトウェア
そもそも Web サーバとは，テキストや画像などのデータを，別の装置からブラウザというソフトウェア
を使ってアクセスしてリクエストすると，送信してくれる装置 & ソフトウェアです．1990 年代前半から，
インターネットをわれわれにとって身近なものにしてくれた裏の立役者といってもよいかと思います．
Raspbian にもともと用意されている Web サーバ・
ソフトウェア・パッケージとして，有名な Apache（Ver.2 系）があります．ほかにもコマンドラインで，$ apt-cache search 'web server'と入力すると，lighttpd や nginx などをはじめ，ある用途に特化した Web サーバ・ソフトウェアがいろい
ろと見つかります（表 1）．
表 1 以外にも，JavaScript ベースで HTTP の動作そ

見本

第8章

第

8章

その 3：いざ動画配信

インターネットで外出先からいつでも見られる

1

その 3：いざ動画配信

2

蕪木 岳志

5

3
4

6
ラズベリー・パイ専用カメラ

7

USBカメラ8
9

ラズベリー・パイ

10

写 真 1 インター ネッ トで外 出 先からいつでも見られるラズベ
リー・パイ・ライブ・カメラ

11
12
写真 2

前章までで，ラズベリー・パイで自宅サーバを構築
し，外部端末（PC やスマホ）からドメイン名でアクセスできるようになりました．本章ではこれらの環境を使って常時接続 OK の画像配信カメラを作ります．写真 1 に制作した画像配信カメラを示します．写真 2 に撮影した画像を示します．

手順 1：ウェブ・サーバで画像を表示できるようにする
まずは実際にラズベリー・パイで作った Web サー
バ内に置いたテキスト・ファイルや画像ファイルにアクセスができるようにしてみましょう．
Raspbian では Apache をインストールしただけだと
リスト 1 で設定されているデフォルトのバーチャル・
ドメイン・サイトが動きます．このバーチャル・ドメ
インは特にホスト名が設定されておらず，ほかに具体的なホスト名を ServerName などで指定した別のバー
チャル・ホストの設定もありません．この自宅サーバにブラウザでアクセスすると，リスト 1 の Document

Root の設定に基づいて，Raspbian の /var/www/ をライブ配信中！外出先から取得した事務所の画像

13● その①：直接データ・ファイルを置く場合
直接データ・ファイルを置く場合は，/var/wwwになるということです．

15の root 権限が必要です．一般ユーザ（pi など）の権限
では何もできません注 1．

16

例えばラズベリー・パイ専用カメラ PiCam で撮影した JPEG 画像を見せたい場合には17$ sudo raspistill ¥--width 800 ¥--height 600 ¥撮影の設定-quality 75 ¥-awb fluorescent ¥--output /var/www/raspistill_/var/www/ に置いている
picam001.jpgのようにすると， http://192.168.11.82/
raspistill_picam001.jpg で撮影した画像を見ることができます．インターバルに撮影するなら，このコマンドを crontab などに設定をすればよいでしょう．

トップページのディレクトリとしてコンテンツを返すことになります．つまり，

http://192.168.11.82/=Raspbian の /var/
www/

14

18
19
20
21
22
23
24
25

見本

注 1：混乱するようなら sudo を多用するよりは su コマンドでroot になって作業することをお勧めする．

65

第冬休み企画：ラズベリー・パイ電子工作
2 部 外出先から OK! ネットワーク・カメラづくり

外出先から泥棒へ警告したり部屋の電気を灯けたり
第9章

改良：I/O機能をプラスして
ホームIoTにチャレンジ
蕪木 岳志
できること
● IoT で必要になること…電子回路による制御・
計測
メジロ

写真 1 ラズベリー・パイ＆ USB カメラを使ったネットワーク鳥さんライブ・カメラ画像（1）
IoT 時代にホントにやりたくなること…画像を見た後のちょこっと制御・計測．例えば，カラスがエサをとりに来ていたら追い払いたくなる

Linux×PICちょこっとリアルタイム・
コントローラを作ったきっかけ
本章では，ラズベリー・パイを使って，いろいろな遠隔制御をしていきます．
第 6 章〜第 8 章で紹介したネットワーク・カメラを使って，いつも野鳥のエサをベランダに置いてから出勤し，会社に着いたらメジロやウグイス，ヒヨドリな
いやどをライブで見ながら日々癒やされていました（写真 1）．
ある日，いつものように会社で鳥さんライブカメラを見てたら，なんと野鳥ではなく○○○が美味しそうにエサを食べているではありませんか!
このときの会社で画面を見ながらもどうすることもできない悔しさをばねに，本章で紹介する Linux ×
PIC マイコン・リアルタイム・コントロール・システ
ムの開発を始めました．
エサ泥棒への警告はもちろんですが，自宅に帰る前に部屋を明るくしたり，エアコンを ON にしたり，といったことにも挑戦したいと思います．

離れた場所から何かを操作する：遠隔制御というと皆さんはどんなものを想像するでしょうか？
鍵の掛け忘れをしていないかな？部屋の明かりを消したかな？アイロンは？ガスコンロは？冷暖房は？といった確認でしょうか．
あるいは，実際に施錠したり解錠したり，スイッチを切ったり入れたり，炊飯器を帰る前に ON にしたり，お風呂を沸かしたり，洗濯機やお掃除ロボットを動かしたり，録画予約を忘れたので何時から何 ch の番組を録画したり…という制御も考えられます．
遠隔操作でやりたいことのかなり大部分は，「確認」
したり，何かを「ON/OFF」したりという単純作業で済ませることができます．そこで，ラズベリー・パイなどを使って安価に，でも確認や ON/OFF などの簡単なリアルタイム制御機能は備えた，汎用制御装置を製作したいと思います．既存の各メーカの家電制御なども簡単です．

● ラズベリー・パイだけでは難しいこと
本章では，インターネット経由で自宅の中にあるラズベリー・パイにアクセスをし，遠隔制御の判断材料となる温度 / 湿度 / 照度などのセンサ値を「確認」する機能を搭載します．
ラズベリー・パイは，GPIO（2）（汎用入出力，General
Purpose Input/Output）を備えています．リアルタイム 性 を 求 め ら れ な い 用 途 で， デ ィ ジ タ ル 値（0/1，
High/Low）を入出力するには便利ですが，苦手なこともいくつかあります．
▶その 1：アナログ入出力
A-D 変換器や D-A 変換器を備えていないため，例
えばセンサが出力するアナログ電圧値を読むことができません．
1
PIC マ イ コ ン 注 （Peripheral
Interface Controller，見本

マイクロチップ・テクノロジー）や AVR マイコン（ア70第 3 部 音声パケット交換サーバづくり
オープンソースのソフトウェア Asterisk でオレ流 LINE ができちゃう！
第1

10 章 その 1：IP 電話のしくみ

2

水越 幸弘

5

LINEトーク用
サーバ
トーク（HTTP）

無料通話（SIP）

インターネット

3
4

6
LINEアプリ LINEアプリ
末端1
末端2

LINE
無料通話用
サーバ

トーク
（HTTP）

無料通話（SIP）

LINEアプリTCP/IP
Android/iOS

TCP/IP
Android/iOS

無料通話

接続要求などをパケットで送る…

LINEアプリ

…

無料通話

トーク

無料通話

トーク

公衆回線
（LTE, 3G, Wi-Fiなど）

トーク

LINEトーク用HTTPサーバ

音声をパケットにして送る

無料通話アプリ LINE のしくみLINE は，知り合い同士のコミュニケーション機能
として，トーク（チャット）と無料通話があります．
図 1 に LINE の シ ス テ ム 構 成 を 示 し て い ま す．
Android や iOS などのスマホにインストールした LINE
アプリは，LINE サーバに接続します．トーク（チャット）や無料通話ごとにサーバが用意されています．
図 2 に LINE アプリをインストールした 2 端末が，それぞれ，トークと無料通話をしている際のやりとりを示します．
LINE アプリを含めて，スマホの外部との通信は，

7
8
9

音声通話は
SIPやRTPが使われている

10
11

図2

13

…

スマートフォンやタブレットが普及し，自宅には光回線を引き込んで大容量の常時接続環境を持つ人の方が多いぐらいの世の中になりました．このような背景を踏まえて，Skype や LINE など，無料通話や格安通
話のアプリがめじろ押しです．
本章では，この LINE のしくみについて説明し，同じような通話アプリを，手持ちのラズベリー・パイで作ります．既存の LINE にはない機能，例えば遠隔 I/
O コントロールなども盛り込んでいきます．

トーク（チャット）はHTTPプ
ロトコルが使われている）

12…

図 1 無料通話アプリ LINE には通話用と文字トーク用のサーバが用意されている

LINE無料通話用
SIPサーバ

無料通話には SIP という通信プロトコルが使われる

14

通信の秘匿が確保されています．このため，スマホの無線電波を傍受しても，他人の通信内容を解釈することはできません．ただ，スマホ内部のデータのやりとりを特別の方法でキャプチャ（取得）することにより，LINE の通信を解析している方がいました（1）．参考文
献（1）によれば，LINE の通信は機能ごとに専用のサーバが用意されていることが分かっています．

15
16
17
18
19

● 使用する通信プロトコル
通信プロトコル（規約）は，階層的に積み上げられます．スマホの通信の物理層は，LTE，3G，Wi-Fi な
どの公衆回線になります．端末を特定するために IP
アドレスが割り当てられ，最終的なアプリケーション間でデータの送受信をするために必要な共通の通信処理が TCP/IP 層で行われます．
▶ LINE トーク
HTTP（Hyper Text Transfer Protocol）プロトコルが使われています．
▶ LINE 無料通話
SIP（Session Initiation Protocol） や RTP（Realtime
Transport Protocol）が使われています．

見本
89

20
21
22
23
24
25

第3部

音声パケット交換サーバづくり

外出先から自宅のエアコンやシャッタを
ON/OFF できるようになる

第11章 その 2：遠隔 I/O に

トライ

水越 幸弘
インター
ネットへ

iPhone/iPad
無線
LAN

無線LAN
アクセス・
ポイント付き
ブロード
バンド・
ルータ

Linphoneをインストール したiPad

ブロードバンド・
ルータ

SIP
クライアントLinphone
内線番号203

登録（Register）

TCP/IP
iOS
登録（Register）

SIP
サーバ
Asterisk

SSH
サーバ

Chiffon
内線番号202

無線LAN

TCP/IPLinuxカーネル

TCP/IP
Android

無線Wi-Fi
ラズベリー・パイUSBアダプタ
時報 : 317
内線一斉呼び出し : 200
内線個別呼び出し : 201 〜 209
ボイス・メールの録音 : 内線＊1
自分宛ボイス・メールの再生 : 299
リモート
（接続）

無線
LAN

Android
スマートフォン
登録（Register）

SSH
クライアントSIP
クライアントTeraTerm

X-Lite
内線番号201

TCP/IP
Windows

Windows PC
図1

ヘッドセットを接続してX-Liteを
インストールしたWindows PC

SIP
クライアント

第 10 章で製作した自宅用内線通話（VoIP）装置

Asteriskをインストールした
ラズベリー・パイ

Chiffonをインストールした
Android

写真 1 ラズベリー・パイ＋オープンソース通話ソフト Asterisk
で作った自宅用内線通話（VoIP）装置
今回これに GPIO を叩く機能やインターネット・アクセス機能を追加す
る．提供するソフトウェアはラズベリー・パイ 2 および 1 で動作する

第 10 章 で は， ラ ズ ベ リ ー・ パ イ 上 で Asterisk（column1）という内線交換機ソフトウェア（オープンソース）を使って，個人宅で使える本格的な内線通話システムを作りました．具体的には，写真 1 と図 1 に示すような VoIP システムです．ヘッドセットを付けた Windows PC や Android スマートフォン，iOS タブ
レットにセットアップした SIP クライアント機能を提供するソフトウェア同士で内線通話が可能になります．ただし，普通に内線通話システムを作ったのでは，LINE とどこが違うの？と言われかねないので，
次のような特徴を出しました．

・音声やダイヤルでラズベリー・パイの I/O を叩ける（写真 2）・複数の端末を同時に鳴らす一斉着信

この内線通話システムは，まだ外出先（宅内の LAN以外）からアクセスできるようになっていません．そこで本章では，外出先からアクセスできるように改良
します．

106

見本

第 4 部 セキュリティ・サーバづくり
オープンソース・ソフトウェアSoftEther VPN Serverでサッ

第12 章 スマホ/ノートPCを自宅LANに接続OK! VPNサーバ

木村 実
ラズベリー・パイ

Windows 7の VPN 接続
クライアントルータへ（a）ラズベリー・パイで作った VPN サーバ

自宅 LAN に接続中

Wi-Fi テザリング
で PC 通信

スマホの LTE でネット接続（b）外出先から自宅 LAN を見られる
写真 1

実験に使用した装置

外出先から，インターネットなどを利用して，自宅や職場の LAN（Local Area Network）につなぎたいと
きがあります．

・旅行先から自宅サーバに録画・録音しておいた動
画や音楽を視聴したい

・出張中に社内に置いてあるドキュメントを素早く確認したい
しかし，インターネットは，誰でも自由に利用できるというメリットがある反面，通信内容を盗み見されたり（盗聴），データの中身を書き換えられたり（改ざん）といった危険性が常に伴います．LAN 内部のデータを危険にさらすわけにはいきません．
インターネットなどのパブリックなネットワークから自宅や職場の LAN に安全にリモート接続する方法
として，VPN（Virtual Private Network）があります．
VPN は，送信時にデータを暗号化してインターネッ
トに流し，受信時に暗号化されたデータを復号化することで，安全に外部から LAN に接続する技術です．

116

接続の詳細
（c）紹介する SoftEther VPN サーバを経由して自宅 LAN に接続したようす

本章では，ラズベリー・パイとオープンソース・ソ
フトウェアを使って，自宅 VPN サーバを作成します．
インターネット接続できる環境さえあれば，VPN 接続を利用して世界中のどこからでも LAN 内のファイ
ルへアクセスできるようになります（写真 1，図 1）．

● Android や iOS，Windows に標準搭載で便利!
VPN には，リモート・アクセス型と拠点間接続型があります（column 参照）．
本章では，ラズベリー・パイにオープンソースのVPN サーバ・ソフトウェア SoftEther VPN Server を
インストールして，リモート・アクセス型の VPN サー
バを構築してみます．
Windows PC や Android/iOS を搭載したスマホ / タ
ブレットには，リモート・アクセスが行える VPN 接
続ソフトウェアが標準装備されているので，端末として非常に便利に使えます．

見本

第5部

趣味のサーバづくり

インタプリタ言語 Ruby で高速開発! DNS や TCP/IP を動かす

第13 章 その 1：自動ウェブ・

データ集収器倉田 正
地域を指定して天気予報を含むWeb
データ（html）をWebサーバへ要求
LED制御ライブラリ
で手抜きするために使った

ラズベリー・パイ

Webデータから5日間の天気予報データを抽出

Webデータ要求

天気予報データ抽出

Arduino
LEDテープ
LEDの色設定

5個のフルカラーLED
モジュールが連結されてテープになっている

天気ID
配列

ATmega328Pマイコン（アトメル）
を搭載

5日ぶんの天気IDに基づいた色を左から順にLEDへ設定
色は1＝黄色，2＝白色，3＝青色，4＝青白色
図1

Webサーバネット
ワーク

Webデータ（html）

Webデータ 天気予報
作成
データ

コマンド文字列作成

5日ぶんの天気予報データからコマンド文字列を作成
してArduinoへ送信
IDは晴＝1，曇＝2，雨＝3，雪＝4例）5日間の天気が晴，晴，晴時々曇，雨，曇一時雨の場合，コマンド文字列はc11233
先頭の文字cは識別子

ラズベリー・パイがネット上にある天気予報情報をもってきて LED に表示する My 電子看板を製作

5日ぶんの天気をフルカラー
LED 5個で表示する
LAN経由でmsn
天気予報から5日ぶんの情報をゲット

ArduinoでLEDを制御本章では，ラズベリー・パイでインターネット上の天気予報を取得し，それをテキスト解析して，結果を LED の色で表現するネット接続ガジェットを製作します．
▶ 700MHz パワーのおかげで少ない記述でインター
ネット・アプリも実現できる高級言語 Ruby を動かせる
インターネットからデータを取得して，あるキー
ワードをもとにテキスト情報を抽出するようなライ
ブラリが高級インタプリタ言語 Ruby には用意されています．これを使えば，1 行で複雑な処理が書けてしまい，プログラミングの手間を省くことができ
ます．
（編集部）

5 日ぶんの天気予報データを収集して LED で表現する
ラズベリー・パイ
写真 1

LED で 5 日ぶんの天気予報を表示できた

左端の LED が直近，右端の LED が 5 日後の天気予報を示す．黄色で晴れ，白色で曇り，青色で雨，青白色で雪を表す● 装置概要図 1 に装置の概要を示します．
インターネット上の「ひとくち予報in Feed」（http://

www.weathermap.co.jp/hitokuchi_rss/
index.html）で都道府県および地方名（都市名）を見本

選んで取得できる XML（RSS）から，今日を含めて 5

126

第5部

趣味のサーバづくり

さすが I/O コンピュータ! I2C/SPI/LAN の組み合わせが楽々

第14 章 その2：ベランダで受信して屋内へ! ラジオ中継器
GND
+5V
SCL
SDA

LEFT
RIGHT
GND

アナログ入力回路

電源B 5V

3

5
6

ソフトウェアSPIでA-D変換
後のデータを高速取り込み
LAN

A-Dコンバータ
5V

2

4
渕田 信一

秋月電子通商で入手できる
FM/AMラジオ・モジュール

1

7
8

SPI通信

9
OP
アンプ

10
11

FM用アンテナ

アナログ
音声

12

ANT2
ANT1

13
14

I2C通信

15
ラズベリー・パイ

AMラジオ用バー・アンテナ
写真 1

16

電源A
5V

17

ラジオ放送波を受信して自宅 LAN に UDP パケットで送出するラジオ中継サーバ

ラズベリー・パイは，マイコン・ボードに比べると，データ・サーバに仕立てるのが簡単です．また，
GPIO/ シリアル通信 /USB/ カメラ /SD カードなどのインターフェースを備えています．そこで，FM/AM ラジオを受信して自宅 LAN 上に配信するラジオ・サーバを製作してみます（写真 1）．主な機能としては，SPI，I2C，LAN を使います．
（1）ラジオ・モジュールで放送を受信（2）OP アンプでアナログ音声信号を増幅（3）S PI 接続の A-D コンバータでアナログ音声信号をディジタルに変換し，ラズベリー・パイに取り込む（4）LAN に送出
ラジオ・モジュールは I2C で制御します．ラズベ

18

リー・パイ OS には標準の Linux ディストリビュー
ション「Raspbian」を使いました．

● 製作のくふう▶ SPI 通信プログラムを自作
A-D コ ン バ ー タ か ら 出 力 さ れ る 512kbps の 連 続
データが，Linux 標準 SPI デバイス・ドライバを使うとうまく取り込めませんでした．そのため，Linix
標準デバイス・ドライバを介さないで GPIO を直接制御して，連続 SPI 通信を行えるようにしました．
連続 SPI 通信が行えると，SPI 通信機能を持つ高分
解能の D-A コンバータや，カメラ・モジュール，ス
テッピング・モータ・ドライバなどを接続できるよ
うになります．

見本
143

19
20
21
22
23
24
25

第5部

趣味のサーバづくり

192kHz/24 ビットの大容量 FIAC フォーマット・ファイルも楽に飛ばせる

第15 章 その 3：ハイレゾ・

オーディオ送受信器
西新 貴人

Wi-Fiルータ（IEEE 802.11n/
ac対応）

Wi-Fi
USBドングル

WHR-1166DHP（バッファロー）WN-G300UA（アイ・オー・データ）USB

ラズベリー・
パイ2
モデルB

I 2S

100BASE-T
PCやスマホ設定と再生コントロール

ネットワーク接続
HDD
NAS

ハイレゾ対応D-Aコンバータ
基板

L（アナログ）R（a）データ送信側

ラズベリー・パイ 2 を利用したハイレゾ対応 Wi-Fi ネットワーク・オーディオ再生装置

表1

オーディオ信号の送信および受信に用いた装置 
型

名

備

考

NAS

RockDisk NEXT
音楽データ保存用（アイ・オー・データ）

Wi-Fi ルータ

WHR-1166DHP（アイ・オー・データ）（a）データ送信側

項

目

スピーカ

（b）データ受信側

図1

目

スピーカ

Sabre Berry+（スイッチサイエンス扱い）

音楽データ保存用項

オーディオ・
アンプ（何でもよい）

型

名

備

考

Wi-Fi USB
ドングル

WN-G300UA（ アイ・オー・データ機器）ま RTL8192cu チッ プ使
たはLAN-WH300NU2 用（ロジテック）Linux ボードラズベリー・パイ 2 モ
デル B

I2S 接続のD-A コンバータ

SabreBerry ＋

オーディオ・
アンプ

自作アンプ（アナログ
外 部 入 力 付きのアン
プなら何でも）DC5V/ 最大 2A
電源

microUSB コ ネ ク タ
スマホ用バッ テリのでラズベリー・パイ 2
付属品に給電

そのほかの I2S 接続品
でも可

ラズベリー パイの起
2G バイト以上のTeam-japan 8Gバイト 動 時 間に影 響するた
microSD カード
め Class10 がよい（b）データ受信側

ここ 1 〜 2 年，ハイレゾ・オーディオが注目を集めています．音楽データをパソコン内の HDD/SSD やNAS（ネットワーク・アタッチト・ストレージ）に保存し，パソコンに接続した USB-DAC などから音楽を再生する「PC オーディオ」が人気です．
一方，NAS に保存した音楽データをダイレクトにネットワーク対応のオーディオ機器から再生する方法
も広まりつつあります．こちらは PC オーディオに対して「ネットワーク・オーディオ」という呼び方をしています．ネットワーク再生機器にオーディオ専用 PC
や小型の Linux ボードを使う方法もあり，厳密な区分
けはされていないようです．小型 Linux コンピュータ
であるラズベリー・パイを使えば，ハイレゾ対応ネットワーク・オーディオを手軽に試せます．さらに，データ量が多いため意外と難しいワイヤレス化を，
Wi-Fi を使って試してみます．

ハードウェア● データ受信＆再生にラズベリー・パイ2を使った
図1，写真1にネットワーク構成も含めた全体の構成を示します．製作に使った装置一覧を表1に示します．
写 真 1（c）は I2S 接 続 の D-A コ ン バ ー タ 基 板 で す．
プラス

見本工房 Emerge ＋ のケースに入れてみました．RCA 端

154

第 6 部 ネットワーク解析ツールづくり
手づくりパケット送信 & 受信環境で脱モヤモヤ

第16 章 実験でステップ・バイ・ステップ!

ネットワーク通信超入門

write() データ

マイコン基板をネットワークに接続する際は，誰かが用意してくれた接続用の TCP/IP プロトコル・ス
タックのライブラリなどを利用することがほとんだと思います．
UNIX 系の OS では，ネットワーク機能を利用する手段としてソケットがあります（図 1）．ソケットは，

socket() によりオープンし，あたかもファイルのread()/write() のようにネットワーク通信を行えるインターフェースです．TCP/IP などのネット
ワーク機能を利用するための事実上の標準であり，BSD や Linux，Windows などで広く利用できます．
それらの OS 上でソケットを利用するならば，TCP
や IP の処理を OS のカーネルが行うため，アプリケー
ションからは送受信するデータだけを扱えば済みます．
図 1 に示すように，TCP や UDP，IP といったプロ
トコルのパケットがどのようになっているか，処理をどのように行っているかをユーザが意識しなくてよいように作られています（1）．
逆にいうと，多くの人にとってネットワークがモヤモヤとしたもので，ピンとこない原因となっているかもしれません．

● 実験すること
そこで，本章では，パケット送信プログラムとパケット受信プログラムを使って，イーサネット・フ
レームや IP パケット，UDP パケットなどを作成し，送受信の実験を行ってみます．非常にシンプルにパケット単位での通信を試してみることができます．
パケットを手で作成して送信・受信できるツールを作って試すため，脱モヤモヤにつながります．
テスト用の装置や，独自プロトコル開発のベースとしても非常に便利に使えます（column1）．
第 6 部で紹介する各種ツールやサンプル・プログ
ラムのソースコードは，以下の筆者のサイトからダ

わからな
くてよく
なっている
OS
カーネル

TCP/UDP
処理層

ネットワーク処理部
デバイス・
ドライバ イーサネット

5

7

データ read()

ソケット・
インターフェース

ハードウェア

3

6

ユーザ・アプリケーション● ネットワークがモヤモヤしてピンとこない理由

2

4
坂井 弘亮

本章の目的…ネットワーク通信の脱モヤモヤ!

1

IP処理部
イーサネット
処理部

8
9
10
11
12

レジスタ

13

イーサネット通信回路

1415LANケーブル
図 1 ネットワーク通信の定番インターフェース ソケットはプロ
トコル処理を隠ぺいする

16
17

ウンロードできます．ライセンス・フリーとするので，自由に使ってください．

18

http://kozos.jp/books/interface/ethernet/

19
20

実験の構成

21

● 送信と受信のマシンを準備する
実験にはFreeBSD機とGNU/Linuxディストリビュー
ション機を使いました．試すには，2 台の PC を用意する必要がありますが，調達が難しければ VMware
や VirtualBox などの仮想マシン上に構築してもかま
いません．

22

● 想定しているネットワーク接続

25

こ こ で は FreeBSD と CentOS の PC を 図 2， 図 3 の構成で接続したネットワークを想定しています．正式

見本
161

23
24

第6部

ネットワーク解析ツールづくり

よくある MAC ＆ IP アドレスの重複やデータ誤りなどをサッと発見!

第117 章 ネットワーク・パケット

2

解析環境の構築

3
4

坂井 弘亮

5
6

イーサネット・
ヘッダ
MAC

IP

IPヘッダ
TCP/UDP

データ（a）その1…イーサネット・ヘッダ＆IPヘッダ簡易アナライザ・プログラム
Wiresharkなら全部解析できる
MAC

IP

TCP/UDP プロトコル

データ（b）その2…プロも愛用 オープンソースの定番ネットワーク・
アナライザ・ソフトWireshark?

?

?

……………?

ひとまずファイルに保存．
SD
あとでWiresharkでじっくり解析する（c）その3…ネットワーク・パケット取り込みプログラム
図1

本章で紹介するネットワーク・パケット解析環境● ネットワーク・パケットを解析できると上達するし劇的に便利
自作マイコン基板をネットワークにつなぐとき，応答が出てこなかったり挙動がおかしかったりすることがあります．
例えば，MAC アドレスは世界に一つだけのはずですが，自作マイコン基板の場合，サンプルの MAC ア
ドレス設定をそのまま利用してしまうことがあります．なんとなく装置の挙動がおかしいことには気づくのですが，解決に時間がかかることがあります．
何らかの問い合わせは届いているのに，マイコン基板からの応答が LAN 上に出てこないなどの事象もあり得ます（パルス・トランスの断線などの原因が考えられる）．
原因を探るには LAN ケーブル上に流れるパケットを見てしまえれば，手っ取り早く解決できます．

● 紹介するソフトウェア
ここでは，用途に応じて三つのネットワーク・パケット解析用のソフトウェアを紹介します．

▶その 1…イーサ＆ IP ヘッダの自作簡易アナライザ
イーサネット・ヘッダや IP ヘッダは，それほど複雑な構造をしているわけではないため，簡単なアナライザならば自作可能です［図 1（a）］
．プログラムの容量も数 K バイト程度なので，ラズベリー・パイに搭載して持ち歩くこともできます．
▶そ の 2…UDP/TCP も OK で フ リ ー ! 定 番 ネ ッ ト
ワーク・アナライザ Wireshark
その 1 の自作簡易アナライザは，イーサネット，
IP，
ARP の三つのプロトコルにしか対応していません．
世の中には，フリー・ソフトウェアのネットワー
ク・アナライザ tcpdump や Wireshark などといったものがあります．ここでは定番の Wireshark について紹介します［図 1（b）］．
Wireshark は高機能なぶん巨大なツールでもあるので，ラズベリー・パイのような小型 CPU 基板での動作に不向きな部分もあります▶その 3…自作ネットワーク・パケット・ロガー・
ソフト
その 1 の自作簡易アナライザでは物足りなくて（UDP や TCP も解析したくて），Wireshark 搭載パ
ソコンをいちいち持ち歩きたくない場合，ネット
ワーク・パケット・ロガーがあると非常に便利です．
ひたすらパケットを記録した後，パソコン上で動く
Wireshark に読み込んで解析できます［図 1（c）］．
第 18 章で示すようにラズベリー・パイで動かせば，非常に便利なネットワーク・パケット取り込み機になります．

その 1…イーサ＆ IP ヘッダの自作簡易アナライザ

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

● 組み込みではイーサと IP のヘッダが解析できれば事足りる場合もイーサネットは隣接ノードとの通信，IP はルーティ
ングによる世界中へのパケットの到達性を司ります．
対してそれらよりも上位の TCP や UDP などのプロト
コルは，アプリケーション向けのものであり，パケッ
ト通信にはそれよりも下の IP やイーサネットが効力

見本
183

23
24
25

第6部

ネットワーク解析ツールづくり

自宅でネットワーク上達の近道!

第18 章 後から解析も簡単! ラズベリー・

パイで作るパケット・ロガー

坂井 弘亮

パソコンとH8マイコン間の通信をモニタしている

ネットワーク・パケット・ロガー「勝手にキャプチャくん」
写真 1

パソコン - マイコン間のネットワーク・パケットを取り込んで保存できる !

装置A

リピータ・ハブ

装置B
マイコン
基板など

パソコン
この間の通信内容を取り込む
これ

図1 製作したラズベリー・パイ ネットワーク・パケット・ロガー「勝手にパケット・キャプチャくん」を使ってデータを取り込んでおくと自宅の LAN 解析が手軽にできる

記録データは，プロ御用達のネットワーク・アナラ
イザ Wireshark で図 2 のように開くことができます．
どの時間にどのようなプロトコルがやりとりされたかを，じっくり解析できます．
第 17 章で作成した簡易パケット・キャプチャをラズベリー・パイ上で動作させることで，かばんに入れて持ち歩ける自動キャプチャ装置を実現しています．
出張先でのネットワーク解析に役立つことがあるかもしれません．機能を表 1 に示します．

● 準備
本章で紹介するネットワーク・パケット・ロガーは，装置Aと装置Bの間でやりとりされるパケットを，ラズ
ベリー・パイに記録し続けます（図1，写真1）．

192▶ラズベリー・パイを動く状態にする
まずはラズベリー・パイ上で，筆者が製作した簡易パ ケ ッ ト・ キ ャ プ チ ャ を 動 作 さ せ て み ま し ょ う．

見本

第 19 章フリーのパケット操作プログラム群 pkttools

1

受信 / 送信 / 解析 / 変換…組み合わせていろいろ使える!

第19 章 フリーのパケット操作

プログラム群 pkttools

3

坂井 弘亮

5

ネットワーク・アナライザ
ネットワークへ Wiresharkに渡せる形式
pktsendpktanalyze
パケット
解析結果
意図的に変な
パケットを書くこともできる

pktrecv

パケット・データ（テキスト形式）
テキスト
入力

pkttxt2pcap
pktpcap
2txt

テキスト・ チェックサム
エディタ
再計算

pcap
フォーマットのデータ

pkt-correct

図1 筆者提供のパケット操作プログラム群「pkttools」のできること

筆者が作成しフリー・ソフトウェアとして公開しているパケット操作プログラム群 pkttools があります．
pkttoolsはパケットの送信や受信，解析，チェックサ
ム計算やフォーマット変換などを行う各種プログラムの集合です．各プログラムの組み合わせの柔軟性が高く，図1のように連携させて，さまざまな処理を行うことができます．図中で pkt-xxxxとなっているのが，pkttoolsが提供するコマンドです．
pkttools を組み合わせると各種解析や実験に使えます．pkttools の活用例として，ping を自動返信させる
装置&プログラムをAppendix 7と第20章で紹介します．
なお，pkttools は BPF と RAW ソケットの両方に対応しており，FreeBSD と Linux の環境で利用可能です．

リスト 1

2

表1

6

pkttools に含まれるプログラム

プログラム名動作

pkt-recv

パケット・キャプチャして，受信データを
テキスト出力pkt-send

テキスト入力されたパケットを送信

pkt-txt2txt

テキスト入力されたパケットをテキストで再出力（テキストの整形用）

pkt-txt2pcap

テキスト入力されたパケットを pcap フォー
マットに変換pkt-pcap2txt pcap フォーマットを解読してテキスト出力する
pkt-analyze テキスト入力されたパケットを解析
pkt-correct

テキスト入力されたパケットのチェックサ
ムを再計算して再出力

pkt-pingrep

ping の応答を生成（後述）

7
8
9
10
11
12
13

● pkttools の利用方法
pkttools は表 1 のツールを含んでいます．リスト 1
は Linux でネットワーク・インターフェースの eth0
上でパケットをキャプチャしたときの出力例です．な
お，利用できるインターフェース一覧は ifconfigというコマンドによって知ることができます．
このように出力はテキスト・ベースで行われます．
さらに各プログラムをパイプで接続して，図 1 のように連係動作させることができます．
表 2 はプログラム群のさまざまな実行例です．表 3
は各プログラムを実行する時のコマンド・オプション
一覧です．

14
15
16
17
18
19
20
21

ネットワーク・インターフェースの eth0 上でパケットをキャプチャしたときの出力例

出力はテキスト・ベースで行われる% pkt-recv -i eth0
宛先 MAC
送信元 MAC
IP ヘッダ-- 1 -TIME: 1400296569.633895 Sat May 17 12:16:09 2014
SIZE: 98/98
000000: 00 11 22 33 44 55 00 66 77 88 99 AA 08 00 45 00 : .."3DU.f w.....E.
000010: 00 54 59 86 00 00 40 01 9D C4 C0 A8 01 0D C0 A8 : .TY...@. ........
000020: 01 01 08 00 D2 DA 66 11 00 00 53 76 D4 79 00 09 : ......f. ..Sv.y..
000030: AC 17 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 : ........ ........
000040: 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 : ........ .. !"#$%
000050: 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 : &'()*+,- ./012345
000060: 36 37
: 67
==

4

22
23
24
25

見本
195

第6部

ネットワーク解析ツールづくり

フリーのパケット操作ソフト pkttools で物理層の接続確認がパッ!

第20 章 ping応答ソフトで試して合点!

ARP＆ICMPのメカニズム

坂井 弘亮
エコー要求
エコー要求
ICMP Echo

スイッチング・ハブ
pingに

ルータ1
replyする
192.168.0.4

ルータ2

ICMP Echo Reply
エコー返信
この場合，ルータ2が宛先まで届きませんでした
エコー返信を発する
エコー返信

図2 pingコマンドの正式なプロトコル名はICMP（Internet Control
Message Protocol）っていう
192.168.0.3

192.168.0.1

192.168.0.2

ping 192.168.0.4 応答要求
64bytes from … tt1=64 応答
64bytes from … tt1=64 応答
図1

よく使う ping コマンドの動作イメージ

前章で紹介したパケット操作プログラム群 pkttools
を使って，ping 応答ソフトウェアを作ってみました．
pkttools を組み合わせるといろいろなネットワーク解析ソフトが手軽に作れるので便利です．
制作した ping 応答ソフトウェアは，IP ネットワー
クのパケット到達性を確かめる際に役立ちます．例えば端末 A と端末 B の通信が不安定だとします．この場
合，途中のネットワークに問題があるのか，端末 B の設定に問題があるのかが疑問です．そこで端末 B を端末 C に置き換えて試してみることを考えるわけですが，それだと端末 C の設定を新たに行う必要があり，設定にミスがあるかもしれません．
ping 応答ソフトウェアであれば，どのような IP ア
ドレス宛の ping にも応答します．これにより端末 Aと端末 B との間のネットワーク到達性を確認できます．またネットワーク関連の設定を行わずに利用できるので，設定ミスの問題も避けられます．
ping 応答ソフトウェアは，接続が不安定な機器間において，ひとまず途中のネットワークは安定しているかどうかを確認したい場合に有用です．

198

そもそも ping とは何か？
い わ ゆ る ping（ 図 1）の 正 式 な プ ロ ト コ ル 名 は，
ICMP（Internet Control Message Protocol）です．
ICMP はその名のとおり，さまざまな制御用の機能を持ったプロトコルなのですが，通常のネットワーク機
器には「ICMP Echo」というメッセージに対して「ICMP
Echo Reply」を応答するという機能があります．
これはノードへの IP パケットの到達性を調べる際に利用できます．ノードに対して「ICMP Echo」を送信して「ICMP Echo Reply」が返ってくれば，そのノードは存在し，通信ができるということが分かるわけです．
そして ping は，ICMP Echo を送信して ICMP Echo
Reply が返ってくることを確認するためのコマンドです（図 2）．つまり ICMP はプロトコル名，ping はコマ
ンド名ということになります．
リ ス ト 1 は 192.168.1.1 と い う ノ ー ド で ping を 実 行
し，192.168.1.2 というノードに対してパケットの到達性を調べてみた結果です．
「icmp_seq」としてシーケ
ンス番号，「time」として応答時間が表示されています．192.168.1.3 が存在しない場合には，リスト 2 のよ
うに応答がない状態になります．

● ping の応答動作
通 常 の ネ ッ ト ワ ー ク 機 器 は， 自 身 を 宛 先 と し た
ICMP Echo に対してだけ ICMP Echo Reply を返します．リスト 2 では 192.168.1.3 に対して ping を発行していますが，192.168.1.3 というノードは存在しないため

見本

第7部

実験研究! Wi-Fi USB ドングルの使い方 & 実力1

Linux なら USB も無線 LAN もネットワークも楽々!

第21章 Wi-Fi ドングル用

2Linux ドライバ入門

3
4

矢野 越夫
ラズベリー・パイ 2 に Wi-Fi USB ドングルを接続
すると，USB デバイス・ドライバや USB コア，USB
ホスト・コントローラ，そしてネットワーク・ドラ
イバが動作します．その役割を説明します．
（編集部）

Linux の無線 LAN ドライバ
今回のラズベリー・パイの OS には Linux（Raspbian）
を使います．Linux では無線 LAN ドライバは，WLAN
抽象化層（Abstract Layer）として提供されます．

● 無線 LAN のミドルウェア ･ パッケージ
図 1 に Linux における無線 LAN（WLAN）関連のソ
フ ト ウ ェ ア・ パ ッ ケ ー ジ の 位 置 付 け を 示 し ま す．
Linux の無線 LAN の各 API は全て抽象化されて実装されています．
▶ WEP
最も簡単な暗号化層です．初期の暗号化システムとぜいじゃくして採用されましたが，皆でよってたかって脆弱性を発見したため使用中止が叫ばれています．
▶ WPA2-PSK
現在堅ろうと考えられれている暗号化システムです．家庭や小規模オフィスでは，認証サーバを利用せずに PSK（Pre Shared Key）をそれぞれ設定して，双方を認証して接続します．
▶ Wi-Fi Direct
無線親機（アクセス・ポイント）を使わずに直接子機同士を接続する機能です．片方が Wi-Fi Direct に対応していると，もう片方からはアクセス・ポイントとして見えるので，普通に接続できます．
▶ WPS「Wi-Fi Protected Setup」のことで，ボタンを押す
だけで，無線親機と子機が簡単に接続できます．無線LAN 関連の業界団体「Wi-Fi アライアンス」が仕様を固め，対応機器の認定を行っています．
Linux には，おおよそ以上のようなミドルウェア・
パッケージが WLAN ドライバとして用意されています．実際のラズベリー・パイ 2 のハードウェアとのイ
ンターフェースには SDIO と USB があります．USB

6

ユーザのネットワークに関するアプリケーション・ソフトウェア

7

無線LANミドルウェア
無線LAN 抽象化層
（プロトコル非依存インターフェース）
WEP

Wifi
DirectWPA2PSK
サプリカント/
認証

WPS
エントリ・
レジスタ

5

8
ネット
ワークに
関する
プロト
コル・
スタック

Linux
カーネル

9
10
11

USB Wi-Fiホスト・ドライバ

12

図5で説明

13

USBドライバ・スタック
図3で説明

Linuxから提供される Wi-Fi USBドングルから

14

図 1 USB も Wi-Fi もネットワークも ! Linux における Wi-Fi ドングル関連のソフトウェア・パッケージ

1516の場合は各種ドライバ・スタックで構成され，USB
プロトコルを解釈します．

17● USB からネットワークへの接続18

図 2 に，ラズベリー・パイ 2 に Wi-Fi USBドングルを差したときの無線 LAN と有線 LAN の関係を示します．ラズベリー・パイ 2 はほとんどがソフトウェアで処理されるので，ハードウェアとその中のソフトウェ
アをごちゃ混ぜで表現しています．

Linux の USB ドライバ

19
20
21
22

● ドライバは 3 層構造
図 3 に示すように，Linux の USB ドライバは大きく
3 階層の構造を持っています．
▶① USB ホスト・コントローラ・ドライバ
デバイスに一番近いホスト・コントローラ・ドライ
バは，USB の基本的な通信を制御します．USB ホス
ト・インターフェースのハードウェアには依存します

見本
207

23
24
25

第7部

実験研究! Wi-Fi USB ドングルの使い方＆実力

2.4GHz 帯も 5GHz 帯もいろいろ試してみました

第22 章 ピッタリ! ラズベリー・パイに Wi-Fi ドングルをつなぐ

仙田 智史，矢野 越夫
表1

ラズベリー・パイで動かしてみた 2.4GHz 帯 /5GHz 帯の Wi-Fi ドングル

項目

WLI-UC-GNM（写真 3）GW-USMicroN（写真 4）

伝送方式注 1

11n：MIMO-OFDM， 11n：MIMO-OFDM， 11n/11g/11b 準拠
11g：OFDM，11g：OFDM，
OFDM，DSSS，
11b：DSSS
11b：DSSS
単信（半二重）11n/g：OFDM，
11b：DSSS

送信出力

10mW/MHz 以下

型

名

LAN-WH300NU2（写真 1）

11n：300M，
最大データ転送
11g：54M，
速度［bps］注 2
11b：11M
周波数範囲2412 〜 2472MHz（中心周波数）WN-G300UA（写真 2）

───

11n：150M，11g：54M，
11b：11M

11n：150M，11g：54M，
11b：11M

11ac：433M，
11n：150M，
11a：54M

セキュリティ

アクセス方式インフラストラクチャ

アンテナ

源

2.4GHz 帯

2412 〜 2472MHz（中心周波数）

2.4GHz 帯（2412 〜 2472MHz）

5GHz 帯（W52/W53/W56）

量WPA2-PSK（TKIP/AES），
WPA-PSK（TKIP/AES），
WEP（64/128 ビット）

WPA2（暗号化方式：
TKIP/AES，
認証方式：PSK/
WPA2-PSK（AES/IEEE 802.1x ），TKIP），WPA（暗号化方式： WPA-PSK（AES/
TKIP/AES，
TKIP），
認証方式：PSK/
WEP（64/128 ビット）IEEE 802.1x ），WEP（64/128 ビット）インフラストラクチャ，アドホック

送信× 2/ 受信× 2

─USB 2.0/1.1

─

5V，230mA

5V ± 5%，
最大 270mA

外 形 寸 法（ 幅 × 約 15 × 15 × 150mm
奥行き×高さ） （突起部含まず）質─

1 〜 13

WPA2-PSK（AES/
TKIP），
WPA-PSK（AES/
TKIP），WEP（64/128 ビット）

電11ac/n/a

11n：300M，
11g：54M，
11b：11M

チャネル

インターフェース

GW-450S（写真 5）

約 16 × 152 × 15mm

送信× 1/ 受信× 1（内蔵チップ・アンテナ）─

USB 2.0/1.1
5V
16 × 9 × 20mm

5V，最大 1.5W

約16.0×35.5×8.0mm 約16.0×7.3×18.8mm

約 13g

約 13g

約 3g

約 4g

約 2g

1545

1336

713

1580

1809

注 1：11x は IEEE 802.11x の略

注 2：環境により変動

価格（2015 年 6月
27 日 Amazon 調べ）

ラズベリー・パイにはWi-Fi ドングルがピッタリ!
● Wi-Fi USB ドングルは安くて高速
ラズベリー・パイは何でもそろっていますが，唯一（？），Wi-Fi 機能だけはありません．そこでラズベ
リー・パイに Wi-Fi 機能を追加できる方法を模索しま
した．

210

microSD タ イ プ の Wi-Fi カ ー ド は， ま だ あ ま り 出
回っておらず，ドライバも入手しにくいので今回は試していません．
ドライバ・レスの組み込み用の Wi-Fi モジュールもいくつか発売されていますが，UDP を選択しにくく，価格が高くつく場合も多いです．USB ドングルなら実測値で 80Mbps（第 24 章）出るうえ，価格も 700 円台
からそろっています．

見本

第7部

実験研究! Wi-Fi USB ドングルの使い方＆実力ドライバをゲットして改造

第23 章 LinuxでいろいろなWi-Fiドン

グルを動くようにする方法

仙田 智史
方法2：ドライバを見つけてきて
インストールする
ユーザ・アプリUSBデバイス・ドライバ

USBコア

insmodUSBドライバを登録する

ドライバ登録rmmod

USBドライバを解除する

ドライバ解除

ベンダ ID＋プロダクトID

USBデバイス接続通知

prob()

ID検索

入出力の準備方法1：既存のドライバに対して
ベンダIDとプロダクトID
情報を新たに登録する
USBホスト・
コントローラ・ドライバ

USB挿入信号USBヘッダ情報

USBデバイス・ファイル作成

open()
read()
write()
close()

file-operations()

物理層通信

データ入出力USBデバイス切断通知

USB抜取信号disconnect()
ネットワーク・
ドライバへ
図1

終了処理

Wi-Fi USB ドングルを動かす方法

前章では，ウェブでドライバを検索して，接続できそうな五つの Wi-Fi USB ドングルを選んでラズベ
リー・パイに接続して確認を行いました．その際に，挿しただけでは動かないドングルがありました．こ
こではその対処法を紹介します．
（編集部）
現在の Linux では，USB ポートにデバイスを接続す
ると，udev サービスから usbcore を通じて，USB デバイスの idVendor/idProduct に対応したドライバがロードされるようになっています．
USB の ID 情報からどの USB デバイス・ドライバをロードするかは，各 USB デバイス・ドライバ自身にあらかじめ登録されている USB の ID 情報を元に検索されます．
Wi-Fi USB ドングルを接続したときに OS が認識しない場合は，対応するデバイス・ドライバがインストール済みかどうかによって対応が変わってきます．
以下，二つの対処方法を示します（図 1）．
方法 1：USB の ID 情報を登録

216

USBデバイス・ファイル削除

方法 2：ドライバを見つけてきてインストール

方法 1：USB の ID 情報を登録する
対応するデバイス・ドライバそのものはインストー
ルされていても，USB の ID 情報が登録されていない，というケースです．GW-USMicroN（プラネックスコ
ミュニケーションズ）がこのケースでした（表 1）．
WLI-UC-GNM（バッファロー）と同じ rt2800usb ド
ライバで動作しますが，プラネックスコミュニケー
ションズの方はドライバに idVendor および idProduct
情報が登録されていませんでした．

● ドライバ・モジュールがどの USB デバイスに対応するか確認
まず，rt2800usb のドライバ・モジュールが，どのUSB デバイスに対応しているのかを，modinfo コマ
ンドで確認してみます（リスト 1）
．

見本

第7部

実験研究! Wi-Fi USB ドングルの使い方＆実力

公称値だけじゃなくて実力もスゴかった !

第24 章 最高100Mbps級! 2.4GHz帯＆5GHz帯Wi-Fiドングル通信速度の実力
仙田 智史

アクセス・ポイント
Aterm WF1200HP（NEC）間を計測します．実際に速度を計測した構成を図 1 に，測定プログラムをリスト 1 に示します．

有線送信装置（RaspiAとする）
ラズベリー・
パイ2

1024バイトのパケット

RaspiBとする．
パソコンでもよい
ラズベリー・
パイ2
IP：192.168.0.100

IP：192.168.0.201（a）送信実験ラズベリー・
パイ2

有線（RaspiA）
受信装置

1024バイトのパケット

ラズベリー・
パイ2（b）受信実験
アクセス・ポイント

送受信装置（RaspiA）
ラズベリー・
パイ2

1024バイト
のパケット
送信/受信

（RaspiB）
ラズベリー・
パイ2（c）送受信実験
図1

次のことを検討します．
1，Wi-Fi USB ドングルごとの最高転送速度，
速度のばらつき
2，2.4GHz 帯と 5GHz 帯利用による速度差● テスト・プログラムの動作

アクセス・ポイント

送信装置（RaspiB）● 検討すること

テスト・プログラムの動作としては，まずサーバ（raspiB）側でテスト・プログラムを実行して受信用
TCP ポートをオープンします．その後クライアント（raspiA）側でプログラムを実行し，サーバへ接続します．双方のプログラムがお互いに 1024 バイトの送受
信を 20,000 回行ったあと，通信にかかった時間を表示
します．
ソース中の NOSEND という define を有効にすると，TCP 接続のあとクライアントからは何も送らずに，サーバからだけ 1024 バイトを 40,000 回送ります．
これで片方向の通信だけを計測します．同じ動作を
raspiA と raspiB を入れ替えて実行し，送信だけと受信だけの通信を計測します．
テスト全体の所要時間からビット・レートを算出し，1024 バイトごと（送受信テストでは送受信合計 2048 バイト）の通信時間の分布から，通信の安定性を見てみます．

1024 バイトのパケットを数万回転送する実験● 結果
第 22 章，第 23 章で紹介した Wi-Fi 通信機能を持つ
Wi-Fi USB ドングルを使って，実際に通信させてみて，どのくらいのスピードが出るのかを測定してみ
ます．
（編集部）
TCP 接続で通信する簡単な計測プログラムを作成してみました．USB ドングルを使ったラズベリー・パイ（RaspiA）と，アクセス・ポイントの LAN 側につないだ別のラズベリー・パイ（RaspiB）とでダミーのデータを送受信して，一定サイズの通信にかかった時

222

データ送信の結果を図 2 に示します．データ受信だ
けの結果を図 3 に示します．データ送受信の結果を
図 4 に示します．図の読み方ですが，横軸が 1024 バイ
ト・パケットの送信，受信，送受信を行った回数（例
えば送信 / 受信なら 40000 回，送受信なら 20000 回），
縦軸がそのときにかかった時間です．
▶送信だけ / 受信だけ
まず，送信だけ / 受信だけでの傾向の違いについて，
WN-G300UA（アイ・オー・データ機器）のデータを例に比較してみます．送信だけの場合［図 2（b）
］を見る

見本

注：本章の結果は今回の実験環境によって計測された一例です．無線通信チャ
ネルの混み具合などで状況は変わります．参考程度とお考えください．

第7部

実験研究! Wi-Fi USB ドングルの使い方＆実力数 Mbps で済むような小型モバイル用途向け
第25 章 Wi-Fi モジュール図鑑
奥原 達夫

表1

1 個から買える! ワンチップ・マイコンでもつながる Wi-Fi モジュール

開発元

IEEE 802.11
a

b

g

n

UART
XBee Wi-Fi（S6B）

ディ ジ インターナショナル

3.14 〜
3.46

○ ○ ○

○

SPI
S T M 3 2 F 4 D I S - ST マイクロエ
WIFI
レクトロニクスWVCWB-R-022
WVCWB-R-003
GS2011MIx
GS2011MIxS

CC3200MOD

GainSpan

テキサス・
インスツル
メンツ

BP3595

ローム

BP3599WYSAAVDX7

226

太陽誘電

価格［円］
（2015 年6 月 10 日時点）

コネクタ3680 〜

表面実装

4,580

○ ○ ○
○ ○ ○

UART
SPI

コネクタ

表面実装

─

SDIO 3.4 〜 5.5 ○

9,000
13,0002.3 〜 3.6

○ ○ ○ UART
○ ○3.1 〜 3.6
SPI
○ ○ ○
○ ○
○ ○ ○
3.1 〜 3.5 ○ ○UART○ ○ ○ SDIO
3.3
USB
○ ○ ○
3.1 〜 3.5 ○ ○
○ ○ ○

5,868

表面実装
コネクタ
パターン

WM-RP-D シリーズ アルファWM-RP シリーズ プロジェクト
BP3591

基板
との
接続

○ ○ ○

パターン

CC3100MOD

ウィビコム

UART
5
○
SPI
UART
○ ○ ○
○
SPI
3.1 〜 3.6
SPI
○ ○ ○ ○
○ ○
SDIO
UART
○ ○ ○
SPI
3.3
○ ○
SDIO

その他 パターン ワイヤ

名

アンテナの
種類
外付け

型

ホスト・ 電源インター 電圧
フェース ［V］

チップ

無線規格

コネクタ

備

考

東京エレクトロンデバイ
ス，三井物産エレクトロニクス，アイ・ビー・エ
ス・ジャパン，スイッチサイエンス，秋月電子通商，Mouser Electronicsなど
Mouser Electronics

技適マー
クなし

ダイトエレクトロン

22,000
ALTIMA， 伯 東， 加 賀（評価デバイス，佐鳥電機など
キット）$86.99（評価キット） テキサス・インスツルメ$59.99 ンツ
CPU/
（評価
RFIC
一体型
キット）
5,480
アルファプロジェクト
7,800
5,800
6,500
6,600

コネクタ

取り扱いメーカ

3,258

RS コンポーネンツ，
チップワンストップ
Mouser Electronics，
太陽誘電

見本

見本