検索
ホーム プロダクツ ダウンロード 販売(注文はココ) サポート
 よくある質問とサポートのページです。
[#52031] USB温度・湿度計モジュール Ver.2(完成品)
商品ページにジャンプ
 linuxでのechoコマンド使用について 2025-02-04更新     <<前のFAQ | 次のFAQ>>
Linuxは/dev/ttyACM0というキャラクタデバイスが作成されますが、ターミナルではなくechoコマンドで文字を送るとうまく動かないことがあります。

echo "LED1=ON" > /dev/ttyACM0

これはキャラクタデバイスのエコーバックが有効になっているため、USBRH2からPCに送られた応答文字をUSBRH2に戻してしまいます。測定した温度データをコマンドとして解釈してしまうので"illegal command"を返します。そうすると"illegal command"をまたUSBRH2にエコーバックするので、永遠に終わらずバッファが溢れます。


これを解決するにはTTYのエコーバックをOFFにします。

#
# stty -F /dev/ttyACM0 -echo ※echoバックをOFFにする
#
# stty -F /dev/ttyACM0 -a ※設定を確認する
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
#
#

-echoがエコーバックOFF(頭に-がついている), echo がエコーバックONです。


LinuxではCRコードを受信するとCR(Carriage Return:行頭復帰)+LF(Line Feed:改行)に変換するようになっています。USBRH2では改行コードとしてCR+LFを送信していますので、LinuxではCR+LF+LFとなってしまい、2行分改行してしまいます。そのため1行おきに空行が出ます。この機能をOFFにするには次のようにします。、
※これはコマンドシェル上からの操作のもので、ターミナルでアクセスする場合はターミナルソフトの設定が優先します。

#
# stty -F /dev/ttyACM0 -icrnl ※CRにNL追加をOFFにする
#
# stty -F /dev/ttyACM0 -a ※設定を確認する
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
#


こうすることでターミナルを起動しなくても直接コマンドラインから

echo "LED2=ON" > /dev/ttyACM0

のような制御ができます。ただしこれはコマンドに対する応答メッセージを受け取ることができず、OSに溜まったままになります。cat /dev/ttyACM0をするとUSBの受信バッファを吐き出すことができるのですが、ずっと前に実行した応答メッセージが蓄積されていて、自分が実行したデータの結果出ない可能性があります。応答の先頭文字が欠落したり、バッファオーバーフローで想定した応答が返らないことがあります。コマンドラインではttyACM0に出力するか入力するかのどちらか一方しかできないので標準コマンドではUSBRH2を正しく制御できません。そのため echo , catを使った通信は緊急用としてお考えください。

●データシート・ファイル (うまく表示されない場合は、右クリックしてファイルに保存してから開いてください)

 USBRH2説明書 (271kバイト) 2025年 04月 14日

●その他の質問一覧(この商品について)
  仮想COMポート番号の変更方法 2025-04-16更新
  仮想COMポートの接続方式は標準になるのですか? 2025-04-14更新
  USB温度・湿度計モジュール Ver.2を発売いたします。 2025-04-14更新
  【USBコマンドリスト】USBの通信方法は? 2025-04-04更新
  旧製品からだいぶ価格が安いですが何か性能に違いはありますか? 2025-03-25更新
  USBRH2を複数接続するとCOMポート番号が変わる。 2025-03-24更新
  USBを外してもう一度差し込みなおしたがCOMポートオープンできない。 2025-03-07更新
  観測した温度・湿度をネットに掲載することもできますか? 2025-03-06更新
  コマンドを送るとプロンプト > が返信されますが、温度・湿度データに > が入ることはありますか? 2025-03-01更新
  PCがスリープするとどうなりますか? 2025-02-27更新
  自動で定期的にデータを送信することはできますか? 2025-02-22更新
  取得データのフォーマットを教えてください。 2025-02-22更新
  電源を入れると赤、緑のLEDが交互に点滅する。通信不能になる。 2025-02-19更新
  COMポートを開いて最初のコマンドが実行されない。 2025-02-19更新
  コマンドの末尾はCRでしょうか? 2025-02-19更新
  市販の温度計と計測値が異なる 2025-02-17更新
  通信スピードはいくつにすればいいでしょうか? 2025-02-11更新
  従来のHID方式では通信できませんか? 2025-02-06更新
  接続したUSBRH2がどのttyになったか識別する方法はありますか? 2025-02-06更新
  Windows XPで使用するには 2025-02-05更新
  linuxでのechoコマンド使用について 2025-02-04更新
  /dev/ttyACM0にアクセスできない 2025-02-04更新
  Linuxでの使用例 2025-02-04更新
  コマンドを送ってもエラーしか返さない 2025-02-04更新
  途中でデータ取得できなくなった 2025-02-04更新
  通信コマンドについて教えてください。 2025-02-04更新
  自動的に定期的に観測してくれるのですか? 2025-02-03更新
  連続で読み取っても大丈夫ですか? 2025-02-03更新
  通信はどのような方式ですか? 2025-02-03更新
  湿度に0%以下, 100%以上を返すことはありますか? 2025-02-03更新
  Windows11以前で使用できますか? 2025-02-02更新
  Windowsドライバは必要ですか? 2025-02-02更新
  LEDが一瞬点灯して消えました。動作していないようだ。 2025-02-01更新
  消費電流はどのくらいですか? 2025-02-01更新
  Type-Cのパソコンと接続できますか? 2025-02-01更新
  RoHS対応でしょうか? 2025-02-01更新
  85℃以上も計測できますか? 2025-02-01更新
  1つのPCに複数台接続できますか? 2025-02-01更新
  Linuxでも使用できますか? 2025-02-01更新
  USBはどのように認識しますか? 2025-02-01更新
  昔購入したUSBRHのケースは使えますか? 2025-02-01更新
  旧USBRHのソフトは使えますか? 2025-02-01更新


製品一覧 - 会社案内 - よくある質問 - 発送状況

●当社製品・ウェブはAI不使用です。AIが生成した文章、プログラム、画像・写真、架空の情報は一切使用していません。

出版社・マスコミ関係・SNS企業やIT企業の方へ
本Webサイトの内容を営利企業が掲載する場合は有料無料に関係なく許諾が必要です [詳しく]
Copyright 2003-2025 © Strawberry Linux Co.,Ltd.