目次

2008年12月13日土曜日

moxaとWi-portと通信速度

こんにちは。リア充を目指すもこもこじゅう/やすこやかです。

なんだか自分が思っている以上に、この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 件のコメント: