卵と鶏
テーマ:るびぃのカケラRubyでiPodリモコンに挑戦しているわけですが、新たな難問が..
オシロの調子が悪いです(涙)
突然電源が落ちて再起動してみたり..コンデンサの劣化かもしれませんが、オシロ(しかも電源部)を
修理するのにそのオシロ自身は使えませんし、まさに卵が先か鶏が先かな状態です(^-^;
そんな訳で調子の悪いオシロをだましだまし..調子の悪いときには電源スイッチ入れてから立ち上がる
まで30分ほど要しますが..実験を続けています。
iPodのリモコンコードは0x00とか0xffとかバイナリコードを送る必要があるので、意外と大変な部分が
ありました。
最初はTEXCELLさんのwincom.rbを使っていたのですが、一応バイナリモードはある物の実際に
バイナリデータを流そうとすると(当然バイナリモードでオープンしてます)..
send([0xFF, 0x55, 0x03, 0x02, 0x00, 0x01, 0xFA]) は受け付けてもらえませんし、
send([0xFF.chr, 0x55.chr, 0x03.chr, 0x02.chr, 0x00.chr, 0x01.chr, 0xFA.chr]) もダメです。
唯一、ループを回して1バイト毎に送信するとエラー無く送信はできるのですが、実際に送信された
データはなかなかひどい状態です。
↑上の波形が通信ソフト(Acknowrich)で送信したデータ。 下の波形がRuby + wincom.rbで送信したデータです。
なんだかデータが抜けてます..
たまにはこんなデータが送信されます↓
↑データ数としては一応送信漏れは無いような感じですが、送信バイト毎の間隔が不定期に開いています。
それでwincom.rbはあきらめまして、ネットをさまよった挙げ句にcom.rbというのを使ってみました。
こちらは..
send([0xFF, 0x00, 0x55, 0x00, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0xFA]) はエラーは発生しませんが、送信されるデータはめちゃくちゃです。(^-^; なにか変換されている感じ
send([0xFF.chr, 0x55.chr, 0x03.chr, 0x02.chr, 0x00.chr, 0x01.chr, 0xFA.chr]) はAcknowrchと同じデータを
送信することができました。
上の波形がAcknowrich、下がRuby + com.rbです。
これでようやくリモコンコードの確認に移ることができます。







