シリアル通信Linux

10 件の投稿を閲覧中 - 1 ~ 10 件(全 13 件)
  • 著者
    投稿
  • #5051
    hyd
    一般参加者

    MZプラットフォームLinux版において、シリアル通信をしたいと思います。
    WindowsでCOMポートは、COM1、COM2、となり、「シリアル通信一覧を取得する」でコンポボックスに表示、接続できるのですが、Linux版での同プログラムでは、表示されません。
    Linuxでは、/dev/ttyUSB0、/dev/ttyACM0等で認識され通信もできています。
    Linux版でのシリアル通信が可能かどうかご教授ください。

    #5052
    MZPlatformユーザー会
    サイト管理者

    Linux版でのシリアル通信は可能なはずですが、お使いの環境による制限かMZ側の不具合の可能性があります。

    お手数をおかけして恐縮ですが、お使いのLinuxのOSおよびMZのバージョン等をお知らせいただけますでしょうか。

    #5053
    hyd
    一般参加者

    Linuxは、CentOS LInux release 7.4.1708(Core), x86_64です。
    MZは、MZ Platform Ver.3.5(Linux版)です。
    以上ですが、他あれば連絡ください。

    #5054
    MZPlatformユーザー会
    サイト管理者

    現時点で把握している情報をお知らせします。

    一点目は、Linux版のMZでシリアル通信を使用するために、root権限が必要なようです。
    MZを実行する際にsu等を実行してから、ローダーでアプリを実行し、シリアル通信のポート取得を実行してみてください。

    二点目は、シリアル通信がUSB接続によるものである場合、USBを挿したときにシリアルポートとして自動で認識されるかどうかは環境依存のようです。/dev/ttyUSB0や/dev/ttyACM0として認識されていれば問題ないと思いますが、過去に実験したときは、CentOSでは認識されず、Fedoraでは認識されたという経験があります。認識されない場合の解決方法はわかっておらず、そのときはFedoraを採用しました。

    上記のどちらでもない場合、MZ側の不具合かもしれませんので、もう少々お時間をいただきたいと思います。

    #5055
    hyd
    一般参加者

    連絡遅くなりました。

    シリアル通信の相手としてArduinoを使用しています。Unoは/dev/ttyUSB0,Mega2560は/dev/ttyACM0になります。これは、AruduinoIDEのソフトで挿入すると自動で認識されています。またパーミッションを変更して全権限ができるようにするとソフト書込みもできますし、IDEのシリアルモニターでのコマンド通信ができています。(root権限で行っています)
    一点目:上記の状態で、MZローダーでSampleのシリアル通信を立ち上げましたが、コンポボックスには何も表示されていません。
    今のところ、MZローダーでアプリを実行した場合、シリアル通信以外は問題なく動作しています。
    (サーバーとのMySQL通信も、LAN環境で問題なく動作しています)
    Linuxについて、初心者ですので、こちらの環境で調べることがあれば連絡ください。
    急いでおりませんので、時間的な問題はございません。
    宜しくお願いいたします。

    #5056
    MZPlatformユーザー会
    サイト管理者

    MZ側に不具合がないか確認しますので、お手数ですが最新版の3.6に入れ替えてもう一度動作確認をお願いできますでしょうか。

    #5057
    hyd
    一般参加者

    MZ3.6でも試しましたが、同様に認識できませんでした。
    実行した内容
    1.MZPlatform(64bit)をダウンロード→インストール→ローダーでシリアル通信ターミナル.mzax起動→コンポボックスのポート確認→表示されず
    2.Linuxでシリアル通信を行う場合、RXTXライブラリをインストールする必要があるとの事でMZPlatformのjavaにインストール。(RXTXcomm.jarを/lib/extへ、librxtxSerial.soを/lib/amd64へ) 
    3.再度1を実行しても表示されず。

    #5062
    MZPlatformユーザー会
    サイト管理者

    RXTXはMZに含まれていますので、2は不要です。MZ側のRXTXに不具合があるのかと確認しましたが、こちらの環境では動作しました。仮想OSですが、CentOS7にMZ3.6(64ビット版)を導入して動作を確認しました。

    1では、root権限で実行したでしょうか。ローダーを実行するときに端末からコマンドで実行すると、ポート一覧を取得しようとしたときに端末側にエラー出力が出ていないでしょうか。

    あとは、CentOSのインストール時にタイプや導入するソフトウェアを選んだと思いますが、その違いで動作が変わるか調べてみます。

    #5064
    hyd
    一般参加者

    CentOSとMZを再インストールしてみました。
    シリアル通信ターミナルで、ArduinoUnoの/dev/ttyUSB0を認識できました。
    こちらの不手際でご迷惑をお掛け致しました。
    (まだAruduinoMega2560の/dev/ttyACM0はArduinoIDEでは認識できているのですが、MZでは認識できていません。Linuxの初心者で設定等の問題があると思うのですが、もし、そちらで認識できているか教えていただければ助かります)
    AruduinoUnoが解決できましたので、作成中のソフトを展開できますので感謝申し上げます。
    ありがとうございました。

    #5065
    MZPlatformユーザー会
    サイト管理者

    確かに、こちらで動作確認したのは/dev/ttyUSB0だけですので、/dev/ttyACM0と接続できない不具合がある可能性は残ります。すぐに試せないので、試したら結果をお知らせします。

10 件の投稿を閲覧中 - 1 ~ 10 件(全 13 件)
  • このトピックに返信するには、ログインしてください。