MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › シリアル通信Linux
- このトピックは、 12 返信、 2 投稿者 です。最終更新日: 6 年, 9 ヶ月 前 hyd
-
著者投稿
-
2018年1月30日 at 10:14 AM #5051hyd一般参加者
MZプラットフォームLinux版において、シリアル通信をしたいと思います。
WindowsでCOMポートは、COM1、COM2、となり、「シリアル通信一覧を取得する」でコンポボックスに表示、接続できるのですが、Linux版での同プログラムでは、表示されません。
Linuxでは、/dev/ttyUSB0、/dev/ttyACM0等で認識され通信もできています。
Linux版でのシリアル通信が可能かどうかご教授ください。2018年1月30日 at 2:38 PM #5052MZPlatformユーザー会サイト管理者Linux版でのシリアル通信は可能なはずですが、お使いの環境による制限かMZ側の不具合の可能性があります。
お手数をおかけして恐縮ですが、お使いのLinuxのOSおよびMZのバージョン等をお知らせいただけますでしょうか。
2018年1月30日 at 3:40 PM #5053hyd一般参加者Linuxは、CentOS LInux release 7.4.1708(Core), x86_64です。
MZは、MZ Platform Ver.3.5(Linux版)です。
以上ですが、他あれば連絡ください。2018年1月30日 at 4:42 PM #5054MZPlatformユーザー会サイト管理者現時点で把握している情報をお知らせします。
一点目は、Linux版のMZでシリアル通信を使用するために、root権限が必要なようです。
MZを実行する際にsu等を実行してから、ローダーでアプリを実行し、シリアル通信のポート取得を実行してみてください。二点目は、シリアル通信がUSB接続によるものである場合、USBを挿したときにシリアルポートとして自動で認識されるかどうかは環境依存のようです。/dev/ttyUSB0や/dev/ttyACM0として認識されていれば問題ないと思いますが、過去に実験したときは、CentOSでは認識されず、Fedoraでは認識されたという経験があります。認識されない場合の解決方法はわかっておらず、そのときはFedoraを採用しました。
上記のどちらでもない場合、MZ側の不具合かもしれませんので、もう少々お時間をいただきたいと思います。
2018年1月30日 at 9:29 PM #5055hyd一般参加者連絡遅くなりました。
シリアル通信の相手としてArduinoを使用しています。Unoは/dev/ttyUSB0,Mega2560は/dev/ttyACM0になります。これは、AruduinoIDEのソフトで挿入すると自動で認識されています。またパーミッションを変更して全権限ができるようにするとソフト書込みもできますし、IDEのシリアルモニターでのコマンド通信ができています。(root権限で行っています)
一点目:上記の状態で、MZローダーでSampleのシリアル通信を立ち上げましたが、コンポボックスには何も表示されていません。
今のところ、MZローダーでアプリを実行した場合、シリアル通信以外は問題なく動作しています。
(サーバーとのMySQL通信も、LAN環境で問題なく動作しています)
Linuxについて、初心者ですので、こちらの環境で調べることがあれば連絡ください。
急いでおりませんので、時間的な問題はございません。
宜しくお願いいたします。2018年1月31日 at 11:16 AM #5056MZPlatformユーザー会サイト管理者MZ側に不具合がないか確認しますので、お手数ですが最新版の3.6に入れ替えてもう一度動作確認をお願いできますでしょうか。
2018年2月1日 at 11:19 AM #5057hyd一般参加者MZ3.6でも試しましたが、同様に認識できませんでした。
実行した内容
1.MZPlatform(64bit)をダウンロード→インストール→ローダーでシリアル通信ターミナル.mzax起動→コンポボックスのポート確認→表示されず
2.Linuxでシリアル通信を行う場合、RXTXライブラリをインストールする必要があるとの事でMZPlatformのjavaにインストール。(RXTXcomm.jarを/lib/extへ、librxtxSerial.soを/lib/amd64へ)
3.再度1を実行しても表示されず。2018年2月2日 at 12:59 PM #5062MZPlatformユーザー会サイト管理者RXTXはMZに含まれていますので、2は不要です。MZ側のRXTXに不具合があるのかと確認しましたが、こちらの環境では動作しました。仮想OSですが、CentOS7にMZ3.6(64ビット版)を導入して動作を確認しました。
1では、root権限で実行したでしょうか。ローダーを実行するときに端末からコマンドで実行すると、ポート一覧を取得しようとしたときに端末側にエラー出力が出ていないでしょうか。
あとは、CentOSのインストール時にタイプや導入するソフトウェアを選んだと思いますが、その違いで動作が変わるか調べてみます。
2018年2月5日 at 9:51 AM #5064hyd一般参加者CentOSとMZを再インストールしてみました。
シリアル通信ターミナルで、ArduinoUnoの/dev/ttyUSB0を認識できました。
こちらの不手際でご迷惑をお掛け致しました。
(まだAruduinoMega2560の/dev/ttyACM0はArduinoIDEでは認識できているのですが、MZでは認識できていません。Linuxの初心者で設定等の問題があると思うのですが、もし、そちらで認識できているか教えていただければ助かります)
AruduinoUnoが解決できましたので、作成中のソフトを展開できますので感謝申し上げます。
ありがとうございました。2018年2月5日 at 2:13 PM #5065MZPlatformユーザー会サイト管理者確かに、こちらで動作確認したのは/dev/ttyUSB0だけですので、/dev/ttyACM0と接続できない不具合がある可能性は残ります。すぐに試せないので、試したら結果をお知らせします。
-
著者投稿
- このトピックに返信するには、ログインしてください。