MacとUbuntuのインストールで次のコードを実行すると、私は奇妙な機能を実行しています。Ruby - MacとUbuntuで異なるコードを実行する
私のコードは、クライアントが接続されている(接続に成功した)かどうかを確認し、Rubyコードを使用してt.puts
を介してArduinoにコマンドを送信し、socket
gem Arduinoソフトウェアを使ってシリアル出力に送るものは何でも。それは簡単な部分です。
次は私のシリアル出力のMacに正しい以下、実行されます。同じコードは、Ubuntuの上で実行されたときかのように、私は、シリアル出力に次のように取得する、しかし
{power, tv} # t.puts "{power, tv}"
をそれは再び接続しようとしています。
Connecting... # t.puts "{power, tv}" # Connecting... (text is actually coming from Arduino not the below code).
私は二重の私のArduino、IP、コードおよびポートは、(それが接続しているものである)正しいことを確認している:それはMac上で行い、上記シリアル出力を与えるものではありません。 MacとUbuntuで出力が異なる理由はわかりません。
このような状況が発生する理由と、次のコードをすべての環境で適切に送信するように変更できるかどうかは、どのような理由がありますか?
#!/usr/bin/ruby
require "socket"
#Thread.new {
begin
puts "Connecting to 10.1.1.45..."
t = TCPSocket.new("10.1.1.45", 80)
rescue
puts "error : #{$!}"
else
t.print "{power,tv}"
t.close
puts "Sent command..."
end
#}
に注意してください、私は10.1.1.45だけで罰金(私はできPINGなど)ので、実際のArduinoのコードに接続することができますが、私は差し込むことによってこれをテストしていますので、ここでは私の知る限りでは、故障ではなく、それをMacとUbuntuに組み込み、上の全く同じコードを実行します。お気軽に私に何か質問してください。私は私の方法で私を助けるためにできるだけ詳細にそれらに答えることをうれしく思うでしょう。
ありがとうございます。