2014年12月31日水曜日

Raspberry Pi から sSMTP でメールを送る.

年末で時間があったので,Raspberry Pi からメールを送れるように設定した.

ラズパイからメールを送るためには,MTA(Mail Transfer Agent)と呼ばれるプログラムをインストールして設定すれば良いようだが,Sendmail,qmail,Postfix など色々と種類があるらしい.

これらのプログラムは,通常メールサーバ上で動いており,私たちがメールを送るときには,MUA(Mail User Agent)すなわちメーラーを介して、MTA にメールを受け渡すことでメールを送信先に届けているようだ.



つまり,ラズパイからメールを送るためには

ラズパイをメールサーバ化してやれば良い

ということになる.



では,どの MTA を採用するべきか?

最も有名で,かつ古くから MTA として利用されているのが Sendmail.こいつは非常に高機能で,設定ファイルを適切に記述してあげることで高度な設定が行えるらしいが,かなり複雑な構造になっており,設定ファイルの記述法も難しく,管理が大変という欠点を抱えている.

一方の qmail や Postfix は Sendmail と比べて,設定が容易になっており,機能面でも通常の利用法をしている限りは十分らしく,最近では Linux の標準 MTA が Sendmail から置き換えられている場合もあるらしい.



しかし,今回はそのいずれもその採用を見送ることにした.私の目標はあくまでメールを送信できるようにすることであり,メールサーバーをたてることではないからだ.

そして,その目的にピッタリだったのが,sSMTPというプログラム.

各所で,非常にシンプルな MTA と紹介されているが,別途 SMTP サーバを必要とすることから,MTA というよりは,CUI で操作でき,sendmail コマンドの代替として利用できる,SMTP クライアントソフトと称した方が正確のような気がする.

前置きが長くなったが,実装方法に移っていきたいと思う.



まずはプログラムをインストールする.

標準のパッケージに sSMTP も用意されているので,いつも通り apt-get してやれば良い.
$ sudo apt-get install -y ssmtp



先ほど,sendmail コマンドの代替として利用できると書いたが,実際にインストール完了後に,sendmail コマンドを ls コマンドで詳しく表示してみると,sendmail コマンドが ssmtp コマンドで置き換えられていることが確認できる.
$ ls -al /usr/sbin/sendmail

(実行結果)
lrwxrwxrwx 1 root root 5 7月 10 2012 /usr/sbin/sendmail -> ssmtp



インストールが完了したら,/etc/ssmtp/ssmtp.conf を開き,SMTP サーバの設定に移る.

ラズパイの場合はデフォルトで root,mailhub,hostname,FromLineOverrideの4つのオプションが設定されているが,そのうち root と mailhub に変更を加える.(今回は Gmail の SMTP サーバを利用することにした)
root=*****@gmail.com       ←自分のメールアドレス
mailhub=smtp.gmail.com:587 ←SMTPサーバのアドレス



もちろん,これだけでは,Gmail の SMTP サーバにアクセスできないので,さらにアカウントの認証情報を追加する.

AuthUser=*****@gmail.com
AuthPass=password
UseSTARTTLS=YES

ちなみに,Gmail の二段階認証をオンにしている場合でも,アプリパスワードを発行してそれを password のところにコピペしてやれば問題なく使える.また,一番下は暗号化の方式で Gmail を利用する場合には追加する.

以上で sSMTP の設定は終了.本当に簡単である.



さて,あとは mail コマンドでメールを送って,正常に動作するか確認するだけだ.

まず,mailutils のインストールが済んでいない場合には apt-get しておく.
$ sudo apt-get install -y mailutils

ここまで完了したら,いよいよメール送信テストだ.携帯にでも送っておけば良いだろう.
$ mail hoge@docomo.ne.jp
Cc:
Subject:Test.
This is test.
(ここで Ctrl + d を押す:EOT)

無事にメールが届くことが確認できたら,設定はすべて完了だ.

cron に MAILTO を登録するなり,シェルスクリプトに追加するなりして利用する.

2014年12月18日木曜日

楽天koboイーブックストアで使えるクーポン一覧

この記事の更新情報をtwitterで流しています.


旧ストア/新ストア

[]内をコピペすれば適用されます.
35%off
[Comeback1sq42]
[Comeback3cl86]
[Comeback5cr87]
[thanks8_6cl87]

30%
[Comeback4sq66]

25%off
[Comeback3cl23]
[Comeback6sq52]

楽天kobo専用端末
【楽天ブックスならいつでも送料無料】【高級感あふれるデザインに、...

【楽天ブックスならいつでも送料無料】
Kobo Aura

価格:13,165円(税込、送料込)




楽天kobo関連記事
kobo touch が届いた。
kobo touchを使って分かったこと。
kobo touchを分解してみた.【Ubuntu12.10】
メディアのバックアップを取る(dd コマンド)
kobo の同期のアルゴリズムについて検証してみた.その1
koboデスクトップアプリ更新!
kobo aura の予約受付が始まりました
楽天Koboから7インチタブレットの登場.Kobo Arc 7HD 予約受付開始.

2014年11月19日水曜日

【Linux】コマンドでファイル名を連番に変更する.

nautilus を開いて,ファイルを選択して,F2を押して,番号を入力して,Enter.

十数回ならばまだしも数十回,数百回,この作業を続けるのは非現実的なのでコマンドでぱぱっと解決したいと思います.

利用するのは for ループと数値計算,加えてコマンド置換と printf コマンドです.

答えを先に示してしまうとこんな↓感じ

$ j=1
$ for i in *.png
> do
>     mv ${i} $( printf %03d ${j} ).png
>     j=$(( $j + 1 ))
> done


まず,変数 j に 1 を代入し,次に for ループを開始.

変数 i に該当する PNG ファイルを代入したら,mv コマンドでその PNG ファイルのファイル名を j に変更.

その際,コマンド置換と printf の組み合わせで桁合わせ(ここでは三桁表示).

最後に,j を j + 1 に更新して,for ループの始めに戻る.

$ ls

してみると,

001.png 002.png 003.png 004.png 005.png
006.png 007.png 008.png 009.png 010.png
011.png 012.png 013.png 014.png 015.png
・・・
・・・

(中略)

051.png 052.png

みたいな感じになり,無事成功.



例えば,前回のトリミングの話や tar コマンドを組み合わせると,こんなこともできそうです.↓

$ j=1
$ for i in *.png
> do
>     k=02$( printf %03d ${j} ).png
>     convert -crop 1368x1080+213+0 ${i} ${k}
>     tar rvf hoge.tar ${k}
>     rm ${i} 
>     j=$(( $j + 1 ))
> done

それにしても for ループで大量のファイルを扱うときはミスがないかいつもハラハラします.

ヘタすると取り返しの付かない事態になりかねませんからね.

だから,こんな記事書いて忘れないようにしてるんですけど.


2014年11月17日月曜日

【Linux】大量の画像をコマンド一発でトリミングする.

画像をトリミングするとき,私は GIMP などの GUI ソフトで対応していますが,複数のファイルを扱う場合にすべて GIMP で開くのは大変なので,コマンドで処理するのが便利です.

使用するのは,お馴染みの convert コマンド.

$ convert -crop 256x128+64+32 input.png output.png


上の例では,左から 64px,上から 32pxの位置から 256 x 128px の画像をトリミングします.

また入力ファイルと出力ファイルに同じファイル名を指定した場合,上書きされます.

大量に扱う場合は for と合わせて,

$for i in *.png
>do
>    convert -crop 256x128+64+32 ${i} ${i%.png}_2.png
>done


とすれば,**.png ファイルが全て 256 x 128px でトリミングされて **_2.png として保存されます.



この方法,どんなときに活躍するかと言えば,ずばりスマホでスクリーンショットを撮ったときです.

(余談ですが,私はスクショを撮る度に Dropbox にアップロードするように設定しています.)


左の画像(トリミング前)は,上下にそれぞれ無駄なものがが表示されていますが,

$ convert -crop 1080x1701+0+75 input.png output.png


としてやれば,必要かつ十分な情報量の右の画像(トリミング後)が得られます.




ちなみに,identify コマンドでそれぞれの画像の情報を見ると,output.png にはしっかりとトリミングした形跡が残っています.

input.png
PNG 1080x1920 1080x1920+0+0 8-bit DirectClass 152KB 0.000u 0:00.000


output.png
PNG 1080x1701 1080x1920+0+75 8-bit DirectClass 133KB 0.000u 0:00.000



大量のスクリーンショットを撮って,ブログの記事にする場合などに重宝すると思います.

2014年11月15日土曜日

M.ZUIKO DIGITAL 25mm F1.8 購入レポ.

最近どうも散財気味ですが,友人の結婚式が近いので(それを言い訳に)レンズを追加しました.



M.ZUIKO DIGITAL 25mm F1.8



45mm F1.8 に続いて,M.ZUIKO PREMIUM シリーズ二本目です.

45mm F1.8 も気に入っているのですが,やはり 35mm 判換算 90mm は焦点距離が少々長い.屋外撮影ならば最高のパフォーマンスを提供してくれるのですが,屋内に入ると途端に役不足.

仕方なく 17mm F2.8 を付けていましたが,45mm F1.8 に比べると圧倒的に表現力が劣ります.




45mm F1.8(奥)と 25mm F1.8(手前)



そんな理由で,次のレンズは絶対これにしようと思っていました.実際,Amazon のレビューでも 45mm F1.8 を持っていて焦点距離に悩んでいる人にオススメという意見が多数.レンズは値下がりすることもあまりないので,将来的にどうせ買うなら今買っても同じと判断しました.




45mm(左)と 25mm(右)



それにしても見た目までそっくりな と 45mm と 25mm.しかしスペックを比較してみると,フィルターサイズや質量が異なることがわかります.



25mm F1.845mm F1.8
焦点距離25mm(35mm判換算50mm)45mm(35mm判換算90mm)
レンズ構成7群9枚(非球面レンズ2枚) 8群9枚(E-HRレンズ2枚)
画角47°27°
最短撮影距離0.25m0.5m
最大撮影倍率0.12倍(35mm判換算0.24倍相当)0.11倍(35mm判換算 0.22倍相当)
最近接撮影範囲144×108mm157×118mm
絞り羽枚数7枚(円形絞り)7枚(円形絞り)
最大口径比F1.8F1.8
最小口径比F22F22
フィルターサイズØ46mmØ37mm
最大経×長さØ57.8×42mmØ56×46mm
質量137g116g



また,最短撮影距離が1/2になっているのに対して,焦点距離は半分よりも大きいので,25mm はマクロ撮影にも向いていると言えそうです.マクロコンバーター(MCON-P02)を付ければさらに楽しい写真が撮れそう!?



それから,レンズを買った時のお約束として,プロテクトフィルターを買ってきました.

45mm F1.8 にも付けているKenko の PRO1D プロテクターを買いに行ったところ,まったく同じ値段で PRO1D NX プロテクターなるものを発見.箱の裏を見ても違いがわからない.そこで店員に聞いてみると,NX の方は縁に研磨がかけられていて,ケラれにくくなっているんだとか.(レンズ自体は全く同じ)



Kenko PRO1D NX プロテクター(W)46mm



残念ながら NX シリーズは色の選択肢がブラックのみでしたが,どうせ同じ値段なら,新しい方かつ工夫が加えられている方が欲しいと思い,NX の方を買いました.




PRO1D NXプロテクター 46mm(左)とPRO1D プロテクター 37mm(右)



37mm のノーマルバージョンとの比較してみると,確かに縁のところに研磨がかけられ,シルバーの部分が見えていることが分かります.




E-M10 + 25mm F1.8(レンズフードなし)+ PRO1D NX プロテクター(W)



レンズがシルバーなので心配しましたが,これはこれでアクセントが入って良い感じです.




E-M10 + 25mm F1.8(レンズフードあり)+ PRO1D NX プロテクター(W)



またオリンパスにしては珍しく,レンズフード同梱です.プロテクターとレンズフードどっちかだけで十分という声もよく聞きますが,私は心配症なのであるなら両方取り付けます.


まだ試し撮りしかしていないので,これから出かけて写真を撮ってこようかと思います.



2014年10月28日火曜日

Nexus5 が逝った.

購入してからまだ半年も経っていない Nexus5 がお亡くなりになりました.




ポケットから取り出すときうっかり手を滑らせてしまい地面にカツン.

拾い上げると液晶が半分ぐらい写っていない.

(あれ?バグった???)と思い強制再起動しても元に戻らない.(電源ボタンを7秒以上長押し)

その段階になってようやく「あぁ,液晶が逝ったのか」と現状を把握.




それと同時に,

修理代いくら? むしろ新品の方が安い? いやいや,Nexus6 の発売まで待つ?

と無駄に高速回転を始める私の脳みそ.

とりあえず落ち着いてググろう.ということで「Nexus5 故障」と検索すると,出るわ出るわ.




Nexus5 ってゴリラガラスなのに割れやすいんだなー.と初めて知る.

実際,私もスマホを落下させたことは過去に何度もありますが,壊れたのは今回が初めて.

ただ,私の場合は画面に損傷はなく,あくまで液晶にヒビが入った状態.

もしかしたらサポート対象内かも? と淡い期待を抱きながら Google play のサポートに電話.




しかし,

私 :「カバンから取り出したら画面に亀裂が入っておりまして・・・(大嘘w)」

サポ:「有償での修理となりますので,製造メーカーでの対応と・・・ry」

と,自然故障を装ったにも関わらず,バッサリでした.



今度は製造メーカーである LG に電話し,そこでもさらに悪あがき.

サポ:「フロントガラスの修理には2万5千円かかりますので・・・.」

私 :「いや,フロントガラスは割れてないですよ・・・?」

サポ:「液晶を含む前半部分はすべて一体の部品ですので,誠に申し訳ry」



対戦成績:2戦2敗.結局,2万5千円の修理費を払うことになりました.

見た目はそんなに壊れてないのになぁ・・・.




さらに郵送の際には,初期化して,アクセサリーの類はすべて外すように指示され,

一昨日,貼ったばかりのカッティングシートも剥がすことになりました.

地味にショックです.製作時間4時間弱が水の泡.

かなり気に入ってたので,修理から戻ってくるまでの間にまた作ることにします.




余談ですが・・・,

カッティングシートの上からケースをつけると,剥がれない上に粗が誤魔化されて良い感じです.




そのあと,Google Play のデバイスマネージャーからデータの初期化を行い,

(タッチパネルが反応しないので,リモートでデータ消去しました)




SIM をスロットルから抜き取りました.




液晶が死んだだけで,ほとんどの機能は生きていたので,SIMを抜くまでメールやらLINEやらFacebookやらの通知が来まくって,正直かなりうるさい文鎮でした.

(タッチパネルが反応しないので,電源を切ることもできません.)




そして,これ以上壊れることが無いように元々 Nexus5 が入っていた箱に入れました.

保証書なんかも一応同梱しておきます.(最後の悪あがき)




最後にカバーをつけて,これをさらに緩衝材と共に段ボールへIN!

そのままコンビニに持って行きました.

さていつごろ帰ってくるのやら.

来週中には帰ってきて欲しいものです.

【追記】

発送翌日にLGから見積もりが届き,次の日の朝一で振り込むとそのまた翌日に返ってきました.

故障からわずが4日というスピード修理.

高い金を払っただけはありますね.(25,261円)

今までも丁寧に扱ってきましたが,これからは一層注意して使っていこうと思います.


2014年10月18日土曜日

Windows でパッケージ管理ができる Chocolatey が素晴らしい.

私が Windows が嫌いな理由の一つはセットアップが非常に面倒くさいことだ.

Linux なら OS を再インストールしても,予め用意したシェルをポーンと一発動かせば設定が完了するのに,Windowsでは,ググる→ダウンロードする→インストールするの作業を何度も何度も繰り返さなければいけない.

と思っていたが,つい先程 Windows にもパッケージ管理ができるソフトがあることを知った.

いやー,無知は最大の罪であるとはよく言ったものだ.

こんなことも知らないで,Windows は糞だ!と言っていたらパソコン先生に怒られてしまいます.


というわけで,パッケージ管理ソフト Chocholatey です.

インストール方法からしてからコマンドという徹底ぶり.

公式ホームページにアクセスすれば書いてありますが,コマンドプロンプトを開いて,以下のコマンドを実行すれば完了です.

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin



インストールが完了したら,いつも使っているソフトのインストール.(Firefox とか Dropbox とか itunes とか)

> choco install Firefox dropbox itunes



その他のコマンドを以下に示します.

パッケージリストのアップデート
> choco update

特定のパッケージのアップデート
> choco update パッケージ名

インストールした全てのパッケージのアップデート
> choco update all



以下に,私がインストールしたもの一覧を記しておきます.
  • Dropbox
  • Firefox
  • Skype
  • OneDrive
  • iTunes
  • Cygwin
  • cyg-get
  • virtualclonedrive
  • vlc
  • AdobeReader
  • CCleaner
  • XnView
  • PowerShell
  • JavaRuntime
  • MicrosoftSecurityEssentials
  • FlashPlayerPlugin
  • FlashPlayerActiveX
  • GoogleJapaneseInput
結局,私が普段から利用しているソフトはすべてコマンドでインストールすることができるようになりました. 素晴らしい!

2014年10月16日木曜日

【少年ジャンプ+】週刊少年ジャンプの電子版を定期購読してみた.

こち亀が期間限定で100巻まで無料で読めたり,本誌では(現在)描いていない作家さんの連載作品が読めたりと話題沸騰中の少年ジャンプ+(個人的には叶先生が連載しているのがすごく嬉しい)

今まで週刊誌は全て立ち読みで済ませてきたのですが,読み忘れて間が抜けてしまったりすることが増えてきたので,思い切って定期購読してみることにしました.





まず Google Play で少年ジャンプ+のページに飛び,インストールします(左)
インストールしたアプリを起動すると,なかなか騒がしいトップ画面(右)
 





そのまま左にスクロールすると,本誌のダウンロードページへ移ります(左)
さらにタップすると購入画面へ.ここで単品で購入するか定期購読するかが選べるようです(右)
 





900円 / 月をタップすると,購入ボタンに変化するので,さらにタップします(左)
定期購読は Google 経由で支払うようです.間違いなければ定期購入をタップ(右)
 



このあと,Googleアカウントのパスワードを入力する画面になるので,パスワードを打ち込みます.(個人情報を含むのでスクリーンショットは割愛)



パスワード入力が完了すると支払い完了.読めるようになります(左)
しかし,残念ながらバックナンバーは定期購読では読めないようです(右)


使ってみた感想ですが,

まず良かった点は,
  • TOP画面が結構モッサリしているのに対して,漫画を開くとかなりサクサク動作するので読み始めればストレスを感じることはほとんど無い.
  • 毎週一つのカラー連載が地味に嬉しい.
  • わざわざ買いに行く必要もなければ,読み終わったあとゴミを捨てる必要もなく便利.

一方,改善して欲しい点は
  • バックナンバーも読めるようにして欲しい.もちろん全部とは言わないからせめて先週号・先々週号ぐらいまでは・・・.読み忘れたらなんのための定期購読かとorz
  • 音量ボタンでスクロール可能にして欲しい.楽天koboアプリで慣れてしまったので.
  • アプリ全体をもう少し見易いものにして欲しい.現状はゴチャゴチャしていて分かりにくい.


DL数もかなり伸びているようなので,上に上げたような点はそのうち改善されると思います.

何はともあれ,これで中学生・高校生だった頃のように毎週月曜日が楽しみになれば良いですね.

2014年10月10日金曜日

E-M10 のライブコンポジット機能で星空を撮影してみた.

使わない機能は無いのと同じだ!

と誰かが言っていた気がするので,E-M10 のライブコンポジット機能を早速使ってみました.

一度は使っておかないと,いざという時に使い方がわからず役に立たないのでは意味無いですからね.練習のつもりでベランダから星空を撮ってみました.



使用したレンズは 45mm f1.8 の中望遠単焦点レンズ.

撮影方法は,まずマニュアルモードにして,シャッター速度をどんどん遅くしていくと,60秒の次に,BULB,LIVE TIMEの順に変わり,最後にLIVE COMPになります.

さらにフォーカスモードをマニュアルにし,ISO感度を一番低いLOW(100相当).ホワイトバランスをこれまた手動で 4000K に設定しました.

そして星にフォーカスを合わせて,シャッターを一度切りノイズリダクション用の画像を取得.再度シャッターを切ると撮影が開始されます.

画像の変化の経過はモニターで確認できるので,あとは適当に時間が過ぎるのを待ち,自分の満足のいく画像に変化したら,最後にもう一度シャッターボタンを押すと撮影終了.

5分ほど撮影したものが上の写真です.



終わってみると,これでもかと言うぐらい簡単に撮ることができました.ライブコンポジット機能万歳!

また,撮れた写真について言うならば,少し青っぽくなってしまったのでもっと色温度を上げておけば良かったな,と.あとは,星と空だけでなく,他の被写体も加えてもっと味のある写真に仕上げる必要があるな,と.今回の写真はあまりにも味気無さ過ぎです.



しかし,それ以外は概ね満足.

持っている三脚が非常にショボイので,足をほとんどたたんだ状態で安定性を上げて,さらにワイヤレスレリーズを使用してなるべく本体が動くことを避けました.

星空を撮るのはなかなか難しいですが,なんだかハマりそうな予感です.また今度撮影してみよう.

2014年10月9日木曜日

E-M10用カメラグリップ ECG-1 と グリップストラップ KGP-04 の組み合わせが相性バッチリ.

アクティブファミリーキャンペーンで申し込んでいた専用グリップ ECG-1 が届きました.それと合わせて,ハクバから出ているグリップストラップ KGP-04 を購入.この組み合わせが予想以上にハマりました.






ECG-1 は E-M10 専用のグリップで,装着することでホールド感が飛躍的にアップするシロモノです.税込みで定価8,100円となかなか高価な商品なのでタダで貰えるなんて非常にラッキーでした.


装着方法は非常に簡単で,まず写真のようにツメが付いているので,


それを引っ張ると簡単に2つの部分に分解できます.


そして,2つの部品のうち,ネジが付いている方を E-M10 の三脚を取り付ける部分に固定します.


ちなみにこの部品.電池パックやSDカードの出し入れの邪魔にならないよう巧く設計されていて,このあたりに純正品ならではの味がしっかりと現れています.


最後にホールドするのと反対側から引っ掛けるようにして,


カチッと音がするまで差しこめば完了です.


たったこれだけで信じられないほどのフィット感.もう最初から同梱品にしておけば良いのに...


ちなみにウラ面はこのままでも三脚が取り付けられるようにネジが切ってあります.


そこで,この部分にさらにグリップストラップ KGP-04 を取り付けます.


反対側はショルダーストラップを取り付ける部分に結びます.


実はこの部分が結構ユルく,使っているうちにストラップの長さが変わってきてしまうことがあったので,上の写真のようにオリンパスのショルダーストラップについていた部品を取り外して,KGP-04 のストラップに通したところストラップがずれなくなりました.



ECG-1 と KGP-04 を装着した時の外観です.


正面から見ると,E-M10 単体のときよりだいぶゴツイ感じになったことがわかります.


実際に手に持ってみたところ.


別アングルから.


さらに正面から.


右手首を返しながら左手で撮影しているので,実はかなり大変な姿勢になっています(笑).



また,KGP-04 のストラップはかなり長めで邪魔だったので,余分な部分をハサミで切り取り,さらに切断部分からほどけないようライターで炙って固めました.