なんだか自分が思っている以上に、このblogを見てくれてる人がいるんだな〜って知って、ちょっと嬉しくなりました。
こんなblogを閲覧してくださっている方のなかで、慶應関係者では無い方は、blogに頻繁に出てくる“Xtel”や“moxa”という単語が「?」だったでしょう。
それらの説明はこちら。
そして私は、xtelを活用して、いろいろ作ろうとしている人の一人ってわけです。
と、いまさらながらのご紹介でした。
さて、本題。
前回、moxaとWi-Portを繋げる試みが成功したとお伝えしましたが、問題がありました。
文字化けするのです。moxaから読んで来た値を、Wi-portサーバーから引き出そうとすると文字がぐちゃぐちゃに(><)
文字コードの問題?でも、半角英数字しかつかっていないし。。。。と思い悩んでおりました。が、すぐに解決。
なんと通信速度の問題でした。
Wi-Port側に文字列を送るRuby:
equire 'socket'
client = TCPSocket.open('192.168.0.123', 10001)
while true do
client.write('a')
p client.gets.chomp
sleep(3)
client.write('b')
p client.gets.chomp
sleep(3)
end
最初、sleepを(1)にしていたのですが、(3)に変更しただけで、文字化けしなくなりました。なんかちょっぴり拍子抜け。
もしくはmoxaに書き込むコードの
serialInit(9600);
をserialInit(4800);
に変えると上手くいく場合もあるそうです。(ちなみに、今回はこの手法では解決できませんでした)
シリアル通信の文字化けで悩んでいる方、ちょっと試してみてはどうでしょうか?
0 件のコメント:
コメントを投稿