XBee ZigBee 管理ライブラリ ZB Coord API
for Raspberry Pi and Arduino

by ボクにもわかる地上デジタル

XBeeメインメニューへ戻る
地デジトップへ戻る

このページについて

 このページでは、XBee ZigBeeやXBee Wi-FiのAPIモードを使用して、Raspberry PiやPC、Arduino、ARM、H8マイコンから簡単にXBeeネットワーク管理やXBeeモジュール制御をすることが可能なソフトウェアライブラリの最新版を公開しています。XBee ZigBee (ZB)が中心ですが、XBee Wi-Fi(S6,S6B)にも対応しています。

 Raspberry Pi の場合は、下記のコマンドでダウンロードできます。

git clone https://github.com/bokunimowakaru/xbeeCoord.git

 本XBeeソフトウェアライブラリ「ZB Coord API」はXBee親機となるCoordinatorに接続した外部マイコン上で動作させることを前提にしていますが、子機となるRouterやEnd Deviceでも動作し、子機が他の子機を制御したり管理したりすることも可能です。

XBeeネットワーク構成の一例

ダウンロード

 以下のサンプルソフトウェア、ライブラリソフトウェアを無料で使用することができます。(再利用などの権利については各ソースコードを参照ください。)
 XBee ZBモジュールの使い方やサンプルの実行方法については「XBee ZigBeeを使ってセンサネットワークを構築しよう」を、ソフトウェアの作成方法については「XBee ZigBeeを使ったプログラムを作ってみよう」などのページをご参照ください。

XBee ZigBee/Wi-Fi管理ライブラリ ZB Coord API ソフトウェア・資料
ファイル・リンク 説明
GitHub:xbeeCoord Raspberry Pi用 XBee ZB ライブラリ ZB Coord API [最新版]
xbeeCoord_192.zip Arduino/ARM/PC用 XBee ZB/Wi-Fi ライブラリ ZB Coord API V1.92
xbeeCoord_190.zip Arduino/ARM/PC用 XBee ZB/Wi-Fi ライブラリ ZB Coord API V1.90
xbee_arduino_192.zip Arduino専用 XBee ZigBee/Wi-Fi ライブラリ ZB Coord API V1.92
xbee_arduino_190.zip Arduino専用 XBee ZigBee/Wi-Fi ライブラリ ZB Coord API V1.90
README.txt 説明書(ハード、ソフト、インストール方法)
#ref_manual XBee ZB用 リファレンスガイド
#ref_manual_gpio XBee ZB用 GPIO 一覧表
README_wifi.txt XBee Wi-Fi用 トラブルマニュアル ※XBee Wi-Fiは原則サポート不可
sample01_led.c サンプル1 リモートLED制御(Digi純正XBIB-U-DEV及び自作品兼用)
sample02_sw.c サンプル2 スイッチ状態取得(Digi純正XBIB-U-DEV及び自作品兼用)
sample03_add.c サンプル3 新規デバイス検出(Digi純正XBIB-U-DEV及び自作品兼用)
sample04_sens.c サンプル4 センサー読み取り(Digi純正XBee Sensor専用)
sample05_plug.c サンプル5 SmartPlug読み取り(Digi純正 XBee Smart Plug専用)
sample06_myplug.c サンプル6 自作SmartPlug用(参考:ZigBee Smart Plugの製作方法)
sample07_uart.c サンプル7 XBee用ロガー for PC(UARTで送られて来たデータを保存)
sample08_html.c/zip サンプル8 センサーHTML表示 for PC(収集データをスマホで閲覧)
sample18_httpd.c/zip サンプル18 センサーHTTPサーバ for PC(スマホから閲覧&操作)
xbee.c Arduino/ARM/H8/PC共通ライブラリ ソースリスト
xbee_test.c ATコマンド解析ツール for PC(リモートATコマンドの応答値確認用)
#xbee_test_manual ATコマンド解析ツール for PC 説明書
xbee-cord_sch.pdf Coordinator用回路図 (End Device用は「自作品」を参照)
xbee-sensor.pdf XBee用 センサーの回路図
my_xbee_plug.pdf 自作 Smart Plugの回路図
上記ソフトウェアおよび資料に関していかなる損害も補償しません。


注意事項

 編集や再配布については各ソース毎に標記してあります。すべてのソースに関して著作権表示の改変は禁止します。当サイトで配布しているソフトウェアおよび掲載情報によっていかなる損害が発生した場合であっても当方は一切の補償をいたしません。全て自己責任でご利用ください。

PC/H8/Arduino用 管理ライブラリ
ZB Coord API 使用説明書

XBeeのGPIOポート一覧表

 XBee ZBの汎用(GPIO)ポートの一覧表です。当ライブラリの「ポート番号」はXBee仕様で規定されているDIOポートやAIOポートと同じ番号です。下表の最左列に記します。また、「DIN」列はデジタル入力、「AIN」列はアナログ入力、「出力」列はデジタル出力の機能の有無を表します。出力列の「◎」は8mA出力端子(その他は4mA出力)です。
 Digi社のリファレンス機器の設計においてはポート1〜3をデジタルもしくはアナログ入力として、ポート4、11、12をデジタル出力にする場合が多いので、ポートに余裕がある場合はそれに従います。

XBeeのGPIO汎用ポート一覧表
ポート番号 XBee IO名 XBeeピン番号 DIN AIN 出力 主な用途
1 DIO1 XBee_pin 19 (AD1) 汎用入力用(DIN or AIN)
2 DIO2 XBee_pin 18 (AD2) 汎用入力用(DIN or AIN)
3 DIO3 XBee_pin 17 (AD3) 汎用入力用(DIN or AIN)
4 DIO4 XBee_pin 11 × 汎用出力用(LED3)
11 DIO11 XBee_pin 7 × 汎用出力用(LED2)/I2C SCL
12 DIO12 XBee_pin 4 × 汎用出力用(LED1)/I2C SDA

 下表の専用ポートにはXBee専用の機能が割り当てられています。ポート0のCommissionはペアリングを行うためのコミッショニングボタン用です。ポート5はネットワーク参加状態を示すLED用です。ポート10は電波強度をアナログ出力(PWM出力)する端子です。最左列にポート番号が書かれているポートは汎用ポートとしても使用できますが、元の専用機能が使えなくなりますのでポートが不足しない限りは上表の汎用ポートから使用します。

XBeeの専用ポート一覧表
ポート番号 XBee IO名 XBeeピン番号 入力 出力 主な用途
- VCC XBee_pin 1 電源 3.3V
- GND XBee_pin 10 電源 GND
- RESET_ XBee_pin 5 × リセット
- ON XBee_pin 13 × 電源状態表示
0 DIO0 XBee_pin 20 (Cms) Commission コミッショニングボタン
5 DIO5 XBee_pin 15 (Ass) Assosiate アソシエート表示
- DOUT XBee_pin 2 (DOUT) × UART Data Output
- DIN XBee_pin 3 (DIN) × UART Data Input
6 DIO6 XBee_pin 16 (RTS) RTS input
7 DIO7 XBee_pin 12 (CTS) CTS output
(8) (DIO8) XBee_pin 9 (DTR) × SLEEP_RQ スリープ要求
10 DIO10 XBee_pin 6 (RSSI) RSSI indication

PC/Arduino/H8用 管理ライブラリ
ZB Coord API 関数リファレンスガイド

テキストメッセージ送信用関数

PC/H8/Arduino用 管理ライブラリ
ZB Coord API エラー ガイド

BeeBee Liteモードについて

 BeeBee Liteモードは一定の互換性を保ちつつArduino の使用メモリーを節約して動作するモードです。本XBeeライブラリのVer 1.90 以降をインストール後、お手持ちのXBee 用のアプリケーションで宣言しているライブラリ「#include <xbee.h>」を「#include <xbee_lite.h>」に変更すると、BeeBee Lite モードで動かすことが出来ます。(PC版ではxbee.cをxbee_lite.cに変更)
 但し、当初に投稿していただいたライブラリだと試験ツールxbee_aging を通過しない項目が多く動作も不安定だったため、調整・機能削減した結果、改善効果はArduino 上でSD カード使用時のメモリ確保改善など限定的なものとなりました。XBee ライブラリVer 1.90 においてxbee_aging のコンパイル後のプログラムサイズはArduino で866 バイト(約4%)の削減、PC で6kB(約6%)の削減、試験時間は約0.5秒(約2%)の短縮、CPU 使用率は約10%の削減を確認しました。
 以上のように推定10%ほどのリソース削減しかできない結果となりましたが、今のライブラリ機能を維持するにはこのあたりが限界と思います。
 SDカードのライブラリを組み込むと動作が不安定になるという場合に限り、使っていただくような位置づけです。

AT/リモートATコマンド解析ツール説明書



XBeeメインメニューへ戻る

地デジトップへ戻る