carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

XBeeのFunnel I/O用設定と書き込み

USBエクスプローラもどきが完成したところで、実際にプログラムを転送しますが、その前にXBee側の設定を細かく設定する必要がありました。じつは、この辺の設定を間違えると、下記のようにエラーが発生します。
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
イメージ 1

最初にX-CTUツールで、XBeeの設定を変更します。
PC側のXBee設定と、Funnel I/O側のXBeeで設定が異なるので注意します。

■PC側(coordinator)
X-CTUのModem Configurationで、一度Readし、Profile->Loadで、下記のcoordinator_auto_reset.proを指定し、Writeボタンを押下する。
イメージ 2

※このXBeeは、PC側のXBeeとなる。

■Funnel I/O側(end device)
先の、XBeeを差し替えて、同様の手順で、edn_device.proを指定し、Writeボタンを押下する。
※このXBeeは、Funnel I/O側のXBeeとなる。

★私の場合、XBeeファームウェアVersionが、10CDでしたのでファームアップデートは不要でしたが、Versionが異なる場合は、アップデートが必要のようです。

■シリアルポートの設定を変更する。
本家のページのここにあるようにPCのシリアルポートの設定で、Set RTS On Closeにチェックを入れます。(このチャックが無くても、例のエラーが発生します。)

さて、ArduionoIDEの書き込み(Upload)ボタンを押下すると、約500ms後に、Funnel I/OのRSSIのLEDが点灯し、小さいプログラムの場合、5秒程度点灯後に、消えれば、正常です。RSSIのLEDが点灯したままの状態だったり、点灯、消灯、点灯を繰り返したりするのは、設定や、リセットの信号を確認するのが良いかもしれません。
イメージ 3

※私の場合、RTSのラインが接続されておらず上手く最初書き込むことができなかったのでトラブルになりました。ネット上の情報を探していたら、リセットを押してから、アップロードボタンを0.2秒以内に押すというようなやり方が書かれていましたが、現在のVersionは、自動的にリセットされるようで、その絶妙なタイミングでのリセットは不要みたいです。同じことで悩まれた人のヒントになれば幸いです。