ラズベリーパイをDACSのUSBサーバにする   [ .1 . 2 . 3. ]


  このページではラズベリーパイにDACSのUSBデバイスを接続して、ラズベリーパイをUSBデバイスサーバーとして動作させる方法を解説しています。 Windowsパソコンからネットワーク経由でDACSのUSBデバイスを操作することが可能になります。
  接続可能なデバイス
  DACS-1500H、DACS-2500、DACS-2500K、DACS-8200 の各シリーズ製品です。 複数製品のID番号(スイッチ設定)を、それぞれ異なる番号に設定してラズベリーパイに接続すれば、 Windowsパソコンからは複数デバイスをID番号をもとに個別に制御することができます。
  同時接続可能なパソコン (アプリケーション) 数
  最大4台までのパソコンを接続しアプリケーションの並行処理が可能です。

ラズベリーパイをDACSのUSBデバイスサーバーとして動作させる構成例

  以下のインストール作業がとても面倒と思われる方には

  日本製 ラズベリーパイ3 モデルB 純正ケース入り ACアダプタ付き
  DACS USBデバイスサーバーソフト設定済SDカードがついて

  Windowsパソコンから簡単なネットワーク設定で
      デバイスサーバーとして動作するセット品
      ラズベリーパイは設定からサーバー起動までヘッドレス動作

 
RPi-USBDS
8,500円(税別)
 
説明書はこちら


  インストール作業が苦にならない方は以下の手順で

■ ラズベリーパイの準備

  使用するラズベリーパイ Raspberry Pi 3 モデルB
  OS は Raspbian
  接続するルータとのネットワーク設定が完了しているものとします。

■ ラズベリーパイにUSBデバイス用ダイレクト版ドライバをインストール

  ダイレクト版ドライバのインストール方法は ページ2 の解説をご覧ください。
  Windowsパソコンには、USBデバイスドライバをインストールする必要はありません。

■ ラズベリーパイ側のUSBデバイスサーバーソフトの準備

  (1) 次のUSBデバイスサーバーソフトをダウンロードし解凍します。 ソースプログラムとコンパイル用のmakeファイル、ヘッダファイルなどが入っています。 処理内容の詳細はソースプログラムの注釈(和文)をご覧ください。 (注) DACS製のUSBデバイス専用です。DACS製品以外では動作しません。

DACS USBデバイスサーバーソフト RPiDvSv

  (2) ダウンロードし解凍したファイルをディレクトリ Pi の直下にディレクトリ(RPiDvSv)ごとコピーします。
  (3) デスクトップ画面左上の をクリックし、ターミナルを開きます。
  (4) cd RPiDvSv と入力し RPiDvSvディレクトリに移動します。
  (5) make と入力しコンパイルを実行します。 これでラズベリーパイ側の準備が完了します。

■ ラズベリーパイのIPアドレスを確認

  ラズベリーパイでターミナルを開き、ifconfig と入力します。
  表示されたなかに 192.168.xxx.xxx というアドレスがありますので、これをメモしておきます。 Windowsパソコン側の準備で必要となります。   さらに、ルータ設定でラズベリーパイを固定IPアドレスとする場合は、 ハードウェアアドレス(MACアドレス)もメモしておきます。

  (参考) ラズベリーパイにディスプレーなどを接続していない場合は、ルータの通信情報ログなどで、ラズベリーパイのIPアドレスとハードウェアアドレス(MACアドレス)を確認する方法もあります。

■ ラズベリーパイ側のUSBデバイスサーバーソフトを起動してみる

  (1) ターミナルを開き、cd RPiDvSv と入力し RPiDvSvディレクトリに移動します。
  (2) sudo ./RPiDvSv と入力しUSBサーバーソフトを起動します。

  USBサーバーソフトの動作
  DACSのUSBデバイスを接続していれば、デバイス情報を表示します。
  その後は、クライアントとなるWindowsパソコンからの接続要求に応じてネットワーク接続をし、データ送受信の中継を行います。 複数のUSBデバイスを接続している場合はID番号(スイッチ設定)を識別して、ID番号の一致するデバイスとデータ送受信を実行します。

  サーバーソフトの終了方法
  !(感嘆符)キーを押した後、enterキーを押すとプログラムが終了します。 ctrl-Zなどで強制的にプログラムを終了させると、ネットワークとUSBデバイスの終了処理ができませんので、 次に、そのままサーバーソフトを起動しても正常に動作をしません。強制的に終了させた場合は、リブートをすればサーバーソフトの起動が可能となります。

■ ラズベリーパイ側のUSBデバイスサーバーソフトの自動起動設定

  /etc/rc.localファイル に次の1行を追加します。追加する位置は exit 0 の行の前です。
          追加する1行 ./home/pi/RPiDvSv/RPiDvSv

  /etc/rc.localファイルの編集方法   テストエディタ nano を使用した場合の例
  ターミナルを開き sudo nano /etc/rc.local と入力し、編集後、画面に表示している操作メニューに従って保存してください。

自動起動設定後は、電源投入だけでUSBデバイスサーバー機能が動作します。

■ Windowsパソコン側の準備

  (1) 次のサンプルプログラムをダウンロードし解凍します。 C++ および C# で作成したソースプログラムとコンパイル済みの実行ファイルが入っています。 処理内容の詳細はソースプログラムの注釈(和文)をご覧ください。 解凍後、実行ファイル RPi_C.exe (C++) または RPi_CS.exe (C#) を適当なフォルダ(RPi_C、RPi_CS など)を作成して、そのフォルダにコピーします。

C++   サンプルプログラム RPi_C
 C#   サンプルプログラム RPi_CS

  (2) ラズベリーパイのネットワーク名とIPアドレスを hosts ファイルに登録します。

    登録方法
    hostsファイルの場所 c:\Windows\System32\drivers\etc
    メモ帳などのテキストエディタを使用して hostsファイルの最後に次の1行を追加します。
    192.168.xxx.xxx raspberrypi
        192.168.xxx.xxx の部分は、先の「ラズベリーパイのIPアドレスを確認」でメモしたアドレスです。

  (参考) IPアドレスを固定する場合は、ルータ設定でIPアドレスとMACアドレスの対応を登録しておきます。

■ Windowsパソコンのサンプルプログラムを起動

  先の「Windowsパソコン側の準備」でコピーした RPi_C.exe または RPi_CS.exe を実行します。
  正常にラズベリーパイと接続できると 「接続完了 コマンドをキー入力してください」と表示します。
  異常がある場合は「接続異常」と表示がありますので、もとに戻って準備状況などを確認してください。

  正常にラズベリーパイと接続できたとき
  たとえば、デジタル出力コマンドとして W0123456(Enter) と入力すると R0000000(CR) といった応答が戻ってきます。 複数のUSBデバイスを接続している場合は、2文字目のID番号をUSBデバイスのスイッチ設定番号と同じにすれば、 デバイスを指定してデータ送受信ができます。
  コマンドとレスポンスの文字列に関する詳細は、各USBデバイスの取扱説明書をご覧ください。

  プログラムのWindowを閉じるとサンプルプログラムが終了し、ラズベリーパイとの接続は解除となります。 サンプルプログラムを終了しても、ラズベリーパイ側のサーバーソフトは動作を継続していますので、 再びサンプルプログラム(RPi_C.exe)を起動すると、再度、ラズベリーパイとの通信ができます。 なお、!(感嘆符)キーを押して後、プログラムのWindowを閉じると、ラズベリーパイ側のサーバーソフトも終了します。 また、#キーを押して後、プログラムのWindowを閉じると、ラズベリーパイをシャットダウンすることができます。

プログラミング/コンパイル方法に関するご質問をいただきましてもお応えはできません。

前のページへ

  このページに直接こられた方は、こちらをクリックして、
  ダックス技研株式会社 計測制御用電子機器のHOMEに移動してください。
  USB接続のDIO、計測ユニットなどDACS製品を掲載しています。

    ダックス技研株式会社     〒709-0721 岡山県赤磐市桜が丘東5-5-380

Copyright(C) DACS electronics