ZigBee/Wi-Fi/Bluetooth無線用
Arduinoプログラム全集
書籍連携サポートページ by 国野 亘

XBeeメインメニューへ

地デジトップへ

このページについて

 このたびは「ZigBee/Wi-Fi/Bluetooth無線用Arduinoプログラム全集」をお買い上げいただき、どうもありがとうございました。
 このページは書籍を購入していただいた方々向けのサポートページです。


新 XBee ZB S2C シリーズでも動作確認済

新着情報

本書に関する新着情報
配信日付 章 Page Example
内容
2023/08/26 XBee_Coord for Arduino (2023/08/23版)
(Arduino) XBee ZB S2C モジュール対応-暫定版」を更新しました(Ver 1.98)。
2023/08/22 XBee_Coord for PC
(PC) XBee ZB S2C モジュール対応-暫定版」を更新しました(Ver 1.98)。
2019/12/14 XBee_Coord for Arduino
(Arduino) XBee ZB S2C モジュール対応-暫定版」を公開しました。
2019/12/03 XBee_Coord for Arduino
(Arduino) XBee ZBモジュールが動かない」を掲載しました。
2019/01/14 RN-42XVP
動作不具合時の対策に関する情報をRN-42XVP の補足情報に記載しました。
2018/12/24 XBee3
デバイスタイプの変更が可能なXBee3対応版xbee_zb_modeを公開しました。
2018/12/02 サポートページ
Yahoo!ジオシティーズの終了に伴いウェブページを移転しました
2016/03/20 第3章 P.31〜36
補足資料「ZigBee 無線のセットアップ方法(PDF)」を公開しました。
2015/10/26 libs/xbee.c
xbee_gpiコマンドでGPIOデータをリモート取得できないバグを修正しました。
2015/09/07 付属CD-ROM(第2版用)
付属する予定だった全ファイル一式のダウンロードが出来るようなりました。
2015/09/07 付属CD-ROMの使い方(P.8)
(PC) Cygwin版のインストール方法の補足説明を当ページに掲載しました。
2014/12/01 XBee_Coord for PC
(PC) XBee ZBモジュールが動かない」に「F不安定な場合」を掲載しました。
2014/10/29 Cygwin
bash 4.1.15以下に脆弱性の問題がありますので必ずCygwinを更新してください。
2014/10/26 付属CD-ROM
Cygwin GCC4 および Arduino 1.0.6対応版「CD-ROM(修正版)」を作成しました。
2014/08/24 XBee_Coord for PC
PC用 Cygwin GCC4 対応版 xbeeCoord_189」を一般向けにリリースしました。
2014/08/08 本書を元にした応用
アプリケーションサンプル募集中です。詳細は「応募用紙」を確認ください。
2014/07/22 XBee_Coord for PC
PC用xbee.cおよびxbee_test.cの対応シリアルCOMポートを1〜64に拡張しました。
2014/07/15 XBee_Coord for Arduino
トラブル:Arduinoでコンパイルが出来ない時を掲載しました。
2014/05/23 第19章1節 p.376
秋月電子でBluetoothモジュール RN-42XVPの購入ができるようになりました。

ZigBee/Wi-Fi/Bluetooth無線用Arduinoプログラム全集

ウェブページ移転のお知らせ

 Yahoo!ジオシティーズのサービス終了(2019年3月予定)に伴い、ウェブページの移転を行いました。

ウェブページの移転に関する情報

ライブラリとExample

 付属CD-ROMと同じものや最新版を、ダウンロードすることが出来ます。本書出版時には登場していなかった XBee ZB S2C 対応の暫定版も公開しています。これらを使用する場合は、後述の「XBee ZB S2C / XBee 3 対応」を参照ください。

ライブラリとExample ダウンロードファイル一覧
リリース日
内容
説明書 パソコン用 Arduino用
2023/08/26
XBee ZB SC2 変化通知対応版
xbeeCoord-raspi.zip
(GitHub上の最新版)
xbee_arduino_198pre.zip
(2023/08/23)
2019/12/14
XBee ZB SC2/XBee 3 対応《暫定版》
xbee_arduino_197pre.zip
(2019/12/14)
2014/11/08
不具合修正版(xbee_gpi xbee_adc)
xbeeCoord_194.zip
2014/11/02
第2版CD-ROM収録用リリース Ver 1.91
README_191.txt xbeeCoord_191.zip xbee_arduino_191.zip
2014/03/17
初版CD-ROM収録用リリース Ver 1.86
README_186.txt xbeeCoord_186.zip xbee_arduino_186.zip

Arduino用ライブラリ一覧
フォルダ名 ソフトウェア名 備考
XBee_Coord XBee 管理ライブラリ ZB Coord API XBee ZBを管理・制御するためのライブラリ
XBee_WiFi XBee Wi-Fi用ライブラリ XBee Wi-Fiを管理・制御するためのライブラリ
LiquidCrystalDFR DF ROBOT LCD Keypad用ドライバ 液晶表示とキーパッド用のコマンド集
Adafruit_RGBLCDShield Adafruit LCD用ドライバ 同上(Adafruit用)のコマンド集
DS3231 Seeduino Stalker用RTCドライバ スリープ機能や時計機能用のライブラリ
XBee_AndrewRapp 準標準 XBeeライブラリ Arduino標準を目指しているXBeeライブラリ
XBee_BeeLite メモリ節約版(第2版に収録予定) 使用メモリを節約して動作するXBeeライブラリ

XBee ZB S2C / XBee 3 対応

 書籍「ZigBee/Wi-Fi/Bluetooth 無線用 Arduino プログラム全集」執筆後に登場した XBee ZB S2C についても、出版後に対応しました。
 XBee ZB S2C / XBee 3 を使用する場合は、
対応版のソフトウェアを使用してください。
 また、最新の X-CTUの使い方や、ZigBee モードの変更方法に関しては、補足資料「ZigBee 無線のセットアップ方法(PDF)」をご覧ください。
 なお、XBee ZB S2C / XBee 3 については、本書のサポート対象外となりますので、不具合が生じた場合は十分に調べていただいたうえで、ブログ・ゲストブックから報告ください。また、XBee 3 対応も進めていましたが、現在、同製品の普及状況から開発を中断しています。


XBee ZB S2C


XBee 3

第2版に付属のCD-ROMについて

 第2版に付属のCD-ROMに収録すべきだったファイルが収録されておりませんでした。御手数ですが「CD-ROM(修正版)」からダウンロードしていただけるよう、お願いいたします。

PC版 ライブラリの不具合に関して

 PC用 XBee ライブラリ(ZigBee)の xbee_gpi および xbee_adc コマンドにバグがあることが分かりました。 XBee ZBモジュールの状態によってはGPIOのDIOデータやADデータのリモート取得が出来ない場合があります。半年前にExample 5で発生する報告を受けていましたが、その時は原因がつかめず、新たにExample 11で発生することが判明。 xbee_gpio_config で直ったという情報を手掛かりにバグを修正することが出来ました。
 本バグを修正したバージョン1.94を配布いたしますので、下記からダウンロードしていただけるよう、お願いいたします。

ライブラリ修正に関する情報

下記からZIPファイルをダウンロードしていただき、ZIPファイル内の「libs」フォルダ内の「xbee.c」を、PCの「libs」フォルダ(xbeeCoordをインストールしたフォルダ内)にあるファイル「xbee.c」に上書きしてください。「c:\cygwin\home\ユーザ名\libs\xbee.c」などにあると思います。
また、全てのアプリケーションをコンパイルするために、「make clean; make」を実行してください。

開発環境

 本書のサンプルを動かすために必要な開発環境のリンク集です。このページをブックマークしていただき、下記からアクセスしていただくと便利です。
 Digi X-CTUには、「Next Generation XCTU」と「Legacy XCTU」の2種類があります。書籍では「Legacy XCTU(XCTU ver. 5.2.8.6)」を用いて説明しています。Next Generation XCTUや最新のXBee ZB シリーズS2Cを使用する場合は、補足資料「
ZigBee 無線のセットアップ方法(PDF)」をご覧ください。

 なお、動作確認済みバージョンを使うことで、本書のサンプル・プログラムとの相性の問題を防ぐことが出来ますが、その一方で開発環境の不具合やセキュリティに対する脆弱性、OSとの相性などの問題が生じます。なるべく、最新の環境で使用してください。

開発環境のダウンロード(修正版 Ver 1.91)
開発環境
確認済Ver.
ダウンロード 備考
Cygwin
1.7.17
http://cygwin.com/install.html Windows パソコン用の開発環境
gcc-core
4.8.3-3
Cygwinインストーラで選択 Cコンパイラ
make
4.0-2
ビルダ
Arduino IDE
1.0.6
http://arduino.cc/en/Main/Software Arduino用の開発環境
Digi X-CTU
5.2.8.6
http://www.digi.com/support/productdetail?pid=3352 XBee用の設定ツール
FTDI USB VCP
2.12.00
http://www.ftdichip.com/Drivers/VCP.htm USBシリアル変換用ドライバ
SocketDebugger
1.14
https://www.udom.co.jp/sdg/freeedition.html ソケット通信用デバッグツール
秀丸エディタ
-
http://hide.maruo.co.jp/software/hidemaru.html 開発に適したテキストエディタ

開発環境のダウンロード(初版CD-ROM収録用)
開発環境
確認済Ver.
ダウンロード 備考
Cygwin
1.7.17
http://cygwin.com/install.html Windows パソコン用の開発環境
gcc-core
3.4.4-999
Cygwinインストーラで選択 Cコンパイラ
make
3.82.90-1
ビルダ
Arduino IDE
1.0.5
http://arduino.cc/en/Main/Software Arduino用の開発環境
Digi X-CTU
5.2.8.6
http://www.digi.com/support/productdetail?pid=3352 XBee用の設定ツール
FTDI USB VCP
2.08.30
http://www.ftdichip.com/Drivers/VCP.htm USBシリアル変換用ドライバ
SocketDebugger
1.14
https://www.udom.co.jp/sdg/freeedition.html ソケット通信用デバッグツール
秀丸エディタ
-
http://hide.maruo.co.jp/software/hidemaru.html 開発に適したテキストエディタ

トラブル1:PCに接続したXBee ZBモジュールが動かない

ZBee ZBの様子などに応じて対策を行ってください。

@XBee ZBモジュールをPCに接続しても(始めから)動かない

 USBシリアルドライバがインストールされていない可能性が考えられます。
 Windowsのデバイスマネージャを開いてエラー(警告)の出ているデバイスが
 無いかどうかを確認してみて下さい。
 多くXBee USBエクスプローラの場合、FTDI製のUSBシリアル変換ICを搭載して
 います。デバイスマネージャで当該デバイスのエラーが出ていた場合は、右
 クリックで「ドライバーソフトウェアの更新」を選択してFTDI製のVCPドライ
 バをインストールしてください。(本書p.27やp.168も参照してください。)

AEnd Deviceに設定したXBee ZBが動かなくなった

 ZigBee End Deviceは一定の時間間隔などで動作し、スリープ中は動作を停止
 しています。動作を強制的に再開させるにはコミッショニングボタンを1回だ
 け押下する、もしくはリセットボタンを押下します。

BX-CTUで設定やファームウェアの書き換えが出来なくなった

 X-CTUで設定やファームウェアを書き換えようとしてエラーが発生した場合、
 指示に従ってXBee USBエクスプローラのリセットボタンを使ってXBeeモジュー
 ルをリセットすると動作するようになります。

CX-CTUでファームウェアが書き込めなくなった

 上記@〜Bの問題ではない場合、ブートローダを書き換えます。本書p.35に
 記載のように「Always Update Firmware」をチェックして書き換えてください。
 ブートローダ書換中にリセットを実行したり電源が切れたりすると、二度と
 起動しなくなるかもしれません。慎重に実施してください。

D練習用サンプル Example 1が動かない(X-CTUとの通信は可能)

 ファームウェアが「ZIGBEE COORDINATOR API」もしくは「ZIGBEE ROUTER API」
 の「API」がつくものになっていことを確認してください。またX-CTUを含む
 通信系のソフトウェアを全て終了させてから動かしてみてください。
 プログラムを開始する時はp.55に記載のとおりCOMポート番号を指定する必要が
 あります。X-CTUで使用したCOMポート番号と同じCOMポート番号の数字だけを
 入力してください。

E練習用サンプル Example 2が動かない(Example 1は動作する)

 PC側の親機のファームウェアが「ZIGBEE COORDINATOR API」、子機のファーム
 ウェアが「ZIGBEE ROUTER API」または「ZIGBEE ROUTER AT」になっているこ
 とを確認してください。
 間違いない場合は、子機のコミッショニングボタンを4回連続で押下して子機
 のネットワーク設定を初期化してください。
 暗号化を設定した場合は、親機と子機の両方のネットワーク設定を初期化して
 ください。
 ネットワーク設定の初期化後にExample 2を再び起動してください。

F不安定な場合(起動したり起動しなかったりする)

 原因としてXBeeの電源容量不足、Windowsの不具合、XBeeの設定の不一致など
 が考えられます。
 XBee PRO ZBをお使いの場合はXBee USBエクスプローラーの電源仕様をご確認
 ください。一例として本書P25の電源容量500mA以上のものが目安です。
 電源仕様に問題が無ければ、Windows用USBシリアルドライバ(多くはFTDI製)
 を最新のものに変更してみてください。またWindows上の他のアプリはあまり
 起動しないようにします。それでも不安定な場合はWindowsを再起動すると安
 定する場合があります。
 X-CTUにて、「AP値=1」、「AO値=0」、「NB値=0」、「SB値=0」になって
 いることも確認してください。

G問題なく動いていたのに突然、動かなくなった

 まずはXBeeモジュールのリセットを試し、それでも直らない場合はコミッショ
 ニングボタンを4回連続で押してネットワーク設定を初期化します。
 あるいは本書P33〜P35を参考に、X-CTUを使って設定、ファームウェア、ブート
 ローダを書き換えると直る場合もあります。
 ファームウェアを書き換えた場合は、過去の設定が現在のファームウェアに
 影響する場合があります。P34に記載のように設定の「Restore」実行を行うこ
 とをお奨めします。Restoreで直らない場合は上記Cのブートローダを書き換え
 ます。

HArduino用の準標準ライブラリXBee_AndrewRappを使用後、PC版で動かなくなった
  new! 2019/12

 X-CTUにてAP(API Enable) = 1となっていることを確認してください。

トラブル2:Arduinoでサンプルのコンパイルが出来ない

Arduino IDEの問題:以下のいずれかが原因となっている可能性があります。

@他にXBeeのArduino用ライブラリがインストールされている

 本書以外のXBee関連のライブラリを、一旦、別のフォルダに「移動」し、
 Arduino IDEを終了・再起動してください。

A「XBee_Coord」フォルダが適切な場所にインストールされていない

 本書のXBee用ライブラリが以下にインストールされている必要があります。

  「マイドキュメント▼Arduino▼libraries」

 上記に「XBee_Coord」フォルダがコピーされているかどうかを確認し、
 見つからなかった場合は、本書p.167をご参照いただき、「XBee_Coord」
 フォルダコピーしてください。また、その中に「XBee_Coord」フォルダ
 内に「xbee.h」と「xbee.cpp」が入っているかどうかも確認ください。

BArduino IDEの再起動をしていない

 ライブラリのインストール後にライブラリを有効にするには、Arduino IDEを
 終了・再起動する必要があります。ライブラリのインストール後に、
 一度も、Arduino IDEを終了していない場合は、一度、終了し、Arduino IDEを
 再起動してください。

CArduino IDEのバージョンが古い

 現時点で最新のArduino 1.0.5にて動作確認を行っております。もし、
 1.0.5以前のものをお使いでしたら、1.0.5にアップデートしてください。

D初期設定ファイルを変更した

 下記の初期設定ファイルを手作業で変更・追記された場合、一旦、バック
 アップをとってから初期状態に戻してください。

  C:\Users\xxxxxx\AppData\Roaming\Arduino\preferences.txt

EArduino IDEとWindowsのバージョンとの相性の問題。

 各種の最新版の相性の問題についてはサポートしておりませんが、Arduinoや
 マイクロソフトのウェブサイトなどのネット情報をご確認いただいたうえで、
 互換性に関する情報を、教えていただけるよう、お願いいたします。

F当方ライブラリと各種最新版との相性の問題。

 お知らせいただければ、なるべく対策する方向で考えさせていただきます。
 ただし、状況によって対策を実施しない、あるいは十分なサポートが出来ない
 場合がありますことを、予めご理解いただけるよう、お願いいたします。


Arduino IDEの再インストール手順:

(1) Arduino IDEの「ファイル」の「環境設定」の「スケッチブックの保管場所」が
  適切かどうかを確認してください。(下記は一例)

  C:\Users\<アカウント>\Documents\Arduino\libraries\XBee_Coord

(2) Arduino IDEを終了した状態で、インストール済みのXBee_Coordフォルダ(上記)を
  削除してください。

(3) 下記からArduino用のZIPファイルをダウンロードしてください。
  https://bokunimo.net/bokunimowakaru/cq/download/xbee_arduino_191.zip

(4) ダウンロードしたZIPフォルダを開き、「XBee_Coord」の「フォルダごと」、
  下記にコピーしてください。

  「マイドキュメント▼Arduino▼libraries」

(5) Arduino IDEを起動し、「↑」アイコンをクリックし、「libraries」の中に
  「XBee_Coord」があることを確認し、その中から、目的のスケッチを選択して
  下さい。

トラブル3:Arduinoに接続したXBee ZBモジュールが動かない

ZBee ZBの様子などに応じて対策を行ってください。

@準標準ライブラリXBee_AndrewRappを使用後に動かなくなった new! 2019/12

 X-CTUにてAP(API Enable) = 1となっていることを確認してください。

A最新の XBee ZB S2Cモジュールで動作しない。 new! 2019/12

 XBee ZB SC2/XBee 3 対応《暫定版》をお試しください。
 動作に不具合が生じている場合、お知らせいただければ、なるべく対策する方向で
 考えさせていただきます。
 ただし、状況によって対策を実施しない、あるいは十分なサポートが出来ない
 場合がありますことを、予めご理解いただけるよう、お願いいたします。


トラブル4:PC(Cygwin)版のインストール方法が分からない

まずはP.44〜P.48に記載の方法でCygwinのインストールを行います。
Cygwinをインストール後、ダウンロードした「xbeeCoord.zip」もしくは
「xbeeCoord_XXX.zip」に含まれる「cqpub」「libs」「tools」フォルダと
「Makefile」ファイルをCygwinの作業フォルダにコピーします。

例えばWindowsのユーザ名が「xbee」で、Cygwinを「C:\cygwin」にインス
トールした場合の作業フォルダの場所は、

「C:\cygwin\home\xbee」

です。

このユーザ名のフォルダにコピーすればインストール完了です。
Cygwinを起動し、「make」コマンドを実行すればソフトウェアのコンパイル
が行われます。


応用@ Example 27 暗くなったら家電の電源をONする(本書 p.145)
  〜自作スマートリレーを製作する〜

 本書p.147で紹介したスマートリレーの製作方法を「自作スマートプラグ・リレー制御部の製作方法」に掲載しています。


応用A Example 29 リモートブザーの製作(本書 p.152)
  〜圧電スピーカをXBee ZBモジュールに直接接続する〜

 本書では電源電圧を与えるだけで音が出る電子ブザーを用いましたが、より安価な圧電スピーカをXBee ZBモジュールに直接接続する方法を「XBee ZigBeeブザー・ベルの製作方法」に紹介しています。


応用B Example 59 ワイヤレスガスセンサ(本書 p.282)
  〜一酸化炭素ガスを測定する〜

 本書ではArduinoでの測定が容易なメタンガスセンサの製作例を紹介しましたが、Arduinoからの制御が必要な一酸化炭素ガスセンサの製作例を「ワイヤレス ガス漏れ・一酸化炭素ガス警報器」に紹介しています。


応用C Example 60 ワイヤレス赤外線リモコン送信機の製作(本書 p.287)

 本書で説明した赤外線リモコン送信機用のリモコンコードの一例(Sharp 液晶テレビ、Panasonic BDレコーダ、SONY DVDレコーダ、ONKYO アンプ、Sharp エアコンなどの一部のコード)を「赤外線リモコンコードの一例:ir_data.txt」からダウンロードすることが出来ますので、ご利用ください。
 あるいは(家電に付属の)赤外線リモコンからリモコンコードを取得する方法もあります。この場合、「受信機」を製作する必要があります。その場合、当方サイト内の「Arduino 赤外線リモコンコード解析ツール」をご利用ください。

 

 またサイト内の「乾電池で動く無線リモート赤外線リモコン」では赤外線リモコン操作の履歴を収集するロガーにも対応した子機の製作方法を紹介しています。

応用D Example 62 XBee ZB搭載ガイガーカウンタ(本書 p.298)
  〜夏場の発熱を低減する放熱対策〜

 本機の内部温度は(p.302右列に記載のとおり)40℃以下に保つ必要があります。その対策の一例の記事を「ZigBee 放射線測定ガイガーカウンターの製作2」に補足しました。


ノウハウ:拡張COMポート版の使い方

 初版CD-ROMに掲載したPC(Cygwin)上で動作するXBeeライブラリは、シリアルCOMポート番号をCOM1〜10の範囲で使用する必要がありました。出版後にtasasaki様によるアドバイスでCOM1〜64までをサポートできるようになりました。修正版xbeeCoord_191.zipを配布中につき、ご利用ください。

拡張COMポート版の使い方

 PCのxbeeCoord_186をインストールしたフォルダ(cygwinのhome内など)の「libs」フォルダの「xbee.c」と、「tools」フォルダ内の「xbee_test.c」を

xbeeCoord_191.zip

内のものと置き換えてください。
 テストツールxbee_test.cにて従来のCOM1〜10に加えてCOM11〜64までをサポートできるようになります。xbee_init()の引数についても11以上を扱えるようになります。

 PC用XBeeライブラリlibs/xbee.cおよびxbee_test.cを用いたプログラムにおいて、シリアルポートの指定を一桁の数字に制限していましたが、二桁のシリアルポート番号でも動作できるように拡張しました。
 xbee_test.cの200行目で一文字だけ抜き出している所を2桁指定の入力も可能にし、libs/xbee.cの965行目からも2文字対応のための改良を行いました。
 なお、COM65以上のポートはうまく動作しませんので、libs/xbee.cにエラー処理を追加しています。windows7のデバイスマネージャではCOM256まで存在していますが、COM65以上は/dev/にマッピングファイルが生成されず、取り扱えないようです。

他社ZigBee PRO 2007製品との接続

 初版CD-ROMに収録したPC用XBeeライブラリにおいて他社ZigBee PRO 2007製品との接続を行った場合の応答値が不適切だったことが、判明しましたので不具合を修正しました。

他社ZigBee PRO 2007製品との接続方法

 XBeeライブラリVer 1.91以降および同配布物のXBeeコマンド解析ツールを用います。

修正版(Ver.1.91)をお使いの方

 当該ライブラリの「tool」フォルダ内の「xbee_test」をコンパイルして実行します。引数はXBee ZBを接続したシリアルCOMポート番号(数字のみ)です。

初版CD-ROMをお使いの方

 下記ZIPファイルに含まれる「xbee.c」を、xbeeCoordをインストールしたフォルダ(cygwinのhome内など)の「libs」フォルダ内のものと置き換えてください。実行方法は上と同じです。

xbeeCoord_191.zip (第2版は対応済み)

使い方

 XBeeコマンド解析ツールxbee_testを用いて、ZigBee PROの製品との相互接続を行うことが出来ます。xbee_testにてZigBee PROモードへ移行するには「zb」コマンドを用います。反対にXBeeモードに戻るには「xb」を入力します。
 ZigBee PRO用の専用コマンドは下記のとおりです。これらのコマンドを使用して市販のZigBee PRO製品の通信コマンドを試すことが可能です。ただし、当方が試した製品では暗号化を解除できず、動作確認することが出来ませんでした。

命令    内容                使用例      使用例の動作内容
--------------------------------------------------------------------------
zb      汎用ZigBeeモード    AT>zb       ZigBee PROモードへ移行 ZS=2,AO=1
xb      XBee ZigBeeモード   AT>xb       XBee ZBモードへ移行    ZS=0,AO=0
zc      汎用ZigBeeコマンド  AT>zc       ZigBeeコマンドを送信する
zcdt    宛先アドレス        AT>zcdtFFFE 宛先ショートアドレスをFFFEに設定
zcse    Source End point    AT>zcse00   送信元エンドポイントを00に設定
zcde    Dest. End point     AT>zcde00   宛先エンドポイントを00に設定
zcci    Cluster ID          AT>zcci0000 クラスタIDを0000に設定
zcpi    Profile ID          AT>zcpi0000 プロファイルIDを0000に設定
zcrd    RaDius              AT>zcrd00   ホップ数を初期値に設定
zcfc    Frame Control       AT>zcfc08   方向をサーバ→クライアントに設定
zcsq    SeQuence number     AT>zcsq01   ZCLパケット番号を01に設定
zccm    ZCL CoMmand         AT>zccm00   ZCL命令00リードを設定
zcat    ZCL ATtribute       AT>zcat0000 ZCL属性を0000に設定

PC用 開発環境 Cygwin アップデート・更新方法

 bash 4.1.15以下がインストールされている場合は必ずアップデートしてください。bashの脆弱性(Shellshock)によってお使いのパソコンが乗っ取られる恐れがあります。
 
Cygwin アップデート・更新方法

bashのバージョン確認方法:bash -version

 bashのバージョンを確認するにはCygwinのコンソール上で

bash -version

と入力します。「GNU bash, version 4.1.XX」の「XX」が16以上でない場合は、必ず、更新してください。ところで、bashって何?と思われた方。先ほどの文字を打ったCygwinコンソール上でコマンドを受け付けているのがbashです。これが乗っ取られる恐ろしさは容易に想像できると思います。

Cygwinのアップデート方法

 一度、インストールしたCygwinをアップデートするのは簡単です。Cygwin Install ページからダウンロードしたsetup-x86.exe(Windows 32ビット用)またはsetup-x86_64.exe(Windows 64ビット用)を実行し、以降は全て「次へ」を選択してゆけば更新することが出来ます。

bash単体のアップデート方法

 前記のCygwinアップデートを行えばbashもアップデートすることが出来ます。もし、bashのみをアップデートしたい場合はSelect Packegesの「Base」の中の「bash」を選択してアップデートします。

PC用 Cygwin GCC4 対応版

 初版の書籍のPC版はGCC 3.4.4にて動作検証しておりましたが、最新版のGCC 4.8.3で動作確認したXBeeライブラリ ZB Coord API ソフトウェアを公開しましたのでお知らせいたします。XBee ZB以外のZigBee製品との通信不具合やGCC 4.8.3でコンパイルした時のXBeeライブラリ側の警告を解消しています。

Cygwin GCC4 対応版 ZB Coord API

GCCのバージョン確認方法:gcc --version

 Cygwinコンソールで「gcc --version」を入力すると「gcc (GCC) 4.8.3」のようにバージョンが表示されます。

初版CD-ROMをお使いの方

 より新しい ZIPファイル に含まれる「xbee.c」を、xbeeCoordをインストールしたフォルダ(cygwinのhome内など)の「libs」フォルダ内のものと置き換えてください。

修正版(Ver.1.91以降)をお使いの方

 すでに対応していますので、そのままお使いください。

本書の販売

制約事項

 出版後に発覚したサンプルプログラムの制約事項について以下に記します。

Arduinoプログラム全集 制約事項
サンプル 制約事項
Example 50 このサンプルでは電子ブザーでは無く圧電スピーカを使用します。
見た目は似たデバイスですが鳴音方法が異なります(p.153参照)
Example 58 ガス・センサは温度や湿度によって測定濃度値が変化します。
低温・低湿の時はガス漏れを検出できない場合があります。
より正確に測るには温度・湿度センサなどを追加して補正します。
Example 59 Arduino のマイコンのロット番号によっては温度が極端に異なる場合が
あります。
  問題なし(○):ATmega 328P-PU 1026 1050 1226
  問題あり(×):ATmega 328P-PU 1051
Example 65 子機XBeeの送信先DL値とDH値を初期値の0にしておく必要があります。
設定値が不明な場合はX-CTUで確認してください。
Example 73,74 Arduinoのタイマーは約50日後にリセットされて状態取得指示を送信し
なくなりますが、これを回避するための対策に誤りがありました。
バグ表の確認もしくは新しいサンプルをダウンロードしてください。
(第2版の書籍及びCD-ROMは修正済みです。)
Example 7,
9,10,13,15,
21,23,24,27,
28,30,69
データ要求間隔「#define FORCE_INTERVAL」の値は環境やライブラリの
バージョンなどで実際の動作間隔が変化します。
基準は20msですが10msくらいになる場合もあります。
(お使いの環境によって異なります。)

お詫び

 本書の「初版」と「第2版」に以下の誤りがありました。ご不便をかおけして申し訳ございません。

Arduinoプログラム全集 正誤表(初版・第2版)
58 左列 1行目 ZIGBEE ROUTER API ZIGBEE ROUTER AT(APIでも動作する)
316 表14-3 項目行 コード(例) HEX値の例
316 表14-3 3バイト目/コード(例):10 3バイト目/HEX値の例:0A
316 表14-3 4バイト目/コード(例):5 4バイト目/HEX値の例:05

 なお、初版については「初版の正誤表」についてもご確認いただけるようお願いいたします。


地デジTV用プリアンプの実験

お問い合わせ先・更新情報の受け取り方法

筆者は雑誌に記載した内容以外のサポートは行っていません。購入方法や乱丁については、書店・出版社へお問い合わせください

免責事項

本書および当サイトで紹介した内容のご利用は自己責任でお願いします。出版社および筆者は一切の責任を負いません。


by bokunimo.net