「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
工場ではHandy Terminal(ハンディターミナル、以下、HT)などのモバイル端末を用いて、作業の効率化を行うシステムの導入がすすんでいます。その際、周辺機器との無線通信手段の一つとして、Bluetooth(ブルートゥース)があります。今回は、HTを使用したBluetooth通信アプリケーションの開発事例について紹介させていただきます。
2.4GHz帯を使用して比較的低速度のデジタル情報の無線通信を行う用途に採用されている無線規格のことです。Bluetoothは全世界で共通仕様となっており、マウスやキーボードなどのPCの周辺機器やスマートフォンなどのモバイル端末に幅広く利用されています。
Bluetooth製品は3つのClassに分かれており、Classによって通信距離の有効範囲が異なります。
Bluetoothは、「パークモード」 、「ホールドモード」、「スニフモード」の3つの省電力モードがあります。また、Classの通信距離が短いほど、低消費電力が可能になります。
Bluetoothは障害物に強く、ポケットなどにBluetooth通信機器を入れていても外部の通信機器へ電波が届きます。
Bluetoothには、SPP(Serial Port Profile)というシリアル通信を無線化するプロファイル(※1)が策定されています。このプロファイルを使用すると、ユーザ(開発者)は通常のシリアル通信と同じような手順でプログラムを作成することができます。
現在、以下の通信規格が策定されています。
バージョン | 最大通信速度 (対称性通信時) |
主な変更点 |
---|---|---|
1.x | 432.6kbps | 普及バージョン |
2.x | 1306.9kbps | ペアリングの簡略化、EDA(※2)追加 |
3.x | 24.0Mbps | HS(※3)追加 |
4.x | 1.0Mbps | 省電力化 |
表1. BlueTooth通信規格
Bluetoothで使用する2.4GHz帯は無線LANの使用する帯域と同じです。
そのため、無線LANの電波とBluetoothの電波が干渉して、速度の低下が起こる可能性があります。
工場向けのHTのアプリケーションで、Bluetoothを使用したときの開発事例について紹介いたします。
図1. システム構成図
従来、計測機器の計測結果はHTアプリケーション上で手入力を行っており、HT上での数値入力に手間がかかっていました。
開発目的はBluetooth通信で計測結果を取得し、計測結果の手入力を自動化することになります。
今回の開発環境は以下の通りです。
本開発では、計装機器に合わせてSPPで通信を行っています。
通信処理の流れは以下の図の通りです。
図2. 通信処理の流れ
今回の開発環境は以下の通りです。
HTで通常にアプリを起動する分には問題なくても、デバッガからデバッグ実行を行う時には、通信ができないケースがありました。タイミングの問題と推測できますが、デバッガを有効活用できず、問題点の原因追究に時間がかかりました。
計測結果は、決められたフォーマットの送信メッセージに準拠して送られてきます。しかし、受信したメッセージが、決められたフォーマットから若干異なっている場合が稀にありました。そういった場合、そのメッセージを破棄するようにしています。
まず、決められた手順以外で接続/切断を行わないと、Bluetoothデバイスが制御不能状態になってしまい、通信ができなくなってしまうことがあります。そういった場合、HTをリセットして、初めから処理をやり直さないと、通信を再開することができません。
しかし、決められた手順で接続/切断を行っても、通信ができなくなってしまう現象が発生しました。この場合も、HTをリセットするしか、通信を再開する手段がありません。発生頻度は、1日数時間の使用で、1週間に1〜2回です。
Bluetoothの問題と関係するかはわかりませんが、メーカのQ&Aで、「おかしいと思ったら、すぐリセット」、「定期的なリセット(例:1日1回)を行うようにしてください。」という記載があります。
そこで、通信ができなくなったときにリセットができる機能を追加し、1日の使用が終わった段階でリセットを行う運用として、問題の発生の頻度を減らす対策を行っています。
今回は、Bluetoothの概要とそれを使用した開発事例についてご紹介させていただきました。
拙い文章ですが、お読みくださりありがとうございました。本稿が皆様の参考になれば、幸いです。
(K.S.)
関連ページへのリンク
関連するソフテックだより