質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.99%

  • ネットワーク

    461questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Xbeeを3台用いたメッシュ型のネットワーク構築方法がわかりません

解決済

回答 1

投稿

  • 評価
  • クリップ 2
  • VIEW 243

i13010

score 4

前提・実現したいこと

私は、RaspberryPi(1台)とArduino Fio(2台)によるメッシュ型のネットワークを構成しようとしています。その通信に使用するディバイスとして、3台のXbee Pro S2Bを用意しています。
私が調べた限りでは、Xbeeをメッシュ型にする方法として、DigiMeshとAPIモードによるブロードキャスト通信の2つ方法があるようです。しかし、私が持っているXbeeではDigiMeshには対応していないので、APIモードによるブロードキャスト通信を用いて、メッシュネットワークを構成しようと考えているのですが、Xbeeのソフト[X-CTU]で設定するところで詰まっています。

発生している問題・エラーメッセージ

[X-CTU]の設定は以下の通りです。
API Cooordinator (1台)

PAN ID 123
Scan Channels 1
Scan Duration 3
Zigbee Stack Profile 0
Node Join Time FF
Destination Address High 0
Destination Address Low  0
Baud Rate 9600
API Enable 2

API Router (2台)
PAN ID 123
Scan Channels 1
Scan Duration 3
Zigbee Stack Profile 0
Node Join Time FF
Destination Address High 0
Destination Address Low  0
Baud Rate 9600
API Enable 2

この設定の状態で、X-CTUのSwich to Networking Mode で現在のネットワーク状態を確認すると3台のXbeeは繋がっているように見えるのですが、APIパケットを送っても、どのXbeeディバイスにの受信されません。
現在のネットワーク状態?

私の考えとしては、APIパケットの設定方法が間違っているのでは?と思って調べてみたのですが、どのフレームタイプを用いて行えばいいのかわからず、なにもできない状況です。
このネットワークの使用用途としては、1台のXbeeからGPSデータを残りの2台のXbeeに送信し、その結果(GPSデータ)よりGPSモジュールを有するXbeeに指示データを送ることを考えています。

もう一つわからないことがあります。
自分が意図したパケットは送られてくることはないのですが、なぜか自動的にパケットをやり取りしているのを止めることが出来ません。
下の写真のパケット履歴は意図せず勝手にどこかに送って、勝手に何かを受信しています。意図せぬパケット送受信

この2つのどちらかでの解決したいです。
どうか、みなさまの知識を私に貸してほしいです。

試したこと

3台のXbeeによるAPI通信は早いと思い2台で行ってみましたが、結果は同じで、APIパケットは送られてきませんでした。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

+2

解決しました!!
こんなしょぼいことは、誰も躓かないと思いますが、参考になればと思っい解決方法を残します。

[X-CTU]の設定は以下の通りです。

API Cooordinator (1台)

PAN ID 123
Scan Channels 1
Scan Duration 3
Zigbee Stack Profile 0
Node Join Time FF
Destination Address High 上位のアドレス(適当なZigbeeのアドレスを使用、今回はコーディネーター)
Destination Address Low  FFFF
Baud Rate 9600
API Enable 2

API Router (2台)
PAN ID 123
Scan Channels 1
Scan Duration 3
Channel Verification Enable[1]
Zigbee Stack Profile 0
Node Join Time FF
Destination Address High 上位のアドレス(適当なZigbeeのアドレスを使用、今回はコーディネーター)
Destination Address Low  FFFF
Baud Rate 9600
API Enable 2 

こんな感じで各機器の設定をしました。

わけのわからないパケットが送られてくる問題

これに関しては、ほんとにバカでした。
自分は、設定した後にネットワークスキャン実行した状態で、コマンドを送ろうしていました。
そのため、ネットワークが形成されいるのかチェックするためのコマンドがだだ漏れで流れていたみたいです。
なので、このスキャンを止めると、この現象がなくなり解決しました!!

APIフレームタイプ

私は、テスト用なので、Transmit Requestを使いました。

64bit dest.Addressのところを00 00 00 00 00 00 FF FFにしました。

以上の設定で3台メッシュネットワークの構築が出来ました!!

皆様お力添えありがとうございました。
これからもがんばります!

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.99%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Slackの使い方について

    最近Slackを登録して使っているのですが、Webサイトに載っている情報でも様々なものがあり、どれが正しいのかわからなくなってしまいました。初歩的で申し訳ないのですが、3個ほど質問

  • 解決済

    Xcode8でios5.1.1をコンパイルしたい

    こんにちは。 実はあるアプリの改修を打診されたんですが、 iPad1のユーザーもいるアプリとのことで、 ios5.1.1のOSに対応しなければならないとのことでした。

  • 解決済

    Arduinoで拍手の認識

    いつもお世話になっております。 Arduinoにて躓いてしまったので、どなたかご教授いただけますと幸いです。 現在、手袋にArduinoをつけて拍手をすると、Proce

  • 解決済

    Android Studio オフラインでエミュレータが実行できない

    前提・実現したいこと Android Studioでエミュレータをネットワーク無接続状態で起動したいです。 操作側のネットワークをオフラインでということです。 (Nexus 

  • 解決済

    struts2のjspで背景画像設定

    jspで背景画像を設定したいのですが、画像のパスや画像の置き場所がわかりません。 jspのあるファイルでimageフォルダを作り、その下に画像を入れ url("image/

  • 解決済

    XcodeプロジェクトをGitにPush出来ない

    Xcode,Git共に初心者です。 Xcodeのプロジェクトをsource controlからGitにpushしようとしたのですがうまくいきません。 ・Git、Xcodeでのリポジ

  • 解決済

    GAS でSLACK のbotを作りたい。

    前提・実現したいこと Google Apps ScriptにてSLACK botをつくりたい。 https://tech.camph.net/slack-bot-with-ga

  • 解決済

    Blender-複数のメッシュを一つのアーマチュアで動かす

    Unityで使用するロボットのモデルを製作しています。 ゲームのイベント(腕を飛ばすなど)に応じてロボットをパーツごとに分離できるようにするため、各パーツを別のオブジェクト(メ

同じタグがついた質問を見る

  • ネットワーク

    461questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。