R1225 で bacnet MS/TP を使用する方法
はじめに
BACnet MS/TP(Master-Slave/Token Passing)は、ビルオートメーションおよび制御ネットワーク向けの通信プロトコルです。これは BACnet(Building Automation and Control Networks)プロトコルスイートの一部です。MS/TP は通常、RS-485 物理層とバストポロジを使用します。すべてのデバイスは同じツイストペアケーブルに接続されます。MS/TP ネットワークにはマスタ局とスレーブ局が存在します。マスタはトークンの生成と配布を担当し、スレーブは要求を受信したときのみ応答します。マスタデバイスはトークンを渡すことで、どのデバイスがデータを送信できるかを決定します。トークンパッシング機構により、バス上の通信は秩序立っており、競合が発生しないように保証されます。
この記事では主に、reComputer R1225 上で bacnet MS/TP プロトコルの機能テストを実行する方法を紹介します。reComputer R1225 上で bacnet MS/TP サーバをシミュレートし、その後 W10 PC 上の YABE を使用してデバイスが存在するかどうかを確認しました。シミュレートしたデバイスが正常に検出できれば、bacnet MS/TP 通信が正常であることを意味します。
準備
このプロジェクトを開始する前に、ここで説明するように、あらかじめハードウェアとソフトウェアを準備しておく必要があります。
ハードウェアの準備
| reComputer R1225 |
|---|
![]() |
ソフトウェア
-
bacnet MS/TP は RS485 物理層を使用するため、reComputer R1225 上で RS485 機能を使用する方法については、この wiki を参照してください。
-
bacnet-stackライブラリアプリケーションを利用してサーバをシミュレートするため、以下のコマンドを入力してダウンロードする必要があります。git clone https://github.com/bacnet-stack/bacnet-stack.git
cd bacnet-stack -
この link にアクセスして、YABE(Yet Another BACnet Explorer)をダウンロードしてください。
-
この link にアクセスして、wireshark をダウンロードしてください。
ハードウェア構成
RS485-USB 変換器を使用して、R1225 を Windows 10 PC に接続してテストを行います。

bacnet mstp 通信機能をテストする手順
方法 1: コマンドラインインターフェース(CLI)の使用
Step 1: bacnet-stack をダウンロードします。

Step 2: ポート番号を変更します
bacnet-stack のデフォルトシリアルポート番号は /dev/ttyUSB0 です。実際に使用するポート番号がこれでない場合、通信はできないため、ポート番号を変更する必要があります。変更が必要なファイル名は ports/ linux/rs485.c です。これを使用するポート番号に変更します。ここでは /dev/ttyAMA30 に変更しました。

Step 3: 以下のコマンドを入力してコンパイルします。コンパイル結果は bin ディレクトリで確認できます。
make clean
make mstp
# wait
cd bin/

Step 4: bacserv を実行し、YABE を使用してシミュレートしたデバイスを検索します。シミュレートしたデバイスが正常に検索されたことが確認できます。

Step 5: wireshark を使用して bacnet MS/TP メッセージを確認します。シミュレートしたデバイスがトークンをパスしていることがわかります。バス上に他のデバイスがないため、トークンを渡し続けています。

方法 2: グラフィカルユーザーインターフェース(GUI)の使用
RS485 パラメータ設定
Quick Start ガイドに従って、SenseCAP Gateway OS の Web インターフェースにアクセスします。
Step 1: Luci にログインします
ブラウザでデバイスの IP アドレスを入力して、Luci ページにアクセスします。 次に、デバイスのユーザー名とパスワードを入力してログインし、Login ボタンをクリックします。

Step 2: RS485 - Serial Settings をクリックします

R1225 の 3 つの 485 チャネルすべてのパラメータ設定がここに統合されています。
まず、使用したいチャネル(CH1、CH2、CH3)を選択します。
次に、ボーレート、データビット、ストップビット、パリティ、フロー制御、読み取りタイムアウトなどのパラメータを設定します。

BACnet MS/TP パラメータ設定
3 つの RS-485 ポートのパラメータ(デフォルト設定は「9600, 8, 1, N」)を構成した後、BACnet MS/TP の設定を続行できます。
Step 3: RS485 - Protocol Configuration をクリックします
デバッグしたいチャネル(CH1、CH2、CH3)を選択します。
プロトコルステータスで「Enable」を選択し、プロトコルタイプで「BACnet MS/TP」を選択します。
有効化すると BACnet MS/TP の設定画面が表示されます。接続されているセンサーのデータシートに従って設定するだけです。

Step 4: BACnet MS/TP パラメータ設定

Step 5: Save & Apply をクリックします
設定が有効になったら、Read Data をクリックすると、Frame Sata に取得したデータが表示されます。

技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます。弊社は、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに応じて選択いただけるよう、複数のコミュニケーションチャネルを用意しています。
