秋月で売っている、METEX M-6000HというUSB接続できるテスターを買ってみた。 7300円だった。 接続してUSB Proberで見たところ、"CP2101 USB to UART Bridge Controller"と なっていて Silicon Laboratories Inc.(旧Cygnal Integrated Products, Inc)というところ のチップでシリアルUSB変換をおこなっているようだ。このチップはUSBバスパワー で動作して、テスターの電源を落としてもチップは見えている。チップメーカーで MacOS Xのドライバーも用意されていて、インストールすると /System/Library/ExtensionsにSiLabsUSBDriver.kextとSiLabsUSBDriver64.kextが コピーされて、デバイスをつないでいると/dev/cu.SLAB_USBtoUARTが現れる。 ロギング用のアプリをMacOSで作りたいという魂胆があるのだが、UARTネタという 事でとりあえずここで記録を書いておきたいと思う。
なぜMETEXだったかというと、PCに接続できるテスターでは値段が安かったという 事もあるのだが、アナログはサンワの日本製テスターで、もう一台のデジタルの テスターは中国製なので、三つ目は韓国製のMETEXテスターにしてみた。
いろいろUSBのシリアルチップを試したが、SILICONのものは初めてだ。ネットで 検索してみるとGPSロガーなどでも使われているようだ。
テスターの電源を入れて"cu -s 9600 -l /dev/cu.SLAB_USBtoUART"すると、データが 流れてくる事が確認できた。何故かデータは二行で内容は先頭バイトが違うだけで 同じように見える。フォーマットはぼちぼち確認していきます。
220 | 021963802 |
1.2K | 112083802 |
33K | 233093802 |
とりあえず抵抗をはかってみました。1バイト目が10の乗数で2から5バイト目が 数値で6から9が抵抗値を表すように見えます。
ずいぶんたってしまったが、ソースコード を書いてみた。既に秋月ではディスコンになっていた。。。
dBで計った時のデータをバイナリで見ると以下のような内容です。 おおよそ一秒ごとに22バイトのデータが送られてきて、先頭をのぞいて 10バイトは同じデータが二行になっています。先頭のバイトは二行目が 二分の一のデータになっている。なんとも不思議なデータだ。
60 30 33 39 36 3c 38 30 30 0d 0a 30 30 33 39 36 3c 38 30 30 0d 0a
レンジ | 6バイト目 |
DC V | 0x3b |
AC V | 0x3b |
Freq | 0x32 |
Cap | 0x36 |
AC/DC A | 0x39 |
AC/DC mA | 0x38 |
AC/DC uA | 0x3d |
Resistance | 0x33 |
Temp | 0x34 |
Sound Level(dB) | 0x3c |
Illuminance(Lux) | 0x3e |
EF(Elctric Fleld) | 0x3a |
以前のデータは間違っていたので修正してみた。 7バイト目からの3バイトは何を表しているのだろう。。。
ロギング用のアプリを作り始めました。
久しぶりにちょっといじっていて調べてみたらこの製品はCYRUSTEK Co.のES51986 もしくは後継のチップを使っているようだ。