#きっかけ
僕「先輩がArduinoを無線化できるモジュールを置いてってくれた」
僕「センサー類をArduinoに載せ替えて無線通信すれば配線気にせずに済むやん」
※XBeeについては最初はほとんど無知でした
いずれはラズパイとArduino間を無線化しようと考えています
#用意したもの
・Arduino UNO (Amazonで購入)
・XBeeとArduinoに接続するためのモジュールがセットになったやつ
・USBケーブル (A-miniB) ←片方のXBeeと適当な端末に接続用
・USBケーブル (A-B) ←Arduino電源&書き込み用
「XBeeとArduinoに接続するためのモジュールがセットになったやつ」はこんな感じ
XBeeのモデルは「XB24-API-001」
だいぶ昔から放置されてホコリ被ってたやつなので今でも売ってるのかよくわからん...
青と赤と青緑のコントラストがなんとなくかっこいい
XBeeもN番煎じですがやっていこうと思いまする
#手順
##XCTUのインストール
XBeeにファームウェアや設定等を書き込むための「XCTU」をこのサイトからダウンロードし、インストールする↓
https://www.digi.com/support/productdetail?pid=3352
Diagnostics,Utilities and MIBs
のタブをクリックすると各OSごとのソフトウェアをダウンロードできる
##XBeeモジュールにファームウェアや設定を書き込む
XBee本体の裏側に個別IDが記載されているのでメモして控えておく(二つ分)
どちらを親機、子機にするかは適当に
例
上8桁 | 下8桁 | |
---|---|---|
親機側 | 0013A200 | XXXXXXXX |
子機側 | 0013A200 | YYYYYYYY |
XCTUをインストールしたパソコンにXBeeを接続する こちらのUSB接続できるモジュールに載せて接続
XCTUを起動し、接続したXBeeを読み込む 左上の検索アイコンをクリックすると
接続するポートを選択して適当に`Next`, `Finish`をクリックするとXBeeが認識される 最後に`Add selected device` でXbeeモジュールが読み込まれる
読み込まれたモジュールをクリックするとファームウェアの詳細と設定の書き込みが可能になる 設定の書き込みの欄に、適当に決めた共通の4桁の`PAN ID`(青丸)と**子機側のID**(赤丸)を入力する (画像は親機側の設定) さらに親機の設定(緑丸)の部分を`Coodinator [1]`にする 最後に書き込みボタン(鉛筆マーク)をクリックして設定を書き込む
親機側のモジュールを取り外して子機側も同様に接続して設定する 子機側の場合は書き込み欄に同じ`PAN ID`と**親機側のID**を入力し、Coodinatorの欄を`End device [0]`に設定する 最後に書き込みボタンをクリック
##通信テスト
親機側をUSB変換モジュールに載せ,子機側をArduino接続モジュールに載せる (冒頭の画像の通り)
Arduinoに予めテスト用のスケッチを書き込んでおく
パソコンにArduinoを接続し、Arduino IDE
を起動する
開くをクリックし、04.Communication
→ASCIITable
をクリックすると適当に文字列を表示するサンプルスケッチが読み込まれる
読み込まれたスケッチをArduinoに書き込む
Arduinoをパソコンから取り外し、適当なUSB電源に接続する 親機側をパソコンに接続し、XCTUを起動する 上述した手順で親機側をXCTUに読み込ませて赤丸の部分をクリックしてコンソール画面を開く その後、青丸の部分をクリックしてXBee同士を接続させる
Arduinoのリセットボタンを押してしばらくすると、Arduino側から送信された適当な文字列がコンソール画面に表示されたらテストは完了
画像ではhello! see you!を繰り返すようなスケッチを書き込んでいるが、赤文字で何か表示されていれば相手から何か受信してることになる
今後はArduinoにセンサー類をつけて、取得した値が無線通信されるかやっていこうと思います #参考にしたサイト
・接続関係
https://mag.switch-science.com/2012/07/20/startup_xbee_s1/
https://www.aihara.co.jp/~junt/electronic-circuit/XBee.html
後から気づいたけどこちらの記事で詳しくやってくれてますね...w
XbeeでPC-Arduino間1対1通信を行う
有用な情報ありがとうございました