産業プロトコル Modbus温度センサー「XY-MD02」という代物には多くのネガティブフィードバックがあるようです。この型番で検索すると、「ほぼ期待通りの温湿度が取得できた」と報告された記事を幾つか見かけます。そんな記事を読んで、私も安価でModbusが使える温度センサーということで、実は安易に購入した者の一人です。
その結果、とんでもない代物を手にしましたので、ここに紹介させていただきます。
アマゾンマーケットプレイスから購入
アマゾンでXY-MD02と検索し、表示された物の中から最安値と思われるものを探し、掲載写真と掲載仕様を読み、ある商品を購入することにしました。
マーケットプレイスですので、発送元はアマゾン倉庫ではなく、個人?らしき中華風サイトからの発送でした、約2週間くらいかかりました。
届いた商品の外観
おおよそ期待通りの外観、XY-MD02とラベルが張られていました。
動作確認してみると
結線した写真をあげましたが、この結線は動作確認できた状態のもので、ここに到達するまで苦労しました。
まずラベル通りに結線しましたが、電源負荷がありませんでした。
これはラベルとコネクタの信号配置が違うのでは?
破壊しては先々の作業に支障がでるので、素性を調べるため分解することにしました。
ケースを開けてみると
おおお!なんとXY-MD02のラベルが張られたケース内には、全く別の基板が収容されていました。どなたか見たことありますか?
コネクタのピン配置確認
基板に信号配置らしきシルクがありました。この通りに接続したら、電源投入とRS485通信ができるようになりました。ラベル印字をそのまま信じるのもどうかとは思いますけど、外観からピン配置がわからないのもどうかと思う。
レジスタを読んでみた
XY-MD02のマニュアルを参考に、レジスタにアクセスしてみました。
使用しましたのは「Modbus通信確認用アプリケーション Modbus Tool for Debug Ver.15」です。このツールにいつも助けられています。
シリアルポートは、9600, 8N1Nで設定しました。
スレーブID 0x01、アドレス0x0001、データサイズ0x0002で温湿度が読めるようですが、なんと読めません。
時間をかけてアドレスやデータサイズを変えてアクセスしてみると、どうやらアドレスマップがXY-MD02とは別物みたいです。
アクセス成功した条件は以下の通りです。
- アドレス0x0000、データサイズ0x0001
- アドレス0x0001、データサイズ0x0001
- アドレス0x0000、データサイズ0x0002
- アドレス0x0000、データサイズ0x0010
データを受信したのはいいのですが、データの意味が不明です。
どれが温湿度?
ちょっとだけ考えてみた
まー、解決することはありませんが、わからないことをまとめておきました。
- レジスタマップ不明
- 受信データ不明
- 基板上のマイコンらしきチップのマーキングがない!剥離されている?
- 温湿度のキャリブレーションも不明
- センサーの蓋?のシールが剥離されている(シールの接着部残渣があった)
- センサーがGHTC3?とかいうマーキング、ナニコレ?
まとめ
暇つぶしになりましたが、得るものは少なく、皆さまに笑っていただきたく記事にしました。もし、同じ代物を入手された方がいらっしゃったら、ぜひ情報提供いただきたくお願いいたします。