Solaris de USB温度計

自宅サーバを運用していると、家の温度を測ってグラフ化したくなるというニーズはそれなりにあるようで、多くのブログ記事等がヒットします。 情報を集めてみると、PCsensor社のTEMPerというシリーズのUSB温度計が、1000円くらいから入手できてよく使われているようです。

USB温度計! USB thermometer-528018

USB温度計! USB thermometer-528018

pcsensor.com

安いのでとりあえずAmazonで購入してみました。私が購入したのは Gold TEMPer という製品のようです。中国語混じりのちょっと怪しげなパッケージです。 ドライバCDが付いていますが、Windows用のソフトウェアしかないので無視することにします。

f:id:shakemid:20170901190536j:plain

検索すると、ラズパイやLinuxサーバでの動作成功例が見つけられましたが、私の家の自宅サーバSolarisなので、当然Solarisでやってみたくなります。

USBポートに挿してみて、cfgadmで見てみたところ、TEMPerV1.4 としてOSには正しく認識されているようです。これはいけそうな気がしてきました。

$ cfgadm -v
Ap_Id                          Receptacle   Occupant     Condition  Information
When         Type         Busy     Phys_Id
...
usb2/1.6                       connected    configured   ok         Mfg: RDing  Product: TEMPerV1.4  NConfigs: 1  Config: 0  <no cfg str descr>
unavailable  usb-device   n        /devices/pci@0,0/pci8086,2036@1d/hub@1:1.6
...

prtconfで見ると、VendorID:0c45, ProductID:7401 のデバイスであることがわかります。

$ prtconf -v
System Configuration:  Oracle Corporation  i86pc
Memory size: 8106 Megabytes
System Peripherals (Software Nodes):

...
                        name='usb-product-name' type=string items=1
                            value='TEMPerV1.4'
                        name='usb-vendor-name' type=string items=1
                            value='RDing'
...
                        name='usb-product-id' type=int items=1
                            value=00007401
                        name='usb-vendor-id' type=int items=1
                            value=00000c45
...

メーカーサイトではWindows用のソフトウェアしか公開されていないようですが、USBプロトコルアナライザで解析して作られたと思われるLinux用のドライバを作っている方がいました。

https://relavak.wordpress.com/2009/10/17/temper-temperature-sensor-linux-driver/

このブログのレスの中にある pcsensor-0.0.1 は、 0c45:7401 のデバイスに対応しているようなので、試してみることにしました。Linux用ですが、カーネルモジュールではなく、ユーザモードで動作するlibusbというライブラリを使って作られているので、Linuxでなくても動作すると期待できます。実際、FreeBSDでの動作成功例も見つけることができました。

ymlab.hatenablog.com

Solarisでとりあえずmakeしてみましたが、だめでした。

$ tar zxvf pcsensor-0.0.1.tar.gz
$ cd pcsensor-0.0.1
$ CC=gcc make
gcc -DUNIT_TEST -o pcsensor pcsensor.c -lusb
pcsensor.c: In function 'interrupt_read':
pcsensor.c:235:5: warning: incompatible implicit declaration of built-in function 'bzero'
pcsensor.c: In function 'interrupt_read_temperatura':
pcsensor.c:254:5: warning: incompatible implicit declaration of built-in function 'bzero'
Undefined                       first referenced
 symbol                             in file
usb_detach_kernel_driver_np         /var/tmp//ccUZxvwd.o
ld: fatal: symbol referencing errors
collect2: ld returned 1 exit status
make: *** [pcsensor] Error 1

libusbのドキュメントを見たところ、usb_detach_kernel_driver_np はLinux専用の関数のようなので、コメントアウトしてみたところ、makeは通るようになりました。

http://www.electric-spoon.com/doc/libusb-dev/html/function.usbdetachkerneldrivernp.html

$ diff pcsensor.c.orig pcsensor.c
77c77
<       ret = usb_detach_kernel_driver_np(lvr_winusb, iInterface);
---
>       ret = 1; //usb_detach_kernel_driver_np(lvr_winusb, iInterface);

実行してみたところ、デバイスを見つけてはいるようなのですが、claimのところでうまくいってないようでした。(後述のmodunloadしてもだめでした)

$ sudo ./pcsensor -v
...
lvr_winusb with Vendor Id: c45 and Product Id: 7401 found.
usb_open: device ptr is 0x8065f68
usb_open: pindex = 0
Detach failed: Error 0[0]
Continuing anyway
Detach failed: Error 0[0]
Continuing anyway
Could not claim interface

libusbのバージョンには0.1系と1.0系があり、このドライバは0.1系を使っていました。libusb-1.0のドキュメントを見ると、Solarisを正式サポートしているようなので、1.0系に対応すれば動作するかもしれないと思いました。

github.com

Linux用のドライバ(pcsensorまたはtemper)は派生版がたくさんあるようでしたが、libusb-1.0に対応しているものは見つけられなかったので、対応する意味はそれなりにありそうです。

libusb-0.1系と1.0系ではAPIが異なっており、互換性がありません。とはいえ、関数名はだいたい先頭を usb から libusb に置き換えたものが同等の機能のようなので、ドキュメントを眺めつつなんとなく似た名前の関数に置き換えていきました。libusbの使い方がちょっとだけわかったような気がします。

丸1日ほど格闘した結果、なんとなく動くようになったのでGithubに上げました。

github.com

Solaris 11 と RHEL 6(CentOS 6)で正常に動作することを確認しています。いくつかの派生版で、複数デバイスに対応する機能追加が行われていたので、それも取り込んでいます。

Solaris 11 だと↓のような感じでビルドできます。事前にgccとlibusb-1を入れておいてください。

$ sudo pkg install gcc libusb-1
...
$ git clone https://github.com/shakemid/pcsensor-temper
$ cd pcsensor-temper
$ make
...
$ sudo ./pcsensor.sh
...

複数デバイスがある場合は、↓のような感じで列挙されます。1つのデバイスに2つのセンサが付いているものにも対応していますが、私のものは2つ目のセンサ(external)はないので異常な値になっています。

$ sudo ./pcsensor
2017/08/31 19:00:35
Temperature (0:internal) 81.28F 27.38C
Temperature (0:external) 214.60F 101.45C
2017/08/31 19:00:35
Temperature (1:internal) 81.16F 27.31C
Temperature (1:external) 214.60F 101.45C
...

また、Muninでグラフ化できるようにプラグインも作ってみました。Githubの同じリポジトリの中に置いてあります。

github.com

MuninのRRDにはキャリブレーションしていない生の値を記録し、CDEF機能で補正するような作りにしてあります。補正した値をRRDに格納してもよいですが、CDEF機能を使うと、後でキャリブレーションをやり直しても以前に取得した値も補正できる利点があります。 CDEF機能はとっつきづらいですが、逆ポーランド記法(RPN)でRRDに格納された値に様々な計算を加えることができるRRDtoolの機能で、いろいろと応用が利きます。

RRDtool - rrdgraph_rpn

上記のプラグインの場合は、たとえば↓のように env.cdef オプションで比率とオフセット値を設定できるようになっています。

/path/to/munin/etc/plugin-conf.d/temper
----
[temper]
    user root
    env.pcsensor /usr/local/bin/pcsensor
    env.cdef  temperature,1.0287,*,0.85,-

TEMPerのキャリブレーションについては↓の記事がわかりやすいと思います。

www.okahiro.info

Muninでグラフ化すると↓のような感じになります。さすがに8月の室内は30度を超えて暑いですね。

f:id:shakemid:20170901191455p:plain

詳細は不明なのですが、どうも16回データを取得すると、17回目にデータを取得できなくなるような事象に遭遇しました。

$ sudo pcsensor
2017/09/01 19:14:57
Temperature (0:internal) 89.60F 32.00C
Temperature (0:external) 214.60F 101.45C

16回繰り返す

$ sudo pcsensor
USB read failed: 0
USB interrupt read: File descriptor in bad state
Fatal error> USB read failed

↓で議論されているのと同じ事象のように見えますが、どうも解決していないようです。 github.com

Linuxだと、もう一度実行すると温度を取得できるようなのですが、Solarisだと何度実行しても取得できないままでした。 この状態のときは、何かがUSBデバイスをロックしているように見えたので、HIDドライバをmodunloadしてみたところ、温度を取得できるようになりました。

$ sudo cat /dev/usb/c45.7401/0/if0in1
cat: /dev/usb/c45.7401/0/if0in1: Device busy

$ modinfo | grep hid
168 fffffffff7e5d000   5858  20   1  hid (USB HID Client Driver)
...

$ sudo modunload -i 168
...

これはちょっとあんまりな気がするのでもっといい方法があるとよいのですが、今のところ他に方法を見つけられていないので、HIDドライバをmodunloadしてpcsensorコマンドを実行するラッパをpcsensor.shとして公開しています。

というわけで、SolarisでもUSB温度計を使用できるようになりました。めでたしめでたし。

2017/9/14追記

↓のPerlモジュールがSolarisでも動作しました。

Device::USB::TEMPer1F - search.cpan.org

cpanに登録されているのでcpanmでインストールできます。

$ sudo cpanm -v Device::USB::TEMPer1F
...

↓のようなサンプルスクリプトで温度を取得できました。

#!/usr/bin/perl

use strict;
use warnings;

use Device::USB::TEMPer1F;

my $temper = Device::USB::TEMPer1F->new or die $@;
print $temper->fetch, "\n";

動作はしたのですが、どうもfetchメソッドでexternalのセンサーの値を読んでいるようなので、internalのセンサーの値を読むように変更しました。これは作者にフィードバックしておこうと思います。

--- TEMPer1F.pm.orig    2017-09-14 10:21:37.907791130 +0900
+++ TEMPer1F.pm 2017-09-14 10:21:48.015163258 +0900
@@ -79,7 +79,7 @@
     ) || die "Cannot read the the temperature!\n";

     my $r = [unpack "C8", $self->{buffer}];
-    return sprintf "%0.2f", $r->[4] + $r->[5]/256;
+    return sprintf "%0.2f", $r->[2] + $r->[3]/256;
 }

 ############################ private methods ##############################
実行例
$ sudo perl temper.pl
33.69

このモジュールだと16回以上取得してもエラーにならないようです。しかし、最初にmodunloadする必要はあるようでした。上記のCプログラムも、このPerlモジュールに倣って、不要そうなini_control_transferのあたりを削除したらエラーが出なくなりました。

ずいぶんシンプルになりました。今までの苦労はいったい。でもだいぶ勉強になった気がしました。

2017/9/28追記

eBayで、センサーが2つ付いたTEMPer2と、湿度計が付いたTEMPerHUMも買って対応してみました。 なんだかTEMPer工場みたいになってしまいました。はじめは部屋の温度を記録したかっただけなのにすっかり手段と目的が入れ替わってます。 USBハブに直接挿すと熱が伝わってしまうので、100円ショップのUSB延長ケーブルを使っています。

f:id:shakemid:20170928225610j:plain

eBayで買うとだいたい10日~2週間くらいで届きました。ちょっと納期はかかりますが値段は日本のAmazonで買うより安めです。 stores.ebay.com

ソースコードGithubで公開しています。 github.com

温度と湿度の計算式はこちらをだいぶ参考にしました。 github.com

かなり車輪の再発明感はありますが、より簡単にビルドできて、Solarisでも動きます。Solarisでも動きます。(大事なことなので2回言いました)

2017/8/21 北米皆既日食を見てきました

今世紀最高の条件(観測地へのアクセスのしやすさ、晴れやすさなど)と言われた、北米皆既日食を見てきました。皆既日食帯のほぼ中心に位置するオレゴン州ライオンズ(Lyons)という小さな町で、雲一つない快晴に恵まれ、パーフェクトな条件で観測することができました。皆既日食を見るのはこれが初めてで、超感動しました。本当に行ってよかったです。

f:id:shakemid:20170824153137j:plain

皆既日食中のコロナを多段階で合成。 BORG 71FL, 7215 x1.4, SONY α7S, 560mm, f/7.9, ISO100, 1/1000+1/250+1/60+1/15+1/4s, RAW5枚合成, ステライメージ8でローテーショナルグラディエント, トーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170917193104j:plain

双眼鏡で眼視したイメージを思い出して再現してみました。プロミネンスから外部コロナまで全部見えていて、空は青く見えました。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/1000+1/250+1/60+1/15+1/4+1+4s, RAW7枚合成, ステライメージ8でローテーショナルグラディエント, トーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170905102158j:plain

コロナがよく見えるように調整してみました。フルサイズの画角からはみ出るくらいコロナが広がっています。調整の仕方で印象がずいぶん異なりますね。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/1000+1/250+1/60+1/15+1/4+1+4s 各2~3枚、合計RAW19枚合成, ステライメージ8でスタック、ローテーショナルグラディエント, トーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170824112115j:plain

皆既日食中のコロナ。1枚だと内部コロナが白く飛んでしまいます。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/4s, RAW1枚, GIMPAPS-C相当にトリミング, トーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170824112105j:plain

ダイヤモンドリング。コロナやプロミネンスも見え始めています。 BORG 7215のおかげで、ゴーストはかなり少なめだと思います。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/60s, RAW1枚, GIMPAPS-C相当にトリミング, トーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170824112128j:plain

長く露出するとコロナがフルサイズからはみ出るくらいに広がっているのが写りました。地球照に照らされた月面の模様も見えてきました。太陽がたしかに月に隠されているのがよく分かります。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 4s, RAW1枚, GIMPトーンカーブ調整, アンシャープマスク等。

f:id:shakemid:20170901215101j:plain

ベイリービーズ。皆既の直前です。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/8000s, GIMPで調整。

f:id:shakemid:20170901205845j:plain

プロミネンス。α7Sだとちょっと解像度が足りない感じですが、炎のような感じで写りました。 BORG 71FL, 7215 x1.4, SONY α7S, ISO100, 1/1000s x6枚, ステライメージ8でスタック, 調整, GIMPで微調整。

撮影機材

f:id:shakemid:20170822003700j:plain

撮影機材は機動性重視で、ミニボーグを中心に構成しました。旅の荷物の総重量は20kgほどで、追加費用なしで余裕で飛行機に乗れる重さでした。レンズをばらして機内持ち込みにできるのも組み立て式のBORGのいいところです。

  • 望遠鏡
    • TOMYTEC ミニボーグ71FL対物レンズ(BK)【2572】
    • TOMYTEC M57ヘリコイドLIII【7861】
    • TOMYTEC M57ヘリコイドDXII【7761】
    • TOMYTEC ミニボーグ鏡筒DX-LD【6015】
    • TOMYTEC M57/60延長筒S【7602】
    • TOMYTEC 1.4×テレコンバーターGR【7215】
    • TOMYTEC カメラマウントホルダーM【7000】
    • TOMYTEC M49.8延長筒S【7921】
    • TOMYTEC M49.8延長筒M【7922】
    • TOMYTEC カメラマウント ソニーNEX用(Eマウント)【5013】
    • MARUMI ステップダウンリング 72mm → 49mm(部分日食中のみ)
    • Kenko PRO ND1000+ND100 (ND100000相当) 49mm(部分日食中のみ)
  • カメラ
    • SONY α7S
    • SONY NEX-5R(予備)
    • ROWA-JAPAN タイマーレリーズ
  • 赤道儀
  • 三脚
    • SLIK AMT 340HD
    • SIRUI L-20S 雲台
    • SLIK ストーンバッグDX
  • 双眼鏡
    • TO-PLAN Solar Opera 3倍
    • Carl Zeiss Terra ED 42x8 (もちろん皆既中のみ)

71FL+レデューサー7872セット 6472

71FL+レデューサー7872セット 6472

  • メディア: エレクトロニクス

Vixen ポータブル赤道儀 星空雲台ポラリエ(WT) ホワイト 355051

Vixen ポータブル赤道儀 星空雲台ポラリエ(WT) ホワイト 355051

  • 発売日: 2011/11/30
  • メディア: エレクトロニクス

旅行記

半年前

皆既日食は一生のうちには見たいと思っていましたが、行くかどうか迷っていました。北米でアクセスしやすいとはいえ、皆既日食帯に入るのは比較的田舎の州がほとんどで、半年前の時点ですでに皆既日食帯内のホテルはほとんど満室で、公共交通機関も混雑であまり期待できない状態でした。皆既日食帯に入るには、少し離れたところに宿泊し、レンタカーで移動するのがほぼ必須という状況だったので、海外で運転したことがなく、日本でもあまり運転しない私は困ってしまいました。 そんな中、1月にアメリカ居住経験がある友人の1人がポートランド近辺で日食を見に行くというのを聞き、それが後押しになって、私も行くことを決めました。ポートランドはけん玉プレイヤーの友達も多く、いざとなったら頼れるのも理由の1つでした。 3年くらい車を運転しておらず、運転に自信がなかったので日本で何回かレンタカーを借りて練習しました。国際免許も初めて取得しました。国際免許は免許センターに行って2000円払えば誰でももらえます。

撮影機材は天体観測遠征用のものをある程度持っていたのでそれらを使うことにしました。望遠鏡は、そのときに持っていたBORG 45EDIIでも充分に撮影できますが、せっかく海外まで遠征するので新しいものがほしくなり、BORG 71FLを購入しました。

2017/8/17

羽田からロサンゼルスを経由して、ポートランドに入りました。空港近くのAlamoレンタカーでまずレンタカーを借りました。営業所は空港から少し離れていて、数分おきにシャトルバスが運行されています。営業所につくと、予約を確認し、わりとすぐに車に案内されました。日本車がいいと思って日産の車を予約していたのですが、同等の車ということで現代が出てきてちょっとがっかりしました。これはもうしょうがないです。設備をチェックすると、GPSナビを予約していたはずが付いていませんでした。スタッフに確認すると、在庫がなくて、別の営業所に取りに行かなければならないけどキャンセルするか?というようなことを聞かれました。さすがにナビは必要と思ったので待つことにしました。20分くらいして持ってきてくれたのですが、電源コードの接触が悪く、すぐに電源が切れてしまう状態だったので、交換してもらいました。しかし今度は取付の部品が合わず、車に取り付けられませんでした。もう1度交換してもらい、ようやく使えるようになりました。さすがアメリカという感じでかなり適当なので、出発前によく確認した方がよいと思いました。今回は不安だったのでGPSナビを借りましたが、今ならiPhoneアプリと車載ホルダーでも充分かもしれません。

心配だった運転はそれほどでもなく、なんとか大丈夫でした。交通ルールを事前に予習しておいたのと、日本で運転の練習をしておいたのがよかったです。日本との最大の違いは右側通行なので、常に意識しておいた方がよいです。日本と逆で右折は簡単ですが、左折はちょっと怖いです。油断すると逆車線に入りそうになるので、左折時は特に意識が必要です。左ハンドルはあまり気になりませんでしたが、ワイパーとウインカーが左右逆なのは慣れるまで数日を要しました。最初の2日くらいは10回くらいワイパーを動かしてしまいました。

abroad.driver.jp

空港から1時間弱ほど運転してホテルに到着しました。ホテルはポートランドダウンタウンから少し南に行ったところにある↓のホテルにしました。

www.booking.com

半年前の時点で空き部屋が残り少なく、ちょっといい部屋しか空いてませんでした。やたら広く、キングサイズのベッドがある部屋でした。ベッドに枕が5個置かれていて、何に使うのかよく分かりませんでした。

2017/8/18

18日は観測地の下見に行きました。皆既日食当日の朝はポートランドから南に向かう道は大渋滞することが予想されていたので、前日の内にセイラム(Salem)まで移動して車中泊し、さらに南東に向かって皆既日食帯のほぼ中心で観測する計画を立てました。 Googleマップで調べたところ、セイラムから南東に向かうと、ライオンズ(Lyons)という小さな町があり、小学校があったのでそこをめざしてみることにしました。

f:id:shakemid:20170830002407j:plain

ポートランドからセイラムまでは車で1時間弱くらいでした。セイラムはオレゴン州の州都なので、それなりに店などが多く、駐車場で車中泊ができる程度に平和なようでした。比較的アクセスしやすい場所に24時間営業のデニーズがあったので、そこを前泊場所の候補にしました。 セイラムからさらに南東に車で30分くらい走ると、ライオンズに着きました。小学校には芝生の大きなグラウンドがあり、観測に適していそうでした。今は夏休みなので児童はほとんどいませんでしたが、職員の方はいたので、話をしてみたところ、少人数だったらグラウンドで観測してもよいと快く承諾してくれました。トイレも借りることができました。 ひとまず練習で太陽を撮影してみました。

夜はオレゴン州の最高峰、フッド山(Mt. Hood)の方面に走り、天体観測してみることにしました。山に向かって走ると、トイレがある簡易休憩所のようなところがあったので、そこで夜になるのを待ちました。オレゴンは緯度が北緯45度程度と、北海道よりやや北なので今の季節は日照時間が長く、夜8時を過ぎてもまだ少し明るいくらいでした。夜9時を過ぎてくると星が見えてきて、天の川も見えました。しかしこの日は部分的に曇りですっきりと晴れませんでした。なんとか天の川は撮影できましたが、雲が晴れそうになかったので日が変わらないうちにさっさと退散しました。

2017/8/19

19日は、朝食のために朝8時くらいに起きましたが、前日の200km以上の運転と、時差ボケでそのあと午後2時くらいまで寝てしまいました。午後2時は日本時間で朝の6時なので、だいたい日本時間に近い感じで生活することになり、結果的に時差ボケはそれほどなかったような気がします。

午後からゆっくりとローズガーデンに観光に行きました。バラの花と、森の中のトレッキングを楽しむことができました。自然を楽しめるのはオレゴンのいいところです。

夜は星がきれいに見えそうな、マウントフッドビレッジというところを目指してみました。明るい内に到着したかったのですが、時間を読み間違えて夜9時過ぎに到着してしまい、車のライト以外ほとんど真っ暗な状況で、ロケハンに難航しました。携帯の電波も入ったり入らなかったりで、Googleマップも当てになりません。

www.tripadvisor.jp

たまたま広場のような場所を見つけて入ってみたところ、素晴らしい星空で、天の川がはっきりと見えました。この日は雲もほとんどなく快晴で、天体観測にはパーフェクトでした。後から調べてみるとここはゴルフ場だったようです。

満天の星空と天の川。Samyang 14mm f/2.8, SONY α7S, ISO6400, 30s, RAW1枚, iPhoneLightRoomInstagramで編集。

f:id:shakemid:20170901142759j:plain

上の写真を再処理しました。Samyang 14mm f/2.8, SONY α7S, ISO6400, 30s x20枚, LightRoomで現像, ステライメージ8でスタック, GIMPで微調整。

M31アンドロメダ銀河。BORG 71FL, SONY α7S, ISO6400, 60s, RAW1枚, iPhoneLightRoomInstagramで編集。

f:id:shakemid:20170901142820j:plain

上の写真を再処理しました。BORG 71FL, SONY α7S, ISO6400 30s x10枚, ISO12800 30s x10枚, LightRoomで現像, ステライメージ8でスタック, GIMPで微調整。

f:id:shakemid:20170901142807j:plain

立ち上るような天の川。地平線近くまで夕焼けのように赤く写りました。 Contax Carl Zeiss Distagon 35mm f/2.8, SONY α7S, ISO6400, 30s x10枚, LightRoomで現像, ステライメージ8でスタック, GIMPで微調整。

f:id:shakemid:20170901142814j:plain

夏の大三角と天の川。35mmレンズの画角は天の川の幅と合っててよいです。 Contax Carl Zeiss Distagon 35mm f/2.8, SONY α7S, ISO6400, 30s x10枚, LightRoomで現像, ステライメージ8でスタック, GIMPで微調整。

f:id:shakemid:20170916202318j:plain

M27亜鈴状星雲。小さめですがよい発色で写っていると思います。α7SのISO12800はちょい撮りには充分常用できるほどノイズが少ないと思います。 BORG 71FL, SONY α7S, ISO12800 30s x10枚, LightRoomで現像, ステライメージ8でスタック, GIMPで微調整。

2017/8/20

20日も昼過ぎまで寝て、午後にゆっくりマルトノマ滝を見に行きました。道路が混みすぎていて駐車場までたどり着けませんでしたが、なんとか路上駐車することができました。 マルトノマ滝は落差約180mの見事な滝でした。

夜はいよいよ皆既日食の観測地への移動です。夜の時点ではまだ道路はそれほど混んでいませんでした。無事にセイラムにあるデニーズの駐車場に停車することができました。夕食もそれほど待たずに食べることができました。しかし、あれよあれよという間に満席になり、駐車場も満車になりました。やはり、前泊しようとしている人が多かったようです。早めの行動が功を奏しました。

2017/8/21

朝5時頃にセイラムを出発し、日の出前にライオンズに到着することができました。セイラムから東の方向に行く人は少ないと読んでいたとおり、道路はそれほど混んでいませんでした。 日の出前から天気は快晴で、パーフェクトな条件での観測が期待できました。

場所を確保して機材を準備していると、徐々にグラウンドに人が集まってきました。それでも最終的にだいたい30人くらいで、のんびりと落ち着いて観測できました。

太陽が昇り始めたらさっそく望遠鏡を太陽に向け、赤道儀で追尾を開始しました。ノートラブルで好調でした。

日食が始まる直前に、↓のような感じの緊急警報が携帯に送信されてきました。地震でも起きたのかと思ってちょっと驚きましたが、太陽を直接見ないようにとの注意喚起でした。日本だと地震くらいでしか見たことがないですが、こんな使い方もあるのですね。

注意喚起をしても、日食がある度に残念ながら失明する人が出るそうです。なんせ大統領が裸眼で見てしまうくらいですからね。本当に危険なのでダメ絶対です。

www.bbc.com

午前9時過ぎから太陽が欠けはじめました。太陽が半分以上欠けてくると、気温が体感できるレベルで下がり、少し肌寒いくらいでした。また、だんだんと暗くなっているのがわかりました。夕方や、曇りのときとは明らかに違う暗さで、日食独特の雰囲気でした。

部分日食中はタイマーレリーズで自動撮影していたので、太陽双眼鏡で眺めたり、ふつうの双眼鏡で↓のような感じで投影して遊んだりしていました。

皆既の時間が近づいてくると、いよいよ気分が高まってきました。皆既日食が継続している時間はわずか2分しかありません。私は撮影が主な目的ですが、その場で撮影パラメータを考える余裕はほぼありません。あらかじめパラメータは決めておき、予定どおり行動できるようにイメージトレーニングしていました。結果として↓のような感じで行動することができ、98%くらい完璧でした。このイメージ力はけん玉スキルだと思います。

  • 第1接触(欠け始め)~皆既1分前まで
    • ISO100, シャッター速度1/200sに設定, 念のためブラケット撮影1EVx5枚に設定(1/800, 1/400, 1/200, 1/100, 1/50s で一度に撮影)
    • レリーズタイマーで2分おきに自動撮影
  • 皆既1分前~第2接触ダイヤモンドリング
    • 太陽フィルターを外す
    • シャッター速度1/1000sに設定, ブラケット撮影2EVx5枚に設定(1/8000, 1/4000, 1/1000, 1/250, 1/60s で一度に撮影)
    • レリーズで手動連写
  • 皆既中1
    • シャッター速度1/60sに設定, ブラケット撮影2EVx5枚に設定(1/1000, 1/250, 1/60, 1/15, 1/4s で一度に撮影)
    • レリーズで手動連写5回くらい
    • ここで興奮して三脚に足が当たってしまい構図がずれました。カメラの視野内になんとか収まっていたので、10秒くらいで中心に戻すことができました。視野から出ていたらアウトでした。
  • 皆既中2
    • シャッター速度1/4sに設定, ブラケット撮影2EVx5枚に設定(1/60, 1/15, 1/4, 1, 4s で一度に撮影)
    • レリーズで手動連写3回くらい
  • 皆既中3~第3接触ダイヤモンドリング
    • シャッター速度を1/60sに設定
    • カメラを動画撮影に切り替え
    • ここまでで、皆既時間は残り30秒くらいだったようです。
    • ふつうの双眼鏡で観測。広がっているコロナがくっきり見えて感動的でした。
    • 広角レンズで撮影。金星が写りました。
  • 第3接触~第4接触(日食の終わり)
    • 太陽フィルターを付ける
    • 露出1/200sに設定
    • レリーズタイマーで2分おきに自動撮影

皆既中の写真は上の方に掲載しています。

f:id:shakemid:20170824142222j:plain 皆既中の太陽と金星。冬の星座が見えるかと思いましたが、そこまでは暗くなりませんでした。

第3接触が終わると、帰っていく人がかなりいました。私は折角なので最後まで撮影してましたが、最後までグラウンドに残っていたのは私でした。撮影機材は私が一番重装備だったくらいで、重装備な人がほとんどいない穴場でとてもいい観測場所だったように思います。

帰り道は、ライオンズからセイラムまでは混雑もなくたどり着けましたが、セイラムからポートランドの間が大渋滞でした。高速も下道も大渋滞でかなり迂回しましたがそれでも渋滞していて、通常なら1時間弱くらいのところ、5~6時間かかりました。これが行きでなく帰りだったのが救いです。やはり前泊して移動したのは正解でした。

初めての皆既日食観測にも関わらず、最初から最後まで雲一つないパーフェクトな天気で、観測機材も順調で、予定していた観測がほとんどうまくでき、非常に満足度の高い旅になりました。北米行きを後押ししてくれた友人、快く送り出してくれた家族、観測場所を提供してくださった小学校の方、Facebookで地元の情報を教えてくれた友人達と、そのほかにも多くの方のおかげで素晴らしい体験をすることができました。感謝感謝です。 次は2024年にまた北米で皆既日食があるのでまた行きたいですね。日本で次に見られるのは2035年なのでまだだいぶ先ですが、今から楽しみです。

おまけ

壁紙として使えそうな感じに加工してみました。よろしければご自由にどうぞ。

http://www.shakemid.com/pub/total_solar_eclipse_wall_1920.png http://www.shakemid.com/pub/total_solar_eclipse_wall_1920.png

http://www.shakemid.com/pub/total_solar_eclipse_wall2_1920.png http://www.shakemid.com/pub/total_solar_eclipse_wall2_1920.png

Celestron Edge HD 800 にファンを取り付ける

Celestron Edge HD 800 に温度順応のためのファンを取り付けたメモです。

Edge HD はシュミカセなので安定した観測のためには温度順応が必要になります。シュミカセの温度順応は1時間以上かかると言われていますが、できるだけ早く温度順応させるために、サードパーティ製品で、TEMP-estという小型のファンを取り付けるキットが販売されています。 鏡筒の通気穴(チューブベント)にファンを取り付けるというもので、面白い発想ですが、価格は165ドルとちょっといい値段です。 www.deepspaceproducts.com

日本で購入された方の記事によると、17mm角のファンが使われているようです。見た感じなんとなく自作できそうだったので、DIYしてみることにしました。 d.hatena.ne.jp

17mmのファンとなると非常に小さいので、PCパーツショップとかでは売っていないようでした。探してみるとマルツオンラインで、同じような17mm角のファンを取り扱っていました。マルツオンラインは、個人でも1個単位で注文できるので、電子工作のパーツ調達などに重宝します。 購入したのは、日本電産コパル電子の「F17HA-05MC」という型番で、1個1170円でした。私は8000rpmのものを購入しましたが、もう少し回転数が多い11000rpmのものもあります。 www.marutsu.co.jp

注文してから5日ほどで、こんな感じのパッケージで届きました。 f:id:shakemid:20170612085417j:plain

品物はこんな感じです。1円玉より小さい極小のファンです。こんな小さいファンは初めて見ました。 f:id:shakemid:20170612085614j:plain

ケーブル類はPCのパーツを流用することにしました。もっと安いパーツもあると思いますが、PC自作が趣味なので、こんな感じのパーツは余ってます。 f:id:shakemid:20170612085744j:plain

アイネックス ファン用電源延長ケーブル CA-090

アイネックス ファン用電源延長ケーブル CA-090

  • 発売日: 2015/04/28
  • メディア: Personal Computers

アイネックス ファン用電源延長ケーブル CA-092

アイネックス ファン用電源延長ケーブル CA-092

  • 発売日: 2015/04/28
  • メディア: Personal Computers

ファン用延長ケーブルのプラスチックのカバーは外してしまいます。ちょっと強めに引っ張れば外れます。黄色のケーブルは使わないので外してしまいます。 f:id:shakemid:20170612090312j:plain

ファンのケーブルに半田付けします。 f:id:shakemid:20170612093805j:plain

熱圧縮チューブで絶縁しておきます。 f:id:shakemid:20170612100300j:plain

鏡筒にこんな感じのチューブベントが2つあるので、ドライバーで取り外します。 f:id:shakemid:20170612110955j:plain

外すとこんな感じです。プラスチックのパーツに、金属製のメッシュが挟まっていました。 f:id:shakemid:20170612111225j:plain

鏡筒の中が見えます。鏡筒の中に何か落とすと取り出すのにかなり苦労しそうなので要注意です。 f:id:shakemid:20170612111236j:plain

二股電源コネクタのプラスチックのパーツを外します。これも少し力を入れて引っ張れば外れます。こちらも黄色のケーブルは使わないので外してしまいます。 f:id:shakemid:20170612101621j:plain

こんな感じでケーブルを通します。メッシュは端を折ってケーブルが通るようにします。 f:id:shakemid:20170612111825j:plain

二股分岐ケーブルに、プラスチックのパーツを再度取り付けます。赤と黒のケーブルの位置を間違えないように注意します。 f:id:shakemid:20170612112246j:plain

ファンを取り付けます。ちょっと不格好ですが針金で縛りました。寸法的には20mm角くらいのファンでも取り付けられそうな気がします。(2017/6/28追記 20mmのファンを取り付けられました) f:id:shakemid:20170612113354j:plain

一方が吸気、一方が排気になるように逆向きにファンを取り付けます。 f:id:shakemid:20170612113941j:plain

鏡筒の中に、二股分岐ケーブルが付いていない方のファンの電源ケーブルを通します。なるべくグリスまみれのネジに触れないように注意します。 f:id:shakemid:20170612114442j:plain

チューブベントのパーツを取り付けます。ファンがきれいに収まっています。 f:id:shakemid:20170612115928j:plain

二股電源コネクタにファンの電源ケーブルを接続します。 f:id:shakemid:20170612114756j:plain

ふたをすると電源コネクタが外に出ている形になります。 f:id:shakemid:20170612114959j:plain

USBコネクタを取り付けて完成です。 f:id:shakemid:20170612115135j:plain

試運転。小さいファンですが風を感じるので、それなりに効果はありそうな気がします。 f:id:shakemid:20170612115747j:plain

材料費4000円弱でファンを取り付けることができました。惑星がよく見えるシーズンなので、きれいに見えるようになるといいなあ。

(2017/6/28追記)

20mm角のファンを取り付けられそうだったので取り付けてみました。

20mm角のファンはSUNON(サンオン)社くらいしか作っていないようで、あまり選択肢がありません。「MC20100V2-000U-A99」という型番のものを購入しました。 www.marutsu.co.jp

17mm角のものと比べると一回り大きいです。性能は3倍です。F17HA-05MC が 0.5CFM(立方フィート/分)に対し、MC20100V2-000U-A99 は 1.5CFM です。より温度順応が早くなると期待できそうです。 f:id:shakemid:20170626154910j:plain

チューブベントのパーツに取り付けてみました。こっちの方がぴったりですね。 f:id:shakemid:20170626164332j:plain

梅雨で天気がすっきりせず望遠鏡の出番がありませんが、機材のメンテナンスをするにはいい機会かもしれませんね。梅雨明けが楽しみです。

Celestron Edge HD 800 にガイドスコープを取り付ける

Celestron Edge HD 800 にガイドスコープを取り付けたメモです。

CELESTRON EDGE HD800-CG5 鏡筒 【国内正規販売品】

CELESTRON EDGE HD800-CG5 鏡筒 【国内正規販売品】

なんとなくオートガイドをやりたくなったので、Edge HD 800 にガイドスコープを取り付けることにしました。鏡筒にガイドスコープを取り付ける方法はいくつかありますが、今回は、BORGのファインダー台座(旧式の7755)をたまたま持っていたので、これを活用してみることにしました。

Celestron鏡筒のネジは、UNC規格(インチねじ)なのですが、近所のホームセンターでは売っていませんでした。なかなか店頭では売ってないようなので、モノタロウの通販で購入することにしました。日本で売られているほとんどすべてのネジが入手できるようです。さすがモノタロウ。Celestron鏡筒には、#8×3/4インチ程度の皿ネジが適合するようです。ネジだけ買うと送料の方が高くなってしまいますが、数百円の話なので目をつむることにします。 www.monotaro.com

鏡筒のネジを1本外してファインダー台座を取り付けてみたところ、ぴったりでした。ネジ1本での固定ですが、がっちりと止まっているように見えるので大丈夫そうです。 f:id:shakemid:20170606141830j:plain

ガイドスコープを取り付けたところです。 f:id:shakemid:20170606141937j:plain

ガイドスコープは 60mm, F/4 の安いのにしました。

オートガイダーは、シュミットで安売りしていた Celestron NexGuide にしました。

全体はこんな感じです。バランスは悪くない感じです。このガイドスコープで Edge HD 800 をガイドできるかは未知数ですがさてさて。 f:id:shakemid:20170606142000j:plain

Sky-Watcher EQ5GOTO をリチウムイオン電池で稼働させる

赤道儀用のバッテリーがへたってきたので買い換えたメモです。

Sky-Watcher EQ5GOTO を Celestron PowerTank 7 といっしょに2年ほど使用してきましたが、このところ1時間半くらいしかもたなくなってきました。本来は5時間程度もつようなので明らかに劣化しています。PowerTank は鉛蓄電池なので、1ヶ月に1~2回くらいは充電していたつもりでしたが、天気が悪い季節は1ヶ月以上放置してしまった気もするので、サルフェーションがおきてしまったようです。

Sky-Watcher EQ5 GOTO赤道儀(ステンレス三脚仕様)

Sky-Watcher EQ5 GOTO赤道儀(ステンレス三脚仕様)

EQ5GOTO にはバッテリーは付属しておらずDC12Vのシガーソケット用ケーブルが付属しているのみです。代理店のシュミットでは PowerTank を推奨されていたので同時に購入していました。 www.syumitto.jp

しかし、PowerTankをまた買い直すのも面白くない感じです。DC12Vなので理屈上は自動車用の鉛蓄電池とかでも動くはずですが、EQ5GOTOにはヒューズがなく、ちょっとした過電流で壊れてしまうので、DC-DCコンバータ(レギュレータ)を使わないといけないとの情報がありました。 ものぐさな私には鉛蓄電池の運用は面倒に思えてしまったので、リチウムイオン電池を検討してみることにしました。

情報を収集してみると、suaoki社の製品の評判がよいようだったので購入することにしました。PowerTank 7 の上位機種の PowerTank 17 より安く、電源容量は大きいのでよさげです。電源容量20000mAhという記載がありますが、これは11V換算です。通常のリチウムイオン電池は3.7V換算のことが多いようなので、3.7V換算すると約60000mAhになります。分かりづらいですね。モバイルバッテリーだと5000mAhくらいで大容量と言われますが、桁が違います。

上位機種で約2倍の容量のものもあります。こちらは3.7V換算で120000mAhという記載ですね。

20000mAh(11V換算)のバッテリーでEQ5GOTOを駆動してみたところ、3時間程度で5段階の目盛が1つ減りました。単純計算で、赤道儀だけならだいたい15時間くらいはもちそうな感じです。7000mAh(12V換算)の PowerTank 7 で5時間なので、3倍の15時間ならだいたい妥当なところです。 一晩なら余裕ですね。

EQ5GOTOのコントローラ(SynScan)の System Information メニューで入力電圧を確認したところ、12.2Vでした(PowerTankは12.4V)。機能に問題はなく、安定して動いているようです。

リチウムイオン電池なら、3ヶ月に1回充電すればよいようなので、ものぐさな私でも運用できそうです。

Solaris 11 で ShellCheck をビルドするメモ

ShellCheckシェルスクリプト文法チェッカです。文法チェックだけでなく、ダブルクォート忘れなども指摘してくれるので、コードの品質向上にも非常に役立ちます。

ShellCheckはWebブラウザ版もありますが、CLI版もあります。多くのLinuxディストリビューションにはパッケージがあるようですが、例のごとくSolarisにはないのでビルドしてみることにしました。

ShellCheckはHaskellで書かれているのでまずはHaskellコンパイラをインストールしないといけません。Haskellが入れば、cabal-install (Perlcpanみたいなもの)でShellCheckをインストールできるのですが、 cabal-install のインストールが曲者でした。

続きを読む

Solaris 11 で sslscan をビルドするメモ

sslscanSSL/TLSのサーバに対してプロトコルやCipherのチェックができるツールです。脆弱なCipherが有効になっていないかなどを手軽にチェックするのに役立ちます。
Solaris 11 でもビルドできたので手順をメモしておきます。sslscan は頻繁にバージョンアップされているので、できるだけ最新版を使うのがよいと思います。

続きを読む