本書は、無線によるセンサーネットワークの構築に興味がある方や、無線を利用して実現したい作品のアイデアを持っているハードウェアハッカー、デザイナー、アーティストのための無線ネットワークの入門書です。省電力に優れたZigBee規格の無線機器のなかで、最も使いやすく豊富な機能を持つXBee無線モジュール(シリーズ2)を対象に、ハードウェアの選び方、最初の設定、ArduinoやProcessingと組み合わせて使う方法などの基本を詳しく解説します。作例も、シンプルな2台の機器の通信から、スケーラブルなメッシュネットワーク、さらにクラウドサービスとの連携まで幅広く、それらを通してXBeeの機能を身につけることが可能になります。付録にはXBeeコマンドリファレンスも掲載しました。
はじめに
1章 準備
XBee無線モジュールの購入
ハードウェア
アンテナ
入手先
アダプタの購入
Digi評価ボード
USBアダプタ
ブレークアウトボード
Arduinoボードをアダプタとして使うハック
ピンの機能
ターミナルプログラムの選択
ファームウェアの更新ソフトウェア
設定を行うためのターミナルソフトウェア
まとめ
2章 動かしてみる
無線の基本
電磁波スペクトラム
逆二乗則
ZigBee入門
ネットワークトポロジー
アドレス方式の基本
PAN ID
チャネル
すべてを組み合わせる
XBeeファームウェアの更新
現在のファームウェアと設定を読み出す
XBeeの設定
シリアル端末プログラムの設定
Windowsからの接続
Macintoshからの接続
コマンドモードと透過モード
ATコマンド
ATコマンドを使ってみる
基本的なZigBeeのチャット
部品
アドレス
コーディネーター
ルーター
コンピュータ2台の場合
コンピュータ1台の場合
チャット
トラブルシューティング
成功!
3章 ドアベルの改良
ZigBeeとArduino
Arduinoについて
Arduinoの基本
Arduinoの接続
ドアベルプロジェクト
部品
無線モジュールの準備
Arduinoからブレッドボードへ電源を接続する
XBeeブレークアウトボード
XBeeの接続
ドアベルの基礎
スイッチ入力
そしてブザーの出力
XBeeの設定
Arduinoにドアベルをプログラムする
フィードバックのあるドアベル
光によるフィードバック
Arduinoにフィードバック付きドアベルをプログラムする
おまけ:昼寝モードのドアベルなど
4章 入力と出力
データの話
直接、間接、そして背後の意味
入出力の概念
XBeeダイレクトを使う理由
XBeeダイレクトの制限
XBeeの入出力機能
入出力設定ATコマンド
高度な入出力コマンド
ロマンチック照明センサー
基本的なロマンチック照明センサー
センサーボードの準備
基地局の準備
フィードバック付きのロマンチック照明センサー
APIについて
5章 APIとセンサーネットワーク
APIとは何か
プロトコル
人間の場合
コンピューターの場合
XBeeAPIプロトコル
開始デリミタ
フレーム長
フレームデータ
チェックサム
APIフレームタイプ
ATコマンド
AT応答
ZigBee送信要求
ZigBee送信ステータス
ZigBee受信パケット
入出力データサンプル受信通知
リモートATコマンド要求
リモートコマンド応答
必要なものだけを使う
ライブラリ
シンプルなセンサーネットワーク
部品
コーディネーター無線モジュールの準備
ルーター無線モジュールの準備
センサーボードの準備
基地局側の準備
基地局のプログラミング
大成功!
6章 スリープ機能と物理世界への働きかけ
スリープモード
エンドデバイス
スリープの設定
簡単にスリープを設定するには
スリープ機能を使ったシンプルなセンサー
部品
エンドデバイス無線モジュールの準備
エンドデバイスXBeeの設定
アクチュエーターの直接制御
アクチュエーターを直接制御する製作例
部品
コーディネーター無線モジュールの準備
ルーター無線モジュールの準備
アクチュエーターボードの準備
ルーターXBeeの設定
基地局側の準備
Processingによるシンプルなアクチュエーターネットワークの表示コード
まとめ
7章 インターネットへの進出
ゲートウェイ
組み込みゲートウェイとしてのXBee
その他の組み込みゲートウェイ
インターネットゲートウェイ
インターネットメディア
コンピューターと専用機器の比較
ConnectPort
ConnectPortの選択
ConnectPortの設置
ConnectPortの設定
リモート管理
iDigi接続サーバー
iDigiの機能
ConnectPortの追加
設定の確認
ファームウェアの更新とリモートリブート
XBeeネットワークを表示する
XBeeインターネットゲートウェイ(XIG)
XIGのインストールと設定
XIGのテスト
XIGの利用例
Twitterリーダー
部品
XBeeインターネットゲートウェイの準備
ルーター無線モジュールの準備
ルーター無線モジュールの設定
Twitterリーダーボードの準備
Arduinoのプログラミング
さらに先へ
8章 もっと活用するために
ZigBeeの高度な機能
ZigBeeスタックレイヤー
APS層
ルーティング
セキュリティ
ZigBeeプロトコルリファレンス
シリアルフロー制御
RTSとCTS
データの共有
Pachube
Pachube版のシンプルなセンサーネットワーク
APIキー
5章のシンプルなセンサーネットワークを作成する
基地局のプログラミング
ProcessingによるPachube版シンプルなセンサーネットワークのコード
ZigBeeの将来
次のステップ
創作のヒント
作品の共有
付録 参考情報
Arduinoに関する情報
Processingに関する情報
Pythonに関する情報
ネット上のZigBeeに関する情報
標準化団体
DigiInternationalの情報
それ以外のオンライン情報のリスト
お勧めの書籍
まちかど望遠鏡
トラブルシューティング
よくあるXBeeの間違い
XBeeとArduinoに関する間違い
各種の表
他のZigBeeモジュール
ZigBeeパケットスニファ
DigiのXBee無線モジュール
XBeeコネクタおよびシールド
16進数、10進数、および2進数の対応
ASCIIコード
XBeeコマンドリファレンス
アドレス指定コマンド
ネットワークコマンド
セキュリティコマンド
RFインタフェースコマンド
リアルインタフェースコマンド
入出力コマンド
診断コマンド
ATコマンドオプションコマンド
スリープコマンド
実行コマンド
索引
監訳者あとがき