私は、IPデバイス上のビデオ用のtelnetデータに埋め込まれたRS232コマンドを送信しようとしています。これは、Tera TermのとウィンドウがTelnetプロンプトをコマンドを使用して完璧に動作しますが、それは(telnetlib)はPythonを使って作業していない私は、PythonのTelnetのライブラリを使用` r`や` n`をPythonでtelnetを使って送る方法はありますか?
Using Tera Term, it works fine:
しかしCorrect Result (Fan status of 3 fans) MCU responds Correctly
、:
tn = telnetlib.Telnet(HOST,PORT,timeout = 3)
tn.write('send '+ DEVICE_MAC + ' rs232:1 get_fan ?\r')
をHOST、PORT、DEVICE_MACはすべて私のオリジナルコードで定義されています。 何らかの理由で、\ rがホストに送信されません。
get_fan ?\r
\r
適切のみ\r
なしget_fan ?
を送信し、上記get_fan ?
コマンドが、Pythonコードを処理するために、HOST MCUのために必要とされています。
\r
、さらには\n
を埋め込む方法はありますか? 私はtelnetlib.pyで手がかりを探していますが、おそらく解決策は簡単です。可能であれば、あなたのご意見をお待ちしております。ありがとう!
'get_fan?\ r'を' send rs232:1'コマンドに送る/渡したいと思うのなら、一重引用符で囲んでみてください。 '\ r 'の' \ r'をエスケープします。 を入力して と入力する場合は、「\ n」を使用してみてください。ルーターのいくつかのモデルを除いて、私が遭遇したすべてのtelnetサーバーは、 "デフォルトの" telnet改行文字 "\ n"を使用していました。 –
こんにちはLohmar。ご意見ありがとうございます。私はあなたのポイントを見て、私は完全にあなたのポイントを取る。問題は、telnetlib.pyが送信されるデータに「\ n」を見つけたら、これを解釈してtelnetデータを送信するか、ソケットをフラッシュします(私が思う)。私は誓い、私は数日間このことを強調しており、私はその解決策を見つけました。私は答えを投稿します。 – bluesclues