TEMPerのUSB温度計をLinuxにつなげた


上海問屋で販売しているUSB温度計DNSB-35137と同じものであろうTEMPer goldをLinuxサーバにつなげてみた。

CentOS5.8では、以下の様な認識となりました。

 # dmesg|tail
usb 3-1: new low speed USB device using uhci_hcd and address 2
usb 3-1: configuration #1 chosen from 1 choice
input: RDing TEMPer1V1.2 as /class/input/input3
input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPer1V1.2] on usb-0000:00:1d.1-1
hiddev96,hidraw96: USB HID v1.10 Device [RDing TEMPer1V1.2] on usb-0000:00:1d.1-1
# lsusb -v
Bus 003 Device 002: ID 0c45:7401 Microdia 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0c45 Microdia
  idProduct          0x7401 
  bcdDevice            0.01
  iManufacturer           1 RDing
  iProduct                2 TEMPer1V1.2
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      41
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10

(2013/01/17追記: iSerialは「0」固定なので、個体識別ができません。USBのBUS/DEVICEアドレスの違いで識別する必要があります)

温度を取得するには、「http://www.isp-sl.com/pcsensor-0.0.1.tgz」が一番簡単だと思います。
ドライバ等は特にインストールせず、標準HIDドライバを利用して操作をおこなってくれます。
(2013/01/24追記: 上記のpcsensor-0.0.1.tgzを元に改良したドライバを公開中改良版ドライバ)

配布tgzの中には、ソースファイルと、glibc2.7環境用の32bitバイナリが含まれています。

# ls
99-tempsensor.rules  Makefile  pcsensor  pcsensor.c
# file pcsensor
pcsensor: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped
#

pcsensorを実行してみてエラーにならないか確認します。

# ./pcsensor
./pcsensor: /lib/libc.so.6: version `GLIBC_2.7' not found (required by ./pcsensor)
#

上記のようにエラーとなるようであれば、コンパイルしなおします。

# rm pcsensor
rm: remove 通常ファイル `pcsensor'? y
# make
cc -DUNIT_TEST -o pcsensor pcsensor.c -lusb
#

これで改めて実行してみます。

# ./pcsensor
2012/12/25 14:36:27 Temperature 74.08F 23.38C
#

pcsensorコマンドはいくつかオプションがあります。

# ./pcsensor -h
pcsensor version 0.0.1
      Aviable options:
          -h help
          -v verbose
          -l[n] loop every 'n' seconds, default value is 5s
          -c output only in Celsius
          -f output only in Fahrenheit
          -m output for mrtg integration
#

・詳細表示

# ./pcsensor -v
usb_set_debug: Setting debugging level to 255 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 003
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 001 on 003
usb_os_find_devices: Found 002 on 003
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
error obtaining child information: Inappropriate ioctl for device
usb_os_find_devices: Found 001 on 002
usb_os_find_devices: Found 001 on 001
lvr_winusb with Vendor Id: c45 and Product Id: 7401 found.
USB error: could not detach kernel driver from interface 0: No data available
Device already detached
USB error: could not detach kernel driver from interface 1: No data available
Device already detached
01 01 6f 20 64 61 74 61
01 80 33 01 00 00 00 00
80 02 17 80 65 72 31 46
01 82 77 01 00 00 00 00
82 01 00 80 65 72 31 46
01 86 ff 01 00 00 00 00
54 45 4d 50 65 72 31 46
31 2e 31 50 65 72 31 46
01 80 33 01 00 00 00 00
80 02 17 60 65 72 31 46
2012/12/25 14:37:42 Temperature 74.08F 23.38C
#

・摂氏のみ表示

# ./pcsensor -c
2012/12/25 14:37:57 Temperature 23.50C
#

・華氏のみ出力

# ./pcsensor -f
2012/12/25 14:38:02 Temperature 74.30F
#

・MRTG向けの出力

# ./pcsensor -m
23.50
23.50
14:38
pcsensor
#

githubのedorfaus / TEMPeredは、Cmake 2.8以上を要求してきており、CentOS5.8環境はCmake 2.6.4なのでコンパイルできない、という状態だったので、断念しました。


もうちょっと測定してみた結果について「USB温度計で測定してみたメモ」にて記載しています。

MTK MT6577搭載のiPhoneもどき登場


まぁ、もうすぐMT6589が出てくるという時期になってしまいましたが、ようやくMTK MT6577搭載のiPhoneもどきが入手可能になってきました。

・Goophone i5 Pro

Goophone i5 Pro MTK6577 Dual Core 1.2Ghz 3G Dual Sim Dual Standby 4.0 inch Android 4.0.4 Phone

・Sophone 5i

Sophone 5i- MTK6577 Dual Core 1.2Ghz 4.0 inch FWVGA Screen Android 4.0.4

まぁ、ガワがiPhone5っぽい、ってこと以外は普通のMT6577搭載のAndroidですね。

コレ系を買う人に1つ言っておくとすれば・・・

「バックボタンしかないAndroidって使いにくいよ」

なので、ネタ、として買ってくださいねw

うちにはTOOKY T1982というiPhone的な雰囲気のMT6575搭載機があるんですが、結構やりにくいなぁ、と思ってます。
なかなかアプリを切り替えにくいんですよ・・・

うちのblogでの記事:T1982関連記事

TOOKY T1982 Candy android smart phone 3.5 inch retina ips screen

普通に使えるMTK MT6577搭載機を欲しい人には、iPhoneもどきではなくJIAYU G3をお薦めしますよ

Jiayu G3 MTK 6577 Dual Core Dual Simcard Dual Standby 1G RAM 4.5″ IPS Screen 8MP Camera

TEMPerのUSB温度計が届いた


上海問屋のUSB温度計はPCsensor OEMで紹介したUSB温度計ですが、上海問屋では売り切れだったので、DealExtremeで購入しました。

12/11:発注
12/13:DXから発送連絡
12/15:上海の郵便局の消印
12/22:東京に到着

という感じで、RegisterMailでないのに、2週間で届くというなかなかの好タイムでした。

DVC00113.JPG
DVC00114.JPG

こんなパッケージで届きました。

とりあえず、Windows8パソコンに指してみたところ、Windows標準のHIDドライバで認識されました。
認識直後から現在温度が自動的に入力される、という自体に陥りました。

ですが、とりあえず、1回、はずして、もう1回さしたところ、それは止まりました。
が・・・何かあったら、自動入力されそうで、ちょっと怖いです・・・

Linuxサーバでの実験は明日おこなう予定です。

なお、USBでの認識は以下でした。

HID\VID_0C45&PID_7401&REV_0001&MI_00

その後、Windows PC 4台に接続してみたのですが、いきなり入力状態にはなりませんでした。
なんだったんでしょうかねぇ・・・・

JIAYU G3についてのメモ書き 2012/12/21版


秋葉原で、どうやってそんな値段で仕入れたんだろう、と不思議に思うような値段でJIAYU G3が販売されました。(東映無線ラジオデパート店で18,580円)
その結果、このblogへの来訪者が増えているようなので、メモ書きをおいときます。

注意:私は持ってないので詳しいことはわかりません。

・これって安いの?
海外業者から輸入して同じくらいの値段か、下手すると、それより安いかも・・・

・公式ページってあるの?
http://www.ejiayu.com/です。
jiayug3.comってドメインがありますが、あれは無関係です。

・dual-simって日本で使えるの?
使えません。
WCDMA SIMが1枚だけ使えます。
(もう1つは、GSMのみです)

・ドコモMNVOで使えるか?
電波が来てない扱いになるようです。

・ソフトバンクで使えるか?
不明です。

・日本語使えるの?
設定画面等は英語or中国語です。
MoreLocale2というソフトをインストールして日本語を設定すると、多くのアプリで日本語としては使えますが、システム系は英語のままです。

・電池は持つのか?
結構持ちは良いようです。

・公式ページからfirmwareとかがダウンロードできないんだけど
遅くてページが開かない、とか、ダウンロード場所がよく分からないとかありますよね。
なぜか、公式ダウンロードページには、G3の最新firmwareが掲載されていません。
フォーラムの「官方软件下载」にて探してみてください。

探す時のポイントは「佳域G3(機種名)」「最新」「固件(firmware)」「下载(Download)」「发布(配布)」というキーワードです。

2012/12/21現在「佳域G3最新固件下载(20121204发布)」が最新なようです。
これでダウンロード出来るfirmwareは「G3-20121129-082828」です。
ダウンロードリンクは、フォーラムに会員登録してログインしないと出てこないと思います。
(さらにはこのスレッドに書き込む必要があるかも)

MTK手机网:佳域G3官方固件G3-20121129-082828下载
に転載されているので、そこからダウンロードしてみるのもいいかもしれません。

・Android OS 4.1へのアップデートはあるの?
現在クローズドβ中・・・とのこと。
そろそろ出てくるのではないかというところ。

・root取れるの?
Root MANY ANDROID! [Upd: 18.12.2012]で取れるそうです。

・カスタムROMってあるの?
現状だとLewa OSがお薦め。
いろんなMTKチップ採用機に対応しており、アップデート間隔もなかなかがんばっているようです。

うちのblogの関連記事:Lewa OS(乐蛙OS)がMTK MT6577搭載機に公式対応

Kobo for Androidが楽天Kobo日本語書籍に対応


カナダKobo時代からKobo for Androidはありましたが、いままでのソフトウェアでは、楽天Koboで販売されている日本語書籍のほとんどに対応していませんでした。

それが、この度公開された、version 4.6から、日本語書籍に対応したということでダウンロードしてみました。

警告:カナダKoboアカウントでログインではなく、楽天Koboアカウントでのログインになりますので注意

その他主な注意点
・楽天Koboアカウントでのログインとなる
・アイコンが、「Kobo」から「楽天Kobo」になる
・起動すると英語辞書ファイルのダウンロードが始まる
・起動すると購入済み書籍のダウンロードが始まる(買ったもの全て!!)
・日本語書籍を開こうとすると、日本語フォントファイルのダウンロードも始まる

で・・・
QVGA画面でも、それなり見えるなぁ・・・
device-2012-12-21-144520

という感じです。(注:他の電子書籍ソフトだと、QVGA Xperia X10 mini proで見ようとすると、かなりつらい)

標準ではオフになっていますが、ボリュームキーでのページめくりにも対応しています。

device-2012-12-21-142439

まだダウンロードしていない書籍はこんな感じで表示されます。
device-2012-12-21-140348

初期だとお知らせがだだだっ!っと出てしまうのは、まぁ、仕方が無いですよね
device-2012-12-21-140406

たぶん、QVGAで見てるからだと思いますが、挿絵があると、そこで縮小処理がおこなわれるようで、該当ページを開くのに時間がかかる、ということがあります。
文字だけだったら、結構快適です。