SSブログ

FTFデザインチャレンジ参加作品 COIL System 総括編 5. [ColdFire V1]

フレーミング


Img_0688.jpgターミナルを主とし、それ以外のノードを従とするポーリング形式の通信を行いますが、フレーミングを行わないと、どれがコマンドでどれがデータの区別が付かなくなります。

こう言った場合にしばしば取られる方法がフレーミングです。
※APIモードを使用すれば必然的にフレーミングを行う事になりますし、フレーム毎に相手先を選べたり、送信結果を受け取る事も可能ですが、開発期間が短かった為、APIモードで悩む時間のリスクより、従来の考え方で使えるATコマンドモードを使用しています。今の段階では、ATコマンドモードより、APIモードの使用をお勧めします。


以下にフレーミングフォーマットを示します。
STX 送信先ID 送信元ID 制御コード データ長(2文字) データ(有れば) チェックサム(2文字) ETX
0x02 0x20~0x7F 0x20~0x7F 0x01~0x1F(一部使用できない番号有り) 16進数をASCIIで表記 全てASCIIで表記 送信先IDからデータまでの合計の下位8bitの2の補数をASCIIで表記 0x03

制御コードには、0x02(STX)、0x03(ETX)、0x09(HT)、0x0A(LF)、0x0D(CR)、0x1B(ESC)を除く0x01~0x1Fまでの値を使う事にします。
STX、ETX、制御コード以外にASCII文字を使用するのは、変換する手間が増えても制御文字、特にSTXと一致させない為に行っています。

プロトコルは最も簡単なポーリングを使用している事は先にも書きましたが、フレームを受け取ったノードはフレームのチェックを行い、問題が有る時は無応答としています。
ターミナル側は一定時間内に応答が無ければフレームの再送を行うか、特に今すぐ必要と言う訳では無いデータの場合は次の送信タイミングを待つ事となります。

相手先の64bitアドレスを指定して通信を行うZigBeeなので、送信する時に相手先IDは必要無い様にも思えますが、無線ネットワーク間の橋渡しを行うブリッジノードの場合は、自分宛てか、それとも反対側の無線ネットワークノード宛なのか判断が付かないので、必ず送信先IDを付加する事としています。

完全なポーリングではなく、例えばセンサーノードが時刻情報を必要となった時、ブリッジノードには時刻サーバーにアクセスする機能を搭載していますので、ブリッジノードとセンサーノード間でも通信が可能な様にするつもりでしたが、ちょっと間に合いませんでした。



余談(リーク有り)

PALTEKさんで行われたZigBeeのセミナーは良かったです。去年は導入編で、導入方法や問題等が解説されていましたが、今回は更に実際の運用に付いての解説が主でした。
10月7日にもディジインターナショナルさん主催のセミナーが有りますので、今回逃した方はどうぞ。セミナー内容は、今回よりも更に詳しい使い方や実際に動く導入事例などを代理店さん等が展示してくれるとの話です。
ドロップinネットワーク装置を使ったASP事業等の展示も有るそうなので、センサーネットワークを使ったサービスを考えていらっしゃる方は是非。

※例のアライアンスに支払うライセンス料みたいな奴ですが、どうも以前と比べてちょっと状況が変わってきている様です。
詳しい事は判りませんしここに書く事もできませんので、もしXBeeを使用していて(またはXBeeを使用する予定が有って)詳しい事を知りたい方は、是非ディジインターナショナルさんにお問い合わせを。ここのコメント欄に書いてもお答えできませんよ。
なお独自メッシュプロトコルももうじき発表されると思います。ディジメッシュと言うらしいです。

※今までZigBee自体は多くの方に知られていた割に、実際にそれを使った製品を見る事はほとんど無かった訳ですが(民生ではSONYのテレビのリモコンにZigBeeを使っていたのでしたっけ?。ああ違った802.15.4のみだ)、これからは状況が変わってくると思います。
あくまでもディジインターナショナルさんの見通しですが、PAN(ZigBeeなどの小規模エリアネットワーク)を使った通信は今後数年以内に現在の数倍に伸び、有線ネットワークを大幅に押さえて通信の主流になると見ているようです(別に有線ネットワークが減るとかではなく、無線ネットワークの適用が増えるのだと思います)。
実際にXBeeを使ってみれば判りますが、それは大袈裟な話では無いと思います。

※考えてみると、実際の運用上、センサーネットワークを設置した現場の電波の初期の状況がいつまでも維持されているかと言えば、それは期待できない訳ですよね。後から勝手に無線LANや無線PANを追加される事も考えられる。
そうすると、運用中にも電波の状況をモニターして、適宜適切な設定に変更する必要が出てくる。
ディジインターナショナルさんが、ドロップinネットワークと言うPANからLAN、WANまでをカバーする製品群を出しているのも良く判ります。詳しくは判りませんが、WAN側からの管理とかも可能なのかも。
リモートATコマンドを使用すると、無線経由でXBeeの設定を変更する事ができます。一つの解決策としてどうでしょう。

※950MHz帯もいよいよらしいです。これで電波曲がります(笑)。もっとも公証のボーレートは20Kbpsでしたっけ、落ちます。

※ディジインターナショナルさんは、ドロップinネットワーク製品の利用はあくまでも産業用途としているようですが、検索エンジンを使ってみるとかなりの数の個人での利用が見られますし、そのこと自体は意識されているようです。Make blogにもXBeeリモコンとか紹介されていましたしね。
XBeeがTELEC認証を取得した事で、個人でも法人でもZigBeeの導入に重大な障害は無くなった様に思えます。個人レベルで障害が有るとすれば、足のピッチが2mmピッチでブレッドボードに刺さらない位でしょう。ちょっと変換基板とか考えてみたいと思います。
ここを読んでいる電子工作ファンの皆さん、是非使ってみては如何でしょう。

※GAINER等で活躍されている小林さんと会場でお会いしました。ページトップの写真に写っているのは、小林さんから戴いた(お願いした)名刺です。
私より遥かに先にXBeeに関心を持たれ、使われている小林さんから、色々面白い話を聞かせていただきました。有難うございます。

+GAINER―PHYSICAL COMPUTING WITH GAINER

+GAINER―PHYSICAL COMPUTING WITH GAINER

  • 作者: GainerBook Labo
  • 出版社/メーカー: 九天社
  • 発売日: 2007/10
  • メディア: 単行本



はじめてのGainerプログラミングガイド (I/O BOOKS)

はじめてのGainerプログラミングガイド (I/O BOOKS)

  • 作者: 布留川 英一
  • 出版社/メーカー: 工学社
  • 発売日: 2008/05
  • メディア: 単行本



nice!(0)  コメント(8)  トラックバック(0) 

nice! 0

コメント 8

槫林

私も参加させて頂きました。

実はhamayanさんのお顔がわからなかったので、ラフな格好をした人を
探せば問題ないだろうと甘く見ていました。 私以外にもラフな格好の人が
何人も・・・(苦笑)。おそらく私の前が・・・??

今回使ってもいない製品のセミナーに参加させて頂いたわけですが
使ってないせいか、ツールなどの説明がよくわからなかったです。

現行のシリアルをそのまま無線化できるようなので、無線化する時には
使い易そうだと感じました。今まで試用した物の中には、そのまま置き
換えられる物はなかったので。
hamayanさんが書かれている様にチャンネルの設定しだいで、無線
LANとも共存できるのであれば、あと気になるのは遮蔽物がある状態
での、通信距離位でしょうか・・・。

10/7のセミナーに参加すると、キットの値段がゴニョゴニョという話を
聞いたので行きたい所ですが、正直忙しくていけない予感が・・・。

でわ
by 槫林 (2008-09-19 08:08) 

hamayan

私の当日の席番は3でした。スクリーンの真前で首が痛かったです。
私も槫林さんが来ている事は知っていたので、気に掛けたのですが、探しあぐねました。次回、お会いしましょう。

遮蔽物があればルーターを置いて中継させる事で、ネットワークを延長できるのがメッシュ。

by hamayan (2008-09-19 09:06) 

noritan

あれっ?
データ長って、16進数じゃありませんでしたっけ?
私が時刻と温度を送るプログラムを読んだ限りでは、「データ部分の長さ(22バイト)を16進数で表現($16)する」ように読めましたが。

by noritan (2008-09-19 12:41) 

槫林

やはり、そうでしたか・・・。

hamayanさんの背中にガンくれていたのが、おそらく私でしょう。
この1週間体調が悪くて、どうにも我慢できず終了後直ぐに撤退して
しまいましたが・・・。

隣部屋の機器のデータをPCで取りたいだけなので、スター型か
P2Pぐらいで十分だと思っています。
環境にもよると思うので、最終的には実際買って試してみないと。


by 槫林 (2008-09-19 12:54) 

hamayan

>データ長って、16進数じゃありませんでしたっけ?

そうでした。自分で作っておきながら。
どっちにしろXBeeのバッファが一度に送れるデータ数が128bytes辺りで一杯になってしまうみたいなのですけれどね。

by hamayan (2008-09-19 13:05) 

hamayan

>hamayanさんの背中にガンくれていたのが、おそらく私でしょう。

うわ!、真後ろでしたか、そこは死角です。

by hamayan (2008-09-19 13:07) 

kotobuki

会場ではありがとうございました。また、Xioへのコメントもありがとうございました。

変換基板ですが、私が普段使っているのはこちらです。

http://www.switch-science.com/products/detail.php?product_id=28

しかし、5V系を使う場合にはレベル変換も必要になりますので、hamayanさんのボードの方が随分便利だと思います。楽しみにしております。:)
by kotobuki (2008-09-23 23:14) 

hamayan

私もP板.COMを利用しているので50枚作成時の簡易見積もりを行うと、やっぱり諸費用込みで原価が一枚辺り600円位になってしまいます。
スパークファンは随分頑張っている数字を出していますね。

50枚作ったとしてもそんなに捌けるとは思えないので、個人で作るのはなかなか難しい。でも、作ってMake東京ミーティングに持ち込みたい夢は有る。

XBeeシリーズ2の無印は、最低動作電圧が低いので、ニッケル水素電池2本で長時間稼動デモとか出来そうなのが良いです。マイコンを繋ぐ場合もフリースケールのHCS08なら1.8Vから動くので、これも電池駆動でOK!。

by hamayan (2008-09-24 09:30) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。