ガジェット」カテゴリーアーカイブ

Bamboo Slate を買った

現代の情報化社会に生きる我々にとって、電子的にノートを取りたい、あるいは、手軽にノートを電子化したい、というのは自然な欲求である。

最近だと iPad Pro + Apple Pencil を使っている人をちらほら見かけるが、 iPad Pro は高い。iPad Pro 12.9インチモデル + Apple Pencil を買うと、最低でも10万円は超える。9.7インチモデルはもう少し安いが、A4の半分程度のサイズなので狭そう。

そんな中、筆者のアンテナに留まったのが、最近出た、ワコムの Bamboo Slate という製品である。バインダーみたいな板 (Slate) の上に紙を置いて、専用のボールペンで書くと、紙のノートに加えて電子的なノートも取れる。

Bamboo Slate は、一年くらい前から発売されている Bamboo Spark というやつの姉妹品らしい。Slate には Spark と比べて

  • でかい。Spark はA5サイズなのに対し、 Slate はA5サイズとA4サイズの2種類がある。なお、 Spark のような2つ折り形態でA4サイズの製品としては、 Slate と同時に発表された Bamboo Folio がある。
  • 軽い。Spark は一番軽いやつでも 535g なのに対し、Slate はA5モデルが 264g で、A4モデルが472g である。
  • 薄い。2つ折りとかいいから、とにかく薄いのをくれ。

というメリットがある。以前量販店で見かけた Spark では筆者の食指は動かなかったので、これらの点は大切なのだろう。 続きを読む

Raspberry Pi で赤外線リモコン

Raspberry Pi の GPIO に赤外線 LED をつけてリモコンとして使おう。

使ったハードウエア

  • Raspberry Pi Model B
    • 手元にあるのは、初代の、プラスじゃないやつ。microじゃない標準サイズのSDカードが刺さる。
    • Arch Linux が入っている。Raspbian だと若干手順が変わると思われる。
  • 赤外線LED
  • 赤外線リモコン受信モジュール
    • 3.3V で使えるもの。
    • Raspberry Pi を送信側として使うつもりであっても、既存のリモコンの信号を分析するには受信モジュールが必要となる。
  • トランジスター、抵抗、配線、ブレッドボードとか

参考にしたページ

ネット上のブログ記事の情報は古い場合があるし、そもそも環境が違って(Raspbian vs Arch Linux)参考にならないかもしれない。ネットの情報は参考程度にして、ソフトウエアのマニュアル等を参照するのが大切である。

作ったもの(ハードウエア)

使う GPIO の番号は選択の余地があるが、適当に GPIO17=出力 (LED), GPIO27=受信 とした。

ソフトウエア的な手順

Linux で赤外線リモコンの信号を送受信するための LIRC というソフトウエアがあるらしいのでそれを使う。

1. LIRC をインストールする

Arch Linux のパッケージになっているのでラクチン。

# pacman -S lirc

2. LIRC をロードする

/boot/config.txt を編集して、 LIRC をロードする。

/boot/overlays/README を参照。例として lirc が書いてあった。

# nano /boot/config.txt
dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=27

を書き加える。

lirc をロードするのに modprobe を叩いたり /etc/modules を編集したりは、しない。

(この辺で再起動をかける?)

systemctl start で lircd を起動する。systemctl enable するとラズパイの起動時に自動で起動してくれるはず。

# systemctl start lircd

3. 受信テスト

mode2 コマンドで、受信したものを吐かせる。

# mode2 -d /dev/lirc0

適当にリモコンを向けて、

space (数字)
pulse (数字)

の羅列が出てきたら多分OK。

4. リモコンを登録

irrecord コマンドを使い、リモコンの信号をファイルに記録する。

# irrecord -n -d /dev/lirc0 lircd.conf

メッセージの指示に従う。

途中で、 Enter name of remote と聞かれたので、 homeceiling と入力した。出力ファイル名は homeceiling.lircd.conf となった。

Enter name of remote (only ascii, no spaces) :homeceiling
Using homeceiling.lircd.conf as output filename

個別のボタンを登録する段になって Something went wrong: Cannot decode data といわれ、最後に Try using the -f option. と出てきたので、 -f オプションをつけて再実行した。

# irrecord -n -f -d /dev/lirc0 lircd.conf

homeceiling.lircd.conf ができた。

# cp homeceiling.lircd.conf /etc/lirc/lircd.conf.d/

5. 信号を送る

irsend SEND_ONCE (リモコン名) (ボタン名) で信号を送れる。

# irsend SEND_ONCE homeceiling lighter

Canon 製一眼レフの赤外線リモコン

Canon 製の一部の一眼レフカメラ/ミラーレスカメラには赤外線センサーがついていて、純正もしくは互換品の赤外線リモコンを買うとカメラに触れずにシャッターが押せる。(エントリーモデルの安い機種だと赤外線センサーがついていなかったりするので注意)

純正品のリモコンとしては Canon RC-6 が販売されている。Amazonとかを覗くと、 RC-6 互換のリモコンが山ほど売られている。

動作モードとしては、以下の二つがあり、リモコン側で切り替えられる。

  • 即時シャッター
  • 2秒後シャッター

有線のリモートスイッチと違って、赤外線リモコンを使うには、カメラ側の動作モードをリモコンモードにしなければいけない。

この赤外線リモコンが送る信号は割と単純で、以下のページで解析されている。

www.doc-diy.net :: Canon RC-1 remote control reverse engineered

AVRとかのマイコンと赤外線LEDを組み合わせれば、自作の赤外線リモコンを作ることもできる。上記のWebサイトにも作例がある。

www.doc-diy.net :: DIY Canon RC-1 IR remote control clone

というわけで赤外線リモコンを自作しようかと思ったが、既製品で良さそうなのを見つけたのでそれを買ってしまった。赤外線が結構強力で、2.5mmステレオケーブルを繋げば有線リモコンとしても使える。欠点があるとすれば、電池がやや特殊なことか。

ベルボン株式会社 ツインワンR3-UT

Raspberry Pi と gPhoto2 で一眼レフを叩く

Raspberry Pi (Arch Linux インストール済み)に一眼レフをUSBで繋いで制御してみよう。

gPhoto2のインストール

# pacman -S gphoto2

違うディストリ/パッケージマネージャーでも、何かしら gphoto2 みたいなパッケージはあると思う。

簡単な使い方

接続されたデバイスの一覧を見る:

$ gphoto2 --list-ports
Devices found: 3
Path                             Description
--------------------------------------------------------------
ptpip:                           PTP/IP Connection               
usb:001,005                      Universal Serial Bus            
usb:001,003                      Universal Serial Bus            

機種名を表示:

$ gphoto2 --auto-detect
Model                          Port
----------------------------------------------------------
Canon EOS 600D                 usb:001,005

EOS 600DというのはEOS Kiss X5のことで、同じ製品でも日本と海外で名前が違うとかいうアレだ。

パーミッションの罠

では、 gphoto2 --summary でもっと詳しい情報を取得してみよう。

$ gphoto2 --summary

*** Error ***
An error occurred in the io-library ('I/O problem'): No error description available
*** Error (-7: 'I/O problem') ***

For debugging messages, please use the --debug option.
Debugging messages may help finding a solution to your problem.
If you intend to send any error or debug messages to the gphoto
developer mailing list <gphoto-devel@lists.sourceforge.net>, please run
gphoto2 as follows:

env LANG=C gphoto2 --debug --debug-logfile=my-logfile.txt --summary

Please make sure there is sufficient quoting around the arguments.

なんかエラーが出た。

しかし、このエラーはハードウエアの問題とかgPhoto2の問題ということとも限らない。なぜなら、

$ sudo gphoto2 --summary

としてみたり、

$ lsusb | grep Canon
Bus 001 Device 005: ID 04a9:3218 Canon, Inc. EOS 600D / Rebel T3i (ptp)
$ ls -l /dev/bus/usb/001/005
crw-rw-r-- 1 root root 189, 4 Feb 14 18:23 /dev/bus/usb/001/005
$ sudo chgrp users /dev/bus/usb/001/005
$ gphoto2 --summary

みたいな感じで /dev/bus/usb/ほにゃらら/ほにゃらら のグループを変えてやるとうまくいく。つまり、USBデバイスのパーミッション的な問題だということだ。

そこで、 udev の設定をいじる。Arch WikiのDigital Camerasのページを参考にして、

# groupadd camera
# /usr/lib/libgphoto2/print-camera-list udev-rules version 175 group camera > /etc/udev/rules.d/40-gphoto.rules
# usermod -a -G camera (自分)

みたいなことをやったらうまくいった。(自分の環境だと 40-gphoto.rules というファイルは /usr/lib/udev/rules.d/40-gphoto.rules に既に存在したが、/etc/udev/rules.d/ に同名のファイルを置くとそっちの方が優先される。この辺は man udev を参照。)

設定を変えた後は再起動が必要かもしれない。

簡単な使い方その2

gPhoto2 で写真を撮ってみる:

$ gphoto2 --capture-image

写真を撮影&ダウンロード:

$ gphoto2 --capture-image-and-download

頑張れば露出とかシャッター速度とかいろいろ設定できそうだが、そういうのはまた今度。

Raspberry Pi じゃなくても

gPhoto2は別にRaspberry Piじゃなくても普通のLinuxとかあるいはOS Xでも動くのだが、お節介なリッチなデスクトップ環境とかが入っていると、そっちの方にカメラの制御権(?)を奪われてしまう場合があるので注意しよう。

FlashAirで遊ぶ — SPIでIOボードを制御

前回はFlashAirに直接LEDをつないでLEDを制御したが、今度は秋月のFlashAir DIP IOボードキットを介してLEDを制御してみよう。

用意するもの

続きを読む

家のネットワーク環境を整えた話

最近、NASを買ったり無線LANルーターを新しくした。そこで、新しい機器の導入によって良くなったこととかを日記として書いておく。NASのレビューと無線LANルーターのレビューとVPNについてのあれこれとIPv6についてのあれこれが混ざっているが、日記なのでしょうがない。

この記事はチュートリアルとかではないので、「こういう環境でコレを導入して適切に設定したらうまくいった」とは書いても「適切な設定」の手順は書かない。

続きを読む

Keynoteのリモート操作

Keynoteで発表するとき、ずっとMacの前に立っているのもアレなので、リモコンで制御したい。

昔のMacにはApple Remote用の赤外線受光部があって、Keynoteを操作できた。しかし、今のMac(Mac miniは例外か)からはそういうのは消えて、Apple RemoteはApple TV専用みたいな感じになってしまった。

今はiPhoneやiPadのKeynoteアプリを使って遠隔操作するのが標準的な方法(?)のようだ。リモート操作だけではなくて、iPhoneの画面で発表者ノートとかも見れる。便利だ!

…と言いたいところだが、

  • iPhone/iPadを持っていない
  • iPadは持っているが、でかいので片手で持てない
  • 触感のないタッチパネルではなくて、物理的なボタンのついたリモコンが欲しい(リモコンの操作をするのに手元を見たくない)

という理由で、物理的なリモコンが使いたいという人もいるだろう。

そこで、赤外線受光部を搭載しないMacで、物理的なリモコンを使ってKeynoteを操作することを考えてみよう。
続きを読む

Macのストレージを空けた (2)

関連:Macのストレージを空けた

またMacのSSDの空き容量が減ってきたので、なんとかする。

duコマンドでホームディレクトリ以下を検査して、容量を食っているやつをチェックする。

~/Library/Application Support/MobileSync/Backup/

20GBくらい。

こういうバックアップの類はなるべく消したくないタチなので、できれば外付けドライブとかに移したい。ググったらシンボリックリンクを貼れば良いというのが出てきたが、リンク先のドライブが接続されてない場合の挙動が心配である。

というわけで今回はパス。

~/Library/Developer/Xcode/

7.1GBくらい。

中でも、 iOS DeviceSupport というサブディレクトリが6.3GBほど食っているようである。

ググって調べたところ、新しいiOSデバイス、または新しいiOSの入ったデバイスを接続すると iOS DeviceSupport の中身が増殖するらしい。

$ rm -r 7.1.* 8.0.* 8.1.*

のようにして、最新のバージョン(8.4)以外を削除。

古いHaskell Platform

7.10.2を入れたので7.8.3には消えてもらう。手順は前の記事に書いた。