Quantcast
Channel: karaage. [からあげ]
Viewing all 1425 articles
Browse latest View live

python/pandas/matplotlibを使ってcsvファイルを読み込んで素敵なグラフを描く方法(Mac/Raspberry Pi)

$
0
0

f:id:karaage:20170516224815p:plain:w640

gnuplotはもう嫌だ!pythonでグラフを書きたい!

 以前こんな感じにRaspberry Piでセンサのデータを取得して可視化していました。

 グラフ描くとき、昔ながらのgnuplotを使ったのですが、こんなコメントが。

Raspberry Pi + BME280モジュールで自動で温度・湿度・気圧を測定してグラフ化する - karaage. [からあげ]

せっかくなのでグラフにしよう、と思って調べて最初にみつかったのがgnuplotだった。お、おぅ。(昔はgnuplotかなり使い込んでた)

2017/02/17 19:10

 ぐ、ぐぬぬ(gnuplotだけに)。やはり今どきはgnuplotはスマートじゃないのだろうか。どうせならpythonで完結したいよねということで、pythonでグラフを描く方法を調べてグラフを描いて見ました。

 色々調べた結果、以下のようないかにも「gnuplotで描きました!」というようなグラフが

f:id:karaage:20160504162345p:plain:w640

 以下のようなスタイリッシュでオシャレンティ(死語)なグラフだったり f:id:karaage:20170516224649p:plain:w640

 以下のようなユニークな漫画チックなグラフを描くことができるようになりました f:id:karaage:20170516224815p:plain:w640

 この後は、宇宙語が続きますので「私もおしゃれなグラフ描きたいワン!」というワンちゃんは、尻尾振りながら続きを見ると良いです。

pythonとpandasとmatplotlibでcsvを読み込んでグラフ化する方法

 MacとRaspberry Piでのセットアップに関して記載します。Windowsでも頑張ればできるんじゃないかな(適当)。自分の環境は以下の通りですが、他の機種やバージョンでも基本的には問題無いと思います。参考まで。

  • Mac Book Pro Retina, Mid 2012(OS X Yosemite 10.10.5)
  • Raspberry Pi 3(Raspbian Jessie with PIXEL 2016-11-25)

 必要なライブラリはpythonpandasmatplotlibseabornになります。seabornライブラリはグラフのスタイルに拘りがなければ必須ではありません。pythonのバージョンは今回はpython3を使用します。

Macの設定方法

 Macの場合は、anaconda3を使うと、最初から必要なライブラリが入っていて簡単なのでanaconda3を使います。私は、pyenvを使って環境構築をしています。以下記事参照下さい。

 Homebrewがインストールされている前提ですと、以下コマンドで打てばとりあえずセットアップはできる(はず)です。ただ、今後のために上記記事で何をやっているか理解してから実施することをお勧めします。

$ brew install pyenv
$ echo'eval "$(pyenv init -)"'>> ~/.bashrc
$ brew install pyenv-virtualenv
$ echo'eval "$(pyenv virtualenv-init -)"'>> ~/.bashrc
$ echo export PYENV_VIRTUALENV_DISABLE_PROMPT=1 >> ~/.bashrc
$ pyenv install anaconda3-2.5.0
$ pyenv global anaconda3-2.5.0

 Macの場合はこれでOKです。

Raspberry Piの設定方法

 以下記事を参考に「基本的なセットアップは完了です」と書いてあるところまで一通りセットアップ実施下さい。

 あとは、ターミナルで以下のコマンドを実行すればOKです。

$ sudo apt-get update
$ sudo apt-get install python3-pip
$ sudo apt-get install python3-pandas
$ sudo apt-get install python3-matplotlib

ちなみにRaspberry Piと書いていますが、他のLinuxでも上記コマンドで基本的にOKだと思います。一応適当なPC(Ubuntu14.04/16.04)を確認したらちゃんと動きました。

基本的なグラフの描き方

 今回は例として、時間(time)、温度(temperature)、湿度(humidity)、気圧(pressure)の時系列が保存されたcsvファイル(sample.csv)を使用します。ファイルの中身は以下のようになっていると思って下さい。

time, temperature, humidity, pressure
2016/05/22 02:10:01,21.0867422231,59.391544507,1017.48927819
2016/05/22 02:20:01,20.7770546449,60.0785619066,1017.44822635
2016/05/22 02:30:01,20.4978290685,60.6284558134,1017.25965455
2016/05/22 02:40:02,20.2490652056,61.1763110852,1017.4253724
2016/05/22 02:50:01,20.1119915389,61.3297823744,1017.40452414
2016/05/22 03:00:01,20.0053788337,61.4981035599,1017.57084668
2016/05/22 03:10:01,19.8835358992,61.701880544,1017.54598541
2016/05/22 03:20:01,19.7515395761,61.9901589655,1017.64427684
2016/05/22 03:30:01,19.6347737619,62.1997188195,1017.62728411
2016/05/22 03:40:01,19.5840060646,62.2786376915,1017.60293839
2016/05/22 03:50:01,19.5078545732,62.4077237848,1017.67772621
2016/05/22 04:00:01,19.426626388,62.6273830313,1017.7166415

 このcsvをpythonで読み込んでグラフ化します。pythonでcsvを読み込むにはcsvライブラリを使う方法とpandasを使う方法の2種類があります。pandasの方が簡単に読み込めるのと、データの処理をする色々な機能があって便利なのでpandasを使うことにします。pandas便利ですね、昔知らずに頑張ってcsvで頑張って読み込んでました。グラフ化するのは、matplotlibというライブラリを使うのが定番のようなのでそうします。

 色々なサイトを調べまわった結果、以下のような10行程度のプログラムでcsvファイルを読み込んでグラフを描くことができました。

# -*- coding: utf-8 -*-import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv("sample_data.csv", index_col='time')
df_tmp_humid = data.iloc[:, [0,1]]
df_tmp_humid.plot()
plt.savefig("tmp_humid.png")
plt.show()

 めずらしくちょっとだけプログラムの解説しますとdata = pd.read_csv("sample_data.csv", index_col='time')でcsvファイルを読み込んでいます。csvファイルの1行目には項目名が入っている前提です(今回だとtime, temperature, humiditypressure)。index_col='time'で、インデックスとなる列を決めます。今回はtimeにしました。これを省略すると、勝手に1から順にインデックスナンバが振られます。

 df_tmp_humid = data.iloc[:, [0,1]]は行と列の抽出です。ここでは、0列(time)と1列(humidity)を全行抽出しています。その後は、プロットして画像に保存して表示しているだけですね。sample_data.csvと同じディレクトリに上記のプログラムをdraw_graph.pyという名前で保存して以下のコマンド実行して下さい。

$ python3 draw_graph.py

 以下のようなグラフが表示されます。ちゃんと日付もそれらしく読み込めていて良い感じですね。 f:id:karaage:20170517122003p:plain:w640

 同じディレクトリにtmp_humid.pngというグラフの画像ファイルも保存できています。

オシャレなグラフの描き方

 オシャレな見た目のグラフにしたい場合は、Seabornライブラリを使うのが良いです。以前はpipでseabornをインストールしないといけなかったようですが、matplotlibのバージョンが1.4以上だと、Seabornライブラリが無くても、matplotlibの機能でseabornのスタイルを使えるようです。詳しくは以下参照下さい。

Matplotlib Style Sheets

 具体的にはグラフをplotする前にplt.style.use('ggplot')と書くだけです。先ほどと同じようにグラフを表示するコマンドを実行すると以下のように表示されます。

f:id:karaage:20170516224649p:plain:w640
 おしゃれグラフ

 Macのanaconda3-2.5.0でもRaspberry PiでもLinux(Ubuntu)でも問題なく表示されました。python3-matplotlibパッケージのバージョンが古いとエラーとなるので$ sudo apt-get install python3-matplotlibしてバージョンを上げましょう。

 どうしても古いmatplotlibでseabornスタイルを使いたい場合は、sudo pip3 install seabornでseabornライブラリをインポートしましょう。詳しくは下記サイトなど参照下さい。基本的には、プログラムの冒頭にimport seaborn as snsを追加すれば使えます。

漫画みたいなグラフの描き方

 漫画みたいなグラフにしたいときは、6行目のplt.style.use('ggplot')plt.xkcd()に書き換えて下さい。以下のようなグラフが表示されます。 f:id:karaage:20170516224815p:plain:w640

 漫画みたいなグラフに関する詳細は以下のサイトを参照下さい。

まとめ

 pythonでcsvファイルを読み込んでグラフをかけるようになりました。pythonでデータ処理、分析から可視化まで完結できると便利ですね。データサイエンティスト的なお仕事するときにも便利に使えそうです(むしろ必須?)。今後は積極的に使っていきたいと思います。

 他に、こんなグラフが描きたいけどどうやって描くんだろう?と思った時は以下のmatplotlibのサイトを見てみると良いと思います。

Thumbnail gallery — Matplotlib 2.0.2 documentation

 今回、簡単にできたら「エクセルなんていますぐ捨てろ!」とかいう過激なタイトルをつけようと思っていたのですが、pythonで調べて思ったようにグラフを描くのは結構大変でした。なんだかんだでエクセルはやはり便利ですねw うまくツールを使い分けて、楽しい可視化ライフを送りましょう!

参考リンク

pandasでcsv/tsvファイルの読み書き | mwSoft

とにかくRaspberry Piにpython2 + numpy + matplotlibをインストールする – 或る阿呆の記

.csvファイルをmatplotlibで描画するまで - くれなゐの雑記

Pandas でデータフレームから特定の行・列を取得する – Python でデータサイエンス

Installion: How To Install python3-seaborn On Ubuntu 15.04


パワポ苦手な夫が妻にパワポ的なもので家庭菜園のGOTEIANを家庭内プレゼンする

$
0
0

f:id:karaage:20170521111806j:plain:w640

パワポもプレゼンも苦手だけどプレゼンする

 妻に「今年も家庭菜園したいね」という話をしたら「企画書書いて持ってきてね」と心温まる返事をいただきました。

 自慢ではないですが、私はマイクロオフィスを使いこなせてないことに定評があります。ワードとか、最近まで次のページにいくときスペースキーを連打してましたからね。一発で次のページにいける技があるらしいです(もうやり方忘れましたが)。当然パワポでのプレゼンとかもあんまり経験ないし苦手です。

 一時期、企画と名のつく部署にいたくせに、企画書なんぞ書いたことないので、自分のはてなブックマークでそれらしいキーワードを検索して参考になりそうなサイトを探します。そうしてたどり着いたのがこちら

 これだ!

 そして、家のMacに入っていたパワポ的なソフト(Keynoteというやつ)を使って作った資料がこちらです。

 妻にプレゼンしたら(といっても一緒に読んだだけ)一発OKでした!

家庭菜園始めました

 めでたく妻の承認がおりたので、早速近所のホームセンタで家庭菜園に必要なものを買ってきます。

f:id:karaage:20170521084109j:plain:w640

 合計3000円ちょい。この時点で企画の予算を50%以上超過。炎上プロジェクトとなりました。

 家族総出で家庭菜園を作ります。この時点で夫にお任せという前提が崩れます。巻き込み型で仕事を進めるできる男です。

f:id:karaage:20170521090304j:plain:w640

f:id:karaage:20170521092112j:plain:w640

f:id:karaage:20170521092409j:plain:w640

 以前誕生日プレゼントにもらったレインボーコーンの出番。娘には、レインボーコーンと朝顔を育ててもらうことにしました。

レインボーコーン 栽培セット

レインボーコーン 栽培セット

f:id:karaage:20170521093140j:plain:w640

f:id:karaage:20170521093453j:plain:w640

f:id:karaage:20170521093722j:plain:w640

f:id:karaage:20170521094029j:plain:w640
 頑張って、小さい鉢植えに土を入れて水をやる娘。

f:id:karaage:20170521111806j:plain:w640
 家庭菜園完成!

まとめ

 無事企画が通ったので、今年も家庭菜園始めることができました。プレゼンで大切なのは、パワポのテクニックじゃなくて愛だということに改めて気づかされましたね!

 あとは、今年もRaspberry Piを使って「電波ガーデニング」をする予定です。「電波ガーデニング」の詳細に関しては以下記事参照下さい。

 「電波ガーデニング」去年と同じではつまらないので、今年はまたちょっと新しい試みをします。内容に関しては、6月中に何らかの形で公開予定です。特に期待しないで全裸待機していてください。

関連記事

宇宙飛行士体験から世界一高いプラネタリウムまで「郡山市ふれあい科学館 スペースパーク」は最高!

$
0
0

f:id:karaage:20170510144913j:plain:w640

蒲郡駅すぐ近く「郡山市ふれあい科学館 スペースパーク」

 仕事の関係で福島の郡山市まで行ってきました。前日は有給で移動だけだったので、プライベートで郡山駅すぐ近くにある「郡山市ふれあい科学館 スペースパーク」という科学館に行ってみました。

スペースパーク外観

 最初、どこにあるのか分からず、駅の周辺ぐるぐる回って探していました。なんと、この高いビルの一番上にあるとのこと

f:id:karaage:20170510144913j:plain:w640
 めちゃ高いビル

f:id:karaage:20170510145019j:plain:w640
 ビルの中には、直通の専用エレベータがあります

 エレベータの中では宇宙船的な演出があり気分を盛り上げてくれます

f:id:karaage:20170510145445j:plain:w640
 科学館入口

 中の様子など興味ある方は続きをご覧ください。

スペースパークでの体験型アトラクション

 中ではその名の通り宇宙を感じさせる体験型のアトラクションが多数ありました。

ムーンジャンプ

 月に行ったような体験を感じられるムーンジャンプ

f:id:karaage:20170510145818j:plain:w640
 めちゃくちゃ高くジャンプできます。

 厳しめの体重制限あるので、重めの人は事前に確認しておきましょう f:id:karaage:20170510145916j:plain:w640

宇宙探検シミュレーション「アストロノーツ」

 よくある大画面の映像と連動して宇宙船が動くやつです。ちょっと珍しいのが宇宙船を操縦桿で運転してゲームを楽しめる点。運転できるのは1人だけなのですが、貸切状態だったので運転を存分に楽しめました。

f:id:karaage:20170510152149j:plain:w640
 最大6人乗り

f:id:karaage:20170510151526j:plain:w640
 画面はこんな感じ

f:id:karaage:20170510152103j:plain:w480
 Bランクでした

 ちなみにゲームはかなり難しいです

トリプルスピン

 昔の宇宙飛行士の訓練を再現したアトラクションらしいです。グルグル回ります。

f:id:karaage:20170510165121j:plain:w640
 これ、めちゃめちゃ酔いました。30分くらい気持ち悪かったです。乗り物酔いに弱い人は注意です。

プラネタリウム「宇宙劇場」

 世界で一番高い場所にあるプラネタリムらしいです。色々なプログラムがあって、私がみたのは雨の夜をテーマに音楽を中心に楽しむプログラムでした。

f:id:karaage:20170510162941j:plain:w640

f:id:karaage:20170510152700j:plain:w640

 プラネタリウム、最初15分くらい星も出ないし、和歌の文字が表示されるだけなので、大丈夫なの?と思っていたのですが、ストーリー性があってもの凄い良かったです。今までみたプラネタリウムの中で一番良かったかもしれません(そんなにたくさん見たことあるわけではないですが)。特に、音楽が良かったです。普段は聞かないようなジャンルの曲ばかりだったのですが、映像と合わさって感動的でした。

 特に宇多田ヒカルさんの「真夏の通り雨」が映像とぴったりで良かったです

真夏の通り雨

真夏の通り雨

f:id:karaage:20170510163307j:plain:w640
 プラネタリウムの後は、近くの売店で桜もちソフトを楽しむ

「スペースパーク」展示物

 その他つらつらと

f:id:karaage:20170510145836j:plain:w640
 宇宙服

 服の計器類が鏡文字になっているのは、自分で直接見れなくて鏡越しにみることになるからのこと「へー」

f:id:karaage:20170510150749j:plain:w640
 プラズマ

f:id:karaage:20170510165405j:plain:w640
 オシロスコープ

f:id:karaage:20170510171534j:plain:w640
 あざらしロボットのパロ

f:id:karaage:20170510171549j:plain:w640
 なつかしのAIBO

科学館の読み物

 アトラクションの待ち時間に、気になる読み物があったので読んでいました

f:id:karaage:20170510171518j:plain:w640
 理研の新元素発見の物語を漫画化したもの

f:id:karaage:20170510172152j:plain:w640
 南極の情報誌「極」

 私はこういう、特定のところでしか読めない読み物が大好きで、いいもの読んだなーと思っていたのですが、検索してみたらネットでPDFで無料公開されてた!ちょっとショック。

ニホニウム | 理化学研究所

極 No.16

 特に理研の新元素発見の物語は、なかなか熱い仕上がりになっているのでオススメです。理研も色々事件があったのでアレな感じですが、こういうのを読むと、そこで働いていてる人が本来の使命に向けて集中できるようになって欲しいなと思います。

まとめ

 「郡山市ふれあい科学館 スペースパーク」、軽い気持ちで行ってみたのですが、気づけば半日近く夢中になってしまいました。平日に行くとプラネタリウムもアトラクションもほとんど並ばず楽しめました。休日だと少し違うのかもしれません。

 一番良かったのは、やはりプラネタリウムですね。機会があれば、また違うプログラムも体験してみたいなと思いました。もし郡山駅に行かれる機会がありましたら是非!

ラズパイマガジン2017年4月号で「変デジカメラ」が紹介されました

$
0
0

f:id:karaage:20170603233319j:plain:w640

「変デジカメラ」が紹介されたラズパイマガジン2017年4月号を今更買いました!

 実はとある筋から、Ogaki Mini Maker Faire 2016に出展した「変デジカメラ」がラズパイマガジンに取り上げられるという話を聞いていたのですが、そのとき何月号に掲載されるのか聞き忘れてしまいました。

 近くの本屋で、ラズパイマガジン扱っているところもなかなかなくて、掲載号を見つけるのに時間がかかってしまいました。

ラズパイマガジン 2017年4月号(日経BPパソコンベストムック)

ラズパイマガジン 2017年4月号(日経BPパソコンベストムック)

 8P目に写真付きで紹介いただいています。

f:id:karaage:20170603233618p:plain:w640
 一部だけ証拠に抜粋

 個人での活動が雑誌で取り上げられるということは、初めてなので非常に嬉しくて記念に購入してしまいました。

 ラズパイマガジンは、ライトな初心者向けの記事からかなりマニアックな記事まであるので結構好きです。Raspberry Piに興味がある方なら、一冊買ってみてもよいのではないかなと思います。

関連サイト

 変デジカメラやRaspberry Piに関しては、以下サイトでまとめています。

はてなニュースにIoTデバイス「からあげDashボタン」に関して寄稿しました

$
0
0

f:id:karaage:20170603223449p:plain:w640

はてなニュースに寄稿しました

 『Amazon DashボタンをHackして、妻を助けるためのIoTデバイス「からあげDashボタン」を作ってみました』という記事を「はてなニュース」に寄稿させていただきました。

 まずは、私を抜擢くださったはてな編集部の担当者様に感謝で胸いっぱいです。結構、はてなさんをディスったり怒られたりしているので、編集部で反対意見とか無かったのだろうかとちょっとドキドキしたりしました。

 はてなニュースさんに寄稿した記事の技術的な解説は、来週このブログで公開予定ですので、電波な方々は楽しみにしていて下さいね!

最後に一言

 これだけは、言っておきます。

 はてなニュースに寄稿までしましたが、はてなTシャツは貰えてないですから!!

関連記事

電波な汚部屋を大改造!収納神の妻の監修により生まれ変わった部屋のBefore Afterとやったこと大公開

$
0
0

f:id:karaage:20170504144032j:plain:w640

部屋の大改造しました

 以下の記事を書いてから1年以上経過。すっかり忘れてましたが、収納神であることの妻の厳しい監修のもと、生まれ変わった部屋のBefore Afterを大公開します。

 生まれ変わったというか、そもそも引越しをしているので、部屋が違うというのはあるのですが、内容物自体はほとんど同じなので、まあ生暖かい目で見てもらえればと思います。

部屋のBefore After

Before

 早速ですが、Before

f:id:karaage:20160225162451j:plain:w640
 オエーーーー、ごちゃごちゃしすぎ!

After

 生まれ変わった後

f:id:karaage:20170504163948j:plain:w640
 だいぶスッキリしました

f:id:karaage:20170504144032j:plain:w640
 別の角度で

実際にやったこと

断捨離

 最初にやるべきなのは、不要なものを捨てることです。キンブルを活用して断捨離しました。詳しくは以下参照ください。

 ただ、私は極端な断捨離はしたくない派です。ここらへんは個人のポリシーとかライフスタイル(趣味とか)で大きく変わってくるかと思います。自分で何を捨てるか、何を残すかを決めるしかないですね。例えば、私のように電子工作が趣味だとある程度在庫が必要になったりしますしね。今はネットで部品が簡単に買えるので、何でもとっておく必要はないですが、急にある部品が欲しくなったり、もう買えない部品とか結構あるのですよね。捨ててしまって後悔したこと結構あったりします。

収納

 次に必要部品の収納ですね。

無印のスタッキングシェルフ

 色々なものが無くなってスッキリしたのは、妻監修のもと作成した無印のスタッキングシェルフを使った収納システムの効果だと思います

f:id:karaage:20170504143252j:plain:w480
 これね!

 収納システムの詳細は以下記事参照下さい。

 今後まだ物が増えることを考えて、真ん中は敢えて空けてあります。まだまだ余裕はあるのですが、ここが埋まり始めたら何かアクション必要になりそうですね。

 ちなみに、画面に映っていない反対側にはスチールラックに音楽関係の機材が置いてあります。実はこれも昔、妻に作ってもらいました f:id:karaage:20170504143354j:plain:w640

 もう楽器弾かないので、処分してしまっても良いのですが、中々全部捨ててしまうことができずにいます(一部は処分しました)。

f:id:karaage:20170504143445j:plain:w640
 棚の上はドラちゃんスペース

L字机

 机に関しては、L字机を導入したおかげで、窮屈だった作業スペースがとても広々としました

f:id:karaage:20170504143219j:plain:w640
 半田付けできるスペースもあります

 もともと半田付けとかしていた小さな机は、今となっては使い道なくなったので、作業中のものや実験中の機器の仮置場にしています。

f:id:karaage:20170504143228j:plain:w640
 改造ルンバ、Raspberry Pi、キネクト等

移動式の本棚

 本棚は、押入れの中にしまってあります。 f:id:karaage:20170504143706j:plain:w480

 実はこの本棚、キャスターと取っ手が付いていて、動かせるようになっています f:id:karaage:20170504143617j:plain:w640
 ジャーン

f:id:karaage:20170504143608j:plain:w480
 本棚を引き出してきた図

 トランジスタ技術は、広告記事を抜き出すことで物理的に圧縮しています。詳細は以下記事参照下さい。

 ちなみに、この移動式本棚のアイディアも妻のものです。

 読みかけの本や、これから読みたい本に関しては、机の上にブックエンドを使って立てています  f:id:karaage:20170504143158j:plain:w640

 個人的には本の背表紙は見えていた方が好きなのですが、今回はスペースを優先しました。

まとめ

 今後は、ペグボードとかつけて、工具やディスプレイをかけたりしてみたいなぁ、とか夢想しています。以下の記事みたいなやつね!

 妻曰く「収納に完成はない」とのことなので、これからも頑張って綺麗な部屋を維持して行きたいと思います。俺たちの収納は始まったばかりだ!

関連記事

ブログにお問い合わせフォームを設置してみました

$
0
0

ブログに問い合わせフォームを設置しました

 今更ですが、問い合わせフォームを用意しました。

 今まで「連絡とかたくさんきたら面倒臭いな」と思ってつけていなかったのですが、困っている人もいるようなので(勘違いかもですが)つけてみることにしました。

 積極的に寄稿依頼やレビュー依頼を受け付けているわけではないので、そういう場合は、基本的には他の人を探すことをオススメします。返事が来たら運がいいなくらいの気持ちで送ってもらえるとたすかります。個人ならtwitterでリプライいただいたほうがレスポンスできる可能性が高いと思うのでオススメです。

 しばらく試してみて、イマイチだったらやめちゃうかもです。

googleフォームを使った問い合わせフォーム設置方法

 問い合わせフォームはgoogleフォームを使ってみました。設置は以下を参考にしました(ちょいちょい変わっているところありましたが、大体勘でいけました)

 以下記事を参考に、問い合わせがあるとメールで通知が来るように設定してあります

 Googleフォーム、アンケートとかにも使えて結構良さそうですね。今後何かの機会あれば活用したいなと思いました。

Amazon Dashボタンを使ったIoTデバイス「からあげDashボタン」の作り方

$
0
0

f:id:karaage:20170528094152j:plain:w640

「からあげDashボタン」

 「からあげDashボタン」に関して、先週「はてなニュース」に寄稿させていただきました。詳しくは以下記事を参照下さい。

 ブックマークコメントで、以下の通り宣言した通りちょうど一週間後にこの記事で「からあげDashボタン」の作り方や技術的内容を公開します。

Amazon DashボタンをHackして、妻を助けるためのIoTデバイス「からあげDashボタン」を作ってみました - はてなニュース

1週間後、私のブログに来てください。本当に電波な記事をお見せしますよ

2017/06/06 12:25

 最初に、今回もいつもの通りネット上の偉大なる先人の知見に大いに助けられましたことに感謝いたします。参考にした情報に関しては、本記事の最後でまとめてリンクをしてあります。どの記事も非常に有意義なものなので、興味ある方は全て一読することをお勧めします(私は全部の記事を何度も熟読しました)。

 今回の記事はそれらをまとめて、多少セットアップや使い方が楽になるような工夫をしただけという位置づけです。私が、先人の知見に大いに助けられたように、この記事が誰かにほんの少しでも役立てば嬉しく思います。

 これ以降の記事は以下くらいの読者を想定していますので、ご承知おき下さい。

  • Linux系OSのコマンドラインの操作がある程度できる
  • Raspberry Piを持っている/凄い興味がある

 全く知識ない人とっては、宇宙語しか出て来ませんので、ブラウザバックでお願いします。

「からあげDASHボタン」作り方

必要なもの

Amazon Dashボタン

 Amazon Dashボタンを購入するには、まずAmazon Prime会員になる必要があります。プライム会員になったら、好きなAmazon Dashボタンを買いましょう。

プレミアムレッド Dash Button

プレミアムレッド Dash Button

Raspberry Pi 3

 Raspberry Pi 3を購入下さい。Raspberry Pi 2でも大丈夫と思います(動作は未確認)。

 周辺器機やセットアップ方法は以下参照下さい

ラベル

 オリジナルのラベルを作りたい場合は購入下さい。好きなものを購入すれば良いのですが、剥がせるものを使うと何度もやり直しできるので良いかなと思います。私は以下のものを使用しました。

その他

 「からあげDashボタン」とルンバを連携させたい場合は、以下記事参照して必要なものを購入してセットアップして下さい。

 家庭菜園の自動ブログ投稿したい場合は、以下記事参照して必要なものを購入してセットアップして下さい

 特に、撮影したい場合は、カメラが必須です。

Raspberry Pi Camera V2

Raspberry Pi Camera V2

Amazon Dashボタン設定

 まずはAmazon Dashボタンをセットアップしましょう。Amazonの以下のチュートリアル通りに5まで実施しましょう。

Amazon.co.jp ヘルプ: スマートフォンでDash Buttonをセットアップする

 6のところで、商品を選択しないように注意下さい。下記のような画面になったら、右上のxをタップしましょう。 f:id:karaage:20170505160700p:plain:w480

 ここでタップしないとボタンを押すたびに商品がどんどん購入されます。

 Amazon Dashボタン自体の設定はこれでOKです。使用したいAmazon Dashボタンに対して、全て設定下さい。

Raspberry Pi基礎設定

からあげDashボタン基本セットアップとテスト

 「からあげDashボタン」のシステムとしては、以下の図のようにAmazon Dashボタンの通知をRaspberry Piで受けて、Raspberry PiからWebサービスやデバイスにコマンドを送信するという流れになっています。 f:id:karaage:20170524014015j:plain:w640

 Raspberry Piで通知を受けてコマンドを送信する部分の仕組みは、以下サイトの内容をほぼそのまま使わせていただきました。

Amazon DashでおとうさんDashボタンをつくる | MUDAなことをしよう。

 具体的には、DasherというソフトでAmazon Dashボタンの通知を受けて、Webサーバ(Bottleという軽量小型なソフトを使っています)を経由してコマンドを発行しています。

 今回は、それらの仕組みをセットアップして使うためのGitHubのリポジトリを作成しました。その名も「karaage-dash-button」

 こちらを使えば、比較的簡単に「からあげDashボタン」を実現できるようになりますので、もし良ければ使用してみて下さい。使い方はREADMEにも書いてあるのですが、ここでも簡単に説明いたします。

 まずは、Raspberry Piの基本的なセットアップを実施します。Raspberry Piのセットアップに関しては、手前味噌になりますが、私が以前に書いた以下の記事を参照下さい。

 次に、Raspberry Piのターミナルで、以下コマンドを実行してリポジトリのclone(コピー)と必要なライブラリをセットアップします。

$ cd
$ git clone https://github.com/karaage0703/karaage-dash-button
$ cd karaage-dash-button
$ ./setup.sh

 続いて、設定をします。エディタで.configファイルを編集して下さい。

$ vim .config

 中身は以下のようになっています。

[settings]
hosturl = 192.168.xx.xx

[twitter_settings]
consumerKey = 
consumerSecret = 
accessToken = 
accessSecret = 

[slack_settings]
slackURL = https://hooks.slack.com/services/xxx

 まずは、hosturlを設定しましょう。Raspberry Piで以下コマンドを実行してIPアドレスを確認しましょう。

$ ifconfig

 192.168.xx.xxなどと書かれた数字がIPアドレスですので、そのアドレスをhosturlに入力して下さい。他の項目はとりあえず空欄のままでOKです。

 これで最低限の設定は完了しましたのでテストをしてみましょう。

 Raspberry Pi上で以下コマンドを実行します。

$ cd ~/karaage-dash-button
$ python test_dash.py

 続いて、ブラウザを起動しましょう。これはRaspberry Piと同じネットワーク上のPC上のブラウザならどのブラウザでも構いません。もちろんRaspberry Pi上のブラウザでもOKです。今回は同じネットワークにあるMacのSafariを使いました。

 続いて、test_dash.py上で設定しているipアドレスとポート番号にcallします。例えばipアドレスが192.168.10.123、ポート番号が10080だったら、http://192.168.10.123:10080/callというアドレスをブラウザのアドレスバーに以下のように入力します。アドレスの部分には、raspberrypi.localといったホスト名を入れても大丈夫です。 f:id:karaage:20170521124321p:plain:w640

 Raspberry Piで以下のように表示されれば、受け付け側はOKです。

192.168.10.123 - - [21/May/2017 12:48:16] "GET /call HTTP/1.1" 200 19
Test OK

 停止する場合は、Ctrl+Cを押しましょう。ここまででうまくいかない場合は、使用しているipアドレスが自分の環境と合っているか、bottleと呼ばれるWebサーバが正しくインストールされているかなどをチェックして下さい。

 続いては、Amazon Dashボタンの方の設定です。まずは、Amazon DashボタンのMacアドレスを確認します。以下実行してください。

$ cd ~/karaage-dash-button/dasher
$ sudo ./script/find_button

 以下のような表示が出るので、Amazon Dashボタンを押しましょう。高橋名人ばりに16連射する必要はありません

Watching for arp & udp requests on your local network, please try to press your dash now
Dash buttons should appear as manufactured by 'Amazon Technologies Inc.'

 以下のように表示されたらOKです。

Possible dash hardware address detected: b8:27:eb:xx:xx:xx Manufacturer: Raspberry Pi Foundation Protocol: arp

 この場合はb8:27:eb:xx:xx:xxがDashボタンのMACアドレスになります。ここはAmazon Dashボタン固有のアドレスで、全てのAmazon Dashボタンが固有のアドレスを持っています。これをコピーしておきましょう。続いて、config.jsonファイルを編集します。

$ cd ~/karaage-dash-button/dasher
$ vim config/config.json

 中身は以下のようにします。addressの箇所にDashボタンのMacアドレス。urlには先ほど調べたRaspberry PiのIPアドレスを書いてください。

{"buttons":[
  {
    "name": "Karaage Dash Button",
    "address": "b8:27:eb:xx:xx:xx",
    "url": "http://192.168.xx.xx:10080/call",
    "method": "GET"
  }
]}

 では、今度はAmazon Dashボタンを使ってのテストを実施します。最初にtest_dash.pyを起動します。

$ cd ~/karaage-dash-button
$ python test_dash.py

 続けて別のウィンドウで以下コマンド実行して、dasherを起動して下さい。

$ cd ~/karaage-dash-button/dasher
$ sudo npm run start

 これでAmazon Dashボタンをトリガに、先ほどのアドレスにcallすることができます。試しにAmazon Dashボタンを押してみて下さい。うまくいけば、先ほどブラウザでテストしたときと同様にTest OKが表示されるはずです。

 ここでうまくいかない場合は、Amazon DashボタンのMacアドレスが正しく設定されているか等を中心に確認ください。

 これでAmazon Dashボタンと連携してRaspberry Piに様々な動作をさせる基本的なセットアップが完了しました。続いては、用途毎のセットアップ方法と使い方を説明していきます。実施したい内容に合わせて設定下さい。

Twitter連携

 twitterの連携をしたい場合は、あらかじめ以下のサイトでtwitterアプリを登録して、Consumer keyとAccess tokenをゲットする必要があります。携帯電話番号を登録しないといけないのがちょっとハードル高いですね。

 続いて.configファイルの[twitter_settings]の項目に上記のアクセスキーの内容を書き込んで下さい。

 後は、以下実行しましょう。ツイートする内容はyakan_dash.pyに書かれているので、中身を直接書き換えて変えて下さい。

$ cd ~/karaage-dash-button
$ python yakan_dash.py

 config/config.jsonファイルは、DashボタンのMacアドレスとyakan_dash.pyで起動するサーバのポート番号(10081)に合わせて設定下さい。

{"buttons":[
  {
    "name": "Karaage Dash Button",
    "address": "b8:27:eb:xx:xx:xx",
    "url": "http://192.168.xx.xx:10081/call",
    "method": "GET"
  }
]}

 続けて別のウィンドウで以下コマンド実行して、dasherを起動して下さい。

$ cd ~/karaage-dash-button/dasher
$ sudo npm run start

 後は、先ほどのテストと同様にDashボタンを押すと、twitterに通知が来るようになります。

Slack連携

 Slack連携に関しては、平さん(id:mana-cat)の記事が非常に参考になりました。

 まずは上記サイトでSlackの登録とIncomingWebHookの設定を行ないWebhook URLを取得しましょう。

 次に、.configファイルの[slack_settings]の項目のslackURL = https://hooks.slack.com/services/xxxを取得したWebhook URLに書き直して下さい。

 後は、twitter連携と同じ要領でconfig.jsonを書き換えてofuro_dash.pydasherを起動してからDashボタンを押すだけです。

ルンバとAmazon Dashボタンの連携

 ルンバの改造は以下記事を参照下さい

 ただ、上記の標準のルンバ用のパッケージでは、ROS経由でルンバに掃除をさせるコマンドを送ることができませんでした。ただ、色々調べたら開発中のものが既に公開されているようだったので、そちらを試して使ってみることにしました。具体的には、以下でセットアップできます。

$ cd ~/catkin_ws/src
$ git clone https://github.com/AutonomyLab/create_autonomy.git 
$ cd create_autonomy.git
$ git checkout -b set_modes origin/set_modes
$ cd ~/create_ws
$ rosdep update  
$ rosdep install --from-paths src -i  
$ catkin build

 このソフトを用いれば、ルンバに搭載しているRaspberry Piで以下のようなコマンドを実行することで、ルンバのクリーンボタンを押すことと同じ操作ができるようになります。

$ rostopic pub /set_clean_mode ca_msgs/CleanMode "mode: 1"

 また、ルンバに搭載してるRaspberry PiのOSはRaspbianでなくUbuntuを使っている関係で、dasherを簡単にインストールすることができませんでした。そこで、ルンバ搭載のRaspberry PiではbottleでWebサーバのみ動かし、dasherは別のRaspberry Piで動かすという構成をとることにしました。

 なので、ルンバ搭載のRaspberry Piではkaraage-dash-buttonのリポジトリにあるセットアップスクリプトは使わず、以下のコマンドでbottleだけインストールします。

$ sudo apt-get install python-pip
$ sudo pip install bottle

 後は、ルンバ側のRaspberry Piで以下実行しましょう。

$ cd ~/karaage-dash-button
$ python roomba_dash.py

 後は、Dashボタンを受ける側のRaspberry Piで以下コマンド実行して、dasherを起動しましょう。

$ cd ~/karaage-dash-button/dasher
$ sudo npm run start

   これで、Dashボタンを押すたびに、ルンバのCleanボタンが押されたときと同じ動作をするようになります。

家庭菜園の栽培日記自動投稿

 家庭菜園の栽培日記の自動投稿に関しては、以下の「電波ガーデニング」にはてなブログへの投稿機能を付け加えることで実現しました。

 このはてなブログへの投稿機能が意外に曲者で、文章だけなら、はてなブログAPIを使って投稿する以下のようなpythonスクリプトで簡単に投稿できます。

 ただ、写真投稿も一緒となると、APIでは少し難しそうだったので、手軽そうなメールを使っての投稿を試みてみました。投稿用のメールアドレスは、はてなブログの管理画面の詳細設定にある投稿メールアドレスとなります。そのアドレスに画像付きのメールを送れば、はてなブログに画像付きの記事を投稿することができます。

 Raspberry Piからメール送るために、まずはGmailのアプリパスワードを取得します。2段階認証をオンにしないとアプリパスワードを取得できないので注意下さい。取得方法の詳細は以下サイトが参考になりました。

 2段階認証オンにすると、今まで使っていたメーラーなどのアプリのパスワードも、すべてアプリパスワードに変更する必要があるので注意下さい。

 あとは、pythonのスクリプトでメールを投稿するだけです。以下の記事のスクリプトの_user_passに、自身のGmailのアドレスとアプリパスワードを入力して実行したら、無事メールが送れました。

 実は、最初はsmmtp+mailutils(mailコマンド)+uuencodeの組み合わせでメールを送ろうと頑張っていたのですが、送信した画像添付メール、普通のメーラーでは受信できるのですが、画像付きだとはてなブログが投稿をどうしても受け付けてくれなかったので、諦めてpythonスクリプトで送ることにしました。結果的にはシンプルになったので良かったですが…

 Dashボタンとの連携に関しては、twitterやslackとの連携と同様に実施するだけですので、詳細は省略します。

 投稿した画像は以下のような感じです。 f:id:karaage:20170522012102p:plain:w640

 夫婦ブログに投稿しています

自動起動設定

 dasherと自作のpythonスクリプトを使用する必要があります。dasherの自動起動に関しては、以下を参考にしてください。

Running Dasher on a Raspberry Pi at startup · maddox/dasher Wiki · GitHub

 karaage-dash-buttonのリポジトリに自動起動の設定ファイルも用意してありますので、コピーするだけで設定できます。具体的には、以下コマンド実行ください。

$ cd ~/karaage-dash-button
$ sudo cp dasher_initd /etc/init.d/dasher

 以下コマンドで動作確認ができます。

$ sudo /etc/init.d/dasher start

 問題がなければ、以下コマンドで自動起動が設定できます。

$ sudo update-rc.d dasher defaults

 pythonのスクリプトに関しては/etc/rc.localを使用するのがよいでしょう。以下コマンドでファイルを編集します。

$ sudo vim /etc/rc.local

 ファイルのexit 0の前に以下のように、実行したいプログラムのコマンドを追記しましょう。

/usr/bin/python /home/pi/karaage-dash-button/yakan_dash.py &

exit 0

 あとは以下コマンドで再起動すれば、自動的に「からあげDashボタン」が動くようになっているはずです。

 Raspberry Piのプログラムの自動起動に関しては、別サイトの以下記事でまとめていますので、詳しく知りたい方は参考にしてみてください。

ラベル作成

 ラベルは、以下の記事でテンプレートが公開されているので遠慮なく使用いたしました。

Amazon Dash Buttonを(正しくない方向で)使ってみた - Qiita

 デザインは、Macのプレビューで「けいおんフォント」を使用して作成しました。以下参照下さい。

 あとは、プリンタでシールラベルを印刷して貼るだけです。気をつける点は以下です。

  • 印刷設定は必ず等倍(100%)に
  • ラベルは剥がせるものにすると失敗したときのリカバがしやすいのと使い回しがきく
  • 切るのは結構難しい

まとめ

 「からあげDashボタン」の作り方をまとめてみました。もともとAmazon Dashボタンのハック、ちょろっと雑に試して終わるつもりだったのですが、はてなニュースに寄稿するということになり、寄稿した記事も解説記事もかなりのボリュームの記事となりました。ルンバを動かすところや、メールでのはてなブログへの写真投稿など結構はまるところもあって、普段だったら諦めていたかもしれません(笑)

 他にいくらでも応用考えられると思いますので、興味持った方は是非一部でもチャレンジしてみてください!

関連記事

参考リンク

Amazon DashでおとうさんDashボタンをつくる | MUDAなことをしよう。

Amazon Dash ButtonをただのIoTボタンとして使う - Qiita

Amazon Dash Buttonを(正しくない方向で)使ってみた - Qiita

Amazon Dash Button で Hue を操作する - shucreamTech

Amazon Dash Buttonの仕組みとハック - Qiita

linux mailコマンドで簡単にgmailを送る(Raspbery Pi) - エンジニアの備忘録

Raspberry PiからSSMTPとMailコマンド(mailutils)でメール送信 | るとるのITぶろぐ

Raspberry Piからメールを飛ばす | ERMINE Corporation

Raspberry PiからSSMTPとMailコマンド(mailutils)でメール送信 | るとるのITぶろぐ


iPhone7Plusを買うなら一緒に揃えておきたい必需品5選

$
0
0

f:id:karaage:20170416161519j:plain:w640

iPhone7Plusを買ってから色々買いました

 完全に今更な時期に、格安SIMに乗り換えるためにiPhone7Plusを買いました。

 半分勢いで買ったので、付属品は後から色々バラバラ買いました。今思うとある程度iPhoneを買う前に揃えておけば良かったなと思うものばかり。需要があるとは思えませんが、私が次に携帯買い換える時のためにまとめておきたいと思います。

iPhone7Plusと一緒に揃えたい必需品

厚めの強化ガラスケース

 私は頻繁にスマホ落下させるので、厚めの強化ガラスのケースは必須です。ディスプレイがバリバリに割れると悲しいですし、買取額も大幅ダウンになるのでここはケチらず買っておいた方がよいと思います。

f:id:karaage:20170402222756j:plain:w640

 私は、iPhone7Plus購入と同時に適当なお店で買いました。同じものをAmazonで探しましたが、ありませんね。少し厚めのものが個人的には安心です。

スマホレンズ

f:id:karaage:20170412124531j:plain:w640

 「変デジ研究所」のプレゼント企画でいただいたものです。詳細は以下のレビュー記事参照下さい。

 iPhone7Plusはズームレンズもあるので、このスマホレンズを加えると色々な画角をカバーできてしまいます。大きいカメラは持っていけないけど、色んなレンズ使いたいというときはピッタリです。

おしゃれなスマホケース

 iPhone6Plusのときは、愛知県のクリエイター「tocoさん」デザインのスマホケースを使っていました。

 残念ながらiPhone7とiPhone6で同じケース使えないので、新しいものを購入しました。もちろん「tocoさん」デザインのケースです。夫婦でお揃いで購入しちゃいました。

f:id:karaage:20170416161519j:plain:w640f:id:karaage:20170416161549j:plain:w640
 宇宙くじら!

 以下から購入しました

スマートフォン収納ポーチ

 今までは、以下のようなハンギングポーチを使っていました。

 ずっと使っていて、そろそろベルトのところが切れそうだったので、Amazonで探して評価よさそうなものを購入。

f:id:karaage:20170416161754j:plain:w640

f:id:karaage:20170416161841j:plain:w640

 カラビナはついていないので、ベルトなどに引っ掛けたい人は別途購入しましょう。結構丈夫で、もう1ヶ月以上使っていますが、ほつれもなく良い感じです。

 iPhone7Plusのサイズになるとポケットに入らないので(入れると壊れそう)、仕方なくこういうの使っていますが、もうちょっと他によい持ち運び手段があるとよいなと思っています。

Bluetoothイヤフォン

 有線のオーディオジャックが廃止されてしまったので購入しました。詳細は以下。

 AirPodsは正直欲しい。

まとめ

 iPhone7Plusの必需品をまとめてみました。次回スマホ買うときは読み返して、あらかじめある程度必需品を事前に揃えておきたいものです。

関連記事

はてなブログの「カテゴリ別記事一覧ページ」の説明文書くときに便利なテクニック

$
0
0

カテゴリー別記事一覧ページのカスタマイズ

 結構前ですが、はてなブログに「カテゴリ別記事一覧ページ」をカスタマイズできる機能が追加されました。詳しくは公式の以下アナウンス参照下さい。

 ブログ狂ことロンスタ (id:lonestartx) さんは、早速以下のようなカスタマイズ記事を書いてくれていました。

 これはありがたいなと思うこと、早1ヶ月近く。重い腰を上げてカスタマイズしてみようかなと思いました。

カテゴリ記事一覧ページの説明文書くのに、はてなブログを使う

 ロンスタさんのサイトを参考に、カスタマイズしていったのですが、カテゴリ記事の説明文を書くところでハタと困りました。説明文、HTMLを使って書かないといけないのですよね。「HTMLなんて中学生のときにMARQUEEタグで文字スクロールさせて遊んで以来書いてないぜ!」という自分のような人は困ってしまいます。特に、ブログカードでリンクしたいときとか、HTMLでどうやって書けば良いのかさっぱりわからないです。

 でもそんなとき、助けになるのがこれまた「はてなブログ」です。まずはおもむろに新しい記事を書き始めます。このとき編集モードを「見たまま」記法にするのがコツです。 f:id:karaage:20170615004241p:plain:w640

 あとは、好きに文章書いたりリンクを貼り付けたりしましょう。以下のようにブログカードを作成できます f:id:karaage:20170615004247p:plain:w640

 ブログカード作成した図 f:id:karaage:20170615004254p:plain:w640

 ここで、HTML編集をクリック。なんとブログカードをHTMLでどうやって書けば良いのか丸わかりです! f:id:karaage:20170615004302p:plain:w640

 あとはこれをコピペして、カテゴリ別記事一覧ページの説明文に貼り付けるだけです。簡単ですね!

カスタマイズしたぜ、1ページだけだけどな!

 上記のテクニック(というほどのものでもありませんが)を利用して、このサイトだと比較的需要が多そうな「Raspberry Pi」のカテゴリの記事別一覧ページを作成してみました。ブログカードでのリンクも使ってあります。

 というわけで、私は1カテゴリ分作ったら満足してしまったわけです。ロンスタさんとかカテゴリ多いけどどうしてるのかなと思って確認してみたら…どのカテゴリもちゃんとページ作成してある!!まさか全部のカテゴリ分作成してはいないだろうと思って順に見ていくと、悉くきちんと作成してあります。最後の方は何故か「一つくらいサボっててくれ」と祈るような気持ちでクリックしていたのですが、最後の1つまで作り込まれていました。これがブログ狂…ひさしぶりにその狂気に戦慄しました。

 ちなみに、以下の2つのカテゴリページが個人的にはツボでした(笑)

まとめ

 カテゴリ別記事一覧ページ、作成してみました。他のカテゴリもカスタマイズしていきたい気もしますが、多分やらないかな。「電波」とか「LifeFuck」とか意味のわからないカテゴリ作るのやめておけば良かったかなとちょっとだけ思いました(昔は「日記じゃないよニョッキだよ」というカテゴリもありましたが、さすがに削除しました)。みなさんもカテゴリ作成は慎重に。

 しかし、はてなブログがこの勢いで多機能になってくるんなら、WordPressで作ってみた別サイト、大容量ファイル置き場にしてブログは全部はてなブログに引き上げてもよいかなとか思い始めてしまいました。

 勢いで開設した別サイトがこちらです

関連記事

Raspberry Piでオリジナルのイメージを圧縮して保存のススメ

$
0
0

f:id:karaage:20170407135528j:plain:w640

Raspberry Piの環境を丸ごとイメージファイルとして保存したい

 Raspberry Piで色々やっていると、よくあるのが以下のような問題です。

  • 昔環境構築したSDカードがどこかいってしまった
  • 何らかの原因(物理的orソフト的破壊)でSDカードが読めなくなってしまった

 私は、セットアップ方法をスクリプトにしてGitHubに保存したり、過去実施した内容はブログに極力手順を残しておくようにします。

 ただ、この方法も色々な理由(自分のメモの不備、使用するソフトウェアのバージョン変更、公開停止等)で、同じ環境を構築できず困ってしまうこともあります。一番確実なのは、SDカードをイメージファイルとして丸ごとバックアップしてしまう方法です。具体的な方法は以下を参照下さい。

 そのままイメージファイルを作成してもよいのですが、バックアップファイルを作成する前に、不要なファイルを削除しておくと容量の節約になります。

 この記事では、不要なファイルを削除して、Raspbianの容量を約半分までシェイプアップして保存する方法に関して説明します。

不要なファイルを削除して最適化

どんなファイルが容量を占めているか把握

 まずは現状を把握しましょう。df -hとコマンド実行すると現状のサイズがわかります。Raspbianの2017-03-02時点のイメージだとファイルサイズは以下の通り4.2G程度です。結構大きいですね。

ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         15G  4.2G  9.9G   30% /

 適当にファイルを消しても効率が悪いので、最初に、どんなファイルが割合を占めているのか調べてみましょう。以下のコマンド実行すると容量順にソフトを並べてくれます。

$ dpkg-query -W-f='${Installed-Size}\t${Package}\n'  |sort-n-r

 上位20個を並べると以下のようになります。

666925   wolfram-engine
171382  chromium-browser
168481  oracle-java8-jdk
147508  sonic-pi
106398  raspberrypi-kernel
94821   libreoffice-core
78686   libreoffice-common
47401   libpython3.4-dev
45673   scratch
44899   nuscratch
40558   gnome-user-guide
39706   libllvm3.9
33224   freepats
33054   libraspberrypi-doc
32888   pypy
29807   realvnc-vnc-server
27437   pixel-wallpaper
26535   libicu52
26095   libwebkitgtk-3.0-0
25557   vim-runtime

 ここらへんを中心に、自分がいらないソフトや、ネットで調べた消しても問題ないソフトを削除します。具体的には、以下のようなスクリプトを作成して実行しました。

#!/bin/bash# delete package
sudo apt-get autoremove -y wolfram-engine
sudo apt-get autoremove -y sonic-pi
sudo apt-get autoremove -y libreoffice*
# 100MB-----------
sudo apt-get autoremove -y scratch nuscratch squeak-plugins-scratch
sudo apt-get autoremove -y nuscratch
sudo apt-get autoremove -y gnome-user-guide
sudo apt-get autoremove -y freepats
sudo apt-get autoremove -y libraspberrypi-doc
sudo apt-get autoremove -y pypy
sudo apt-get autoremove -y greenfoot
# 10MB-----------
sudo apt-get autoremove -y epiphany-browser*
sudo apt-get autoremove -y bluej
sudo apt-get autoremove -y netsurf*
sudo apt-get autoremove -y realvnc-vnc-*
sudo apt-get autoremove -y supercollider-server
sudo apt-get autoremove -y debian-reference*
sudo apt-get autoremove -y minecraft-pi
sudo apt-get autoremove -y claws-mail
sudo apt-get autoremove -y galculator
sudo apt-get autoremove -y geany*
sudo apt-get autoremove -y idle*
sudo apt-get autoremove -y lxterminal
sudo apt-get autoremove -y
sudo apt-get -y clean

 このスクリプト実行すると残り容量は以下になりました。半減とまではいきませんでしたが、大幅に容量削減できていますね。

ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         15G  2.5G   12G   18% /

 今回はそこまで徹底的に削除していませんでしたが、もっと突き詰めれば半減することも可能じゃないかなと思っています。

イメージファイル・SDカードの作成

 イメージファイルやSDカードを保存する方法に関しては、以下参照下さい。

 上記記事にも書いていますが、gpartedでパーティションのサイズを小さくしてから、コンパクトなサイズのイメージファイルを作成しましょう。そうしないと、せっかくファイル容量削減したのが無駄になってしまいます。

SDカードの保管方法

 作成したイメージファイルはファイル名で区別できますが、すぐ使えるようにSDカードでも保管しておくと便利ですね。ただ、microSDカードは小さいのでラベルが貼れないため、ちゃんと管理しないとすぐ何が何だかわからなくなってしまいます。管理しやすいmicroSDカードのケースはずっと良いものを探しているのですが、ポロって落ちてしまったり中身をメモするようなラベルがなかったりと中々良いものが見つかりませんでした。そんな中気に入っているSDカードが以下のものです。

f:id:karaage:20170407135528j:plain:w640
 こんな感じ

f:id:karaage:20170407135537j:plain:w640
 薄い!

f:id:karaage:20170407141339j:plain:w640
 8枚分のmicroSDカードのラベリングができます

 後から消せるようにフリクションのペンで書き込んでいます。

 microSDカードはしっかりとホールドされて落ちることもありません。コンパクトで収納にも持ち運びにも便利なのがよいですね。

イメージファイルを公開するときにはライセンスに注意

 イメージファイルを公開するときに気をつけないといけないのがライセンスです(特にビジネスの場合)。個人の場合でも、特に以下を気をつけないといけません。

  • 使用しているソフトのライセンスによっては自分で開発したソースコードを公開する必要がある
  • 再配布を禁止しているソフトがある場合は、イメージファイルの公開をしてはいけない
  • ライセンスのない野良ソフトを使う場合は、公開して良いか作者に許可が必要(最悪ソフトの作者から訴えられる可能性がある)

 他にも細かいことは色々あるのですが、ここでは省略します(私もそこまで詳しくないので)。まず、ソースコード公開したくない場合は、基本的にはGPLライセンスのソフトが一切使えなくなるので、かなり難しいと思います。特に問題がなければ、自分の開発したソフトをGitHubなりで公開するのがよいです。

 また、再配布禁止しているようなソフトがある場合もイメージファイルの公開はもちろんできません。Raspbian自体は結構色々なところにミラーサイトがあるし、自分の認識は再配布OKなのですがツイートしてみたら色々情報いただけました。

 公式のフォーラム等で調べてみましたが、Debianのライセンスに準ずるから再配布OKという記載もあれば、JavaやWolfram、minecraft piは少なくとも削除しないとダメという情報もありました。

 ライセンスは色々調べてみましたが、中々複雑ですね(過去数々の論争があるようです)。Raspbianのライセンスに関して、もし間違っていることや、他に有用な情報ありましたら教えていただけると助かります。

 ライセンス気になるなら、イメージを公開する代わりにセットアップのスクリプトを公開するという方法もありますが、手間や確実性を考えると、やはりイメージ丸ごと公開したいですよねぇ。

まとめ

 Raspberry Piでオリジナルのイメージを作成する際の不要ファイル削除の方法やSDカードの保管方法、ライセンスの注意に関して書いてみました。イメージをバックアップしておくと結構後で助かるケースは多いです。イメージ公開は、サーバーも必要ですし、ライセンスチェックの手間もあるので大変ですが、色々なイメージが公開されていると楽しいので多くの方がRaspberry Piのオリジナルのイメージを公開してくれると嬉しいなとか個人的には思います。

関連記事

 Raspberry Pi関係の記事をまとめた別サイト

参考リンク

不要ファイル削除関係

debianパッケージをサイズ順に並べる方法 | Linux | マイノリティでいこう

Raspberry Pi 不要パッケージの削除 - Qiita

Raspberry PIの不要ファイル削除 - Qiita

sstea備忘録 : Raspberry Pi の最適化を試みる

raspbianの最適化 - today_rainy's blog

不要になったパッケージを削除してくれる、autoremove - UNIX的なアレ

Raspberry Pi の最適化:軽量化やSDカードの延命対策

ライセンス関係

Raspberry Pi • View topic - Raspbian license

Raspberry Pi • View topic - Question about redistribution of raspbian based system

モンヂャックの取れた目を直してもらいにクリエイターズマーケットに行ったらモンヂャックが増えました

$
0
0

f:id:karaage:20170617180352j:plain:w640

クリエイターズマーケットに行ってきました

 まず、クリエイターズマーケット、モンヂャックに関しては、ちょっと詳しく書くのが大変なので、以下のブログ狂ことロンスタ (id:lonestartx) さんの記事を参考にして下さい(いきなりの手抜き)。

 読んできました?そしたら本題入りますね。

モンヂャックの目がとれた!

 いつもお出かけの時にカバンにつけてたモンヂャック。度重なる酷使が原因か目がとれてしまいました。

f:id:karaage:20170617104311j:plain:w640
 無残にも目が取れてしまったモンヂャック

 落ち込んでいたのですが、何と公式のtwitterアカウントからクリエイターズマーケットの会場で直してくれるとのこと。目がなくてもOKでなんと無償!素晴らしいアフターサービス!

 というわけで喜びいさんでクリエイターズマーケットに行ってきました。

クリエイターズマーケットのモンヂャックブース

 今回は車で行きました。駐車場は案の定いっぱいでしたが、臨時駐車場の場所を教えてもらいました。臨時駐車場はそれほど待たずに楽々止められました。

f:id:karaage:20170617113643j:plain:w640
 わかりやすい地図

 会場に着いたら、目当てのモンヂャックブースへGO!

f:id:karaage:20170617120104j:plain:w640
 モンヂャックがたくさん!

f:id:karaage:20170617124016j:plain:w640
 アウトレット品も

 目を直してもらう間に色々欲しくなり、気づけばモンヂャックが増えていました。ハッ!これが無償でお直しの作戦だったのか。まさにタダより高いものはない…

戦利品のモンヂャック

f:id:karaage:20170617175941j:plain:w640
 目を直してもらったモンヂャックと新たに我が家にジョインしたモンヂャック

f:id:karaage:20170617180009j:plain:w640
 アウトレット品のパスケース

f:id:karaage:20170617180025j:plain:w640
 裏は可愛いペンギン柄

 パスケースとか使ったことないけど、つい買ってしまいました。何入れようかな

 新しいモンヂャックは娘用にすることに

f:id:karaage:20170617180352j:plain:w640
 結構気に入った様子

f:id:karaage:20170617180454j:plain:w480
 妻のモンヂャックと並びで

まとめ

 クリエイターズマーケットでまたまたモンヂャックが増えてしまいました。モンヂャックの作者であるtocoさんの作品はどれも素敵なものばかりなのでオススメです。以下で紹介している、夫婦で愛用しているiPhone7のスマホケースもtocoさんデザインのものですし、身の回りのものがどんどんtocoさんに侵食されている感じですね。

 スマホケースは、ネットでも購入できます。iPhoneだけでなく、アンドロイド携帯に対応しているものもあるので、気になった方は一度見てみるとよいかなと思います。

関連記事

スポーツ嫌いの私が冷やし中華を始めるようにボルダリングを始めた理由

$
0
0

f:id:karaage:20170616182046j:plain:w640

冷やし中華を始めるようにボルダリングを始めました

 最近、ボルダリングを始めました。きっかけは、妻が最近ボルダリングを始めたことです。最初は気にもしていなかったのですが、妻の身体がみるみる引き締まっていく一方、私の身体は、夜中のビールとポテチ飲み食いによりぶくぶく太るばかり。これではいかん、妻に軽蔑されて離婚の危機だ!ということで家庭を守るために、ボルダリングを始めたのです。

ボルダリングジムの様子

 私が行ったのは、愛知に5店舗を構えるボルダリングジム「ぴなくる2」さん。選んだ理由は近くにあったからです。大府店と刈谷店両方にいったことあるのですが、今回の写真は主に刈谷店のものを使用しています。

 外観はこんな感じ f:id:karaage:20170616173537j:plain:w640

 おしゃれな受付 f:id:karaage:20170616173620j:plain:w640

 10年ほど前に、実は一度だけボルダリングジムいったのですが、正直ちょっと小汚い感じの印象でした。一方の「ぴなくる2」さんはとてもオシャレな感じですね。

ボルダリングのルール等

 「ぴなくる2」さんでは、初回はお店の人が丁寧に教えてくれます。ルールに従ってプレイしましょう。といっても特に難しいルールはなく、コースによって使用するホールド(人が手や足でつかまる岩のこと)が決まっているので、決められたホールドだけを使ってスタートからゴールに移動するだけです。使用するホールドは、ピナクル2さんでは、基本的にコースごとに色で指定されています。

 例えば刈谷店では、難易度とコースは色分けされています。また、難易度が低いときは、足は好きなホールドを使ってOKです。 f:id:karaage:20170616175719j:plain:w640

 大府店では、数字で難易度が分けられていてコースは色分けされています。また足は指定のホールドを使う必要があります。 f:id:karaage:20170623155411j:plain:w480

 お店には、以下のような滑り止めのチョークがあるので、手に塗りましょう。大府店では液体チョークもあります f:id:karaage:20170623234533j:plain:w640

 シューズは有料でレンタル可能です。靴はかなりキツイです。 f:id:karaage:20170624093017j:plain:w640

 妻によると、色々ぶつけてアザになりやすいの基本的に格好は、長袖、長ズボンがよいとのことです。特に、足の先のところが締め付けられるタイプの長ズボンだと、登る時じゃまにならなくてよいとのことです。

 ルールは、基本的にはどこでも似たようなものだと思いますが、お店によっては特別な決まりなどある場合もあると思いますので、新しいお店では必ず最初に確認するようにしましょう。

ボルダリングする私の様子

 初回講習が終わるとあとは登るのみです。

 色々なコースがありますので、まずは低い難易度のものから順に登りましょう。 f:id:karaage:20170616175726j:plain:w640

f:id:karaage:20170616175733j:plain:w640

 8級、7級あたりはすぐ登れるのですが、6級くらいになると…

f:id:karaage:20170616182055j:plain:w640 登り始めてすぐ

f:id:karaage:20170616182046j:plain:w640 一瞬でケツからダウン(ケッツダウン)

 ただ、1時間くらい練習していると今まで登れていなかったコースも登れるようになります。登れるとなかなか快感です。下記は私が最初登れなかった6級のコースを華麗に登っているGIFアニメです。

f:id:karaage:20170623232717g:plain:w640
 華麗に登る様子(GIFアニメ)

 このときは、金曜の夜に会社の同僚と行ったのですが、最初こそ人が少なめだったものの、しばらくすると会社帰りと思われる参加者がどんどん増えて来ました。ボルダリング人気の高さが伺えますね。

ボルダリングのメリット

 ここでボルダリングの自分が思うよいところを列挙してみたいと思います。

身体が引き締まる

 妻で実証済みです。全身運動なので割とバランスよく引き締め効果があるのではないかと思います。プールのように着替えに時間がかからないのは嬉しいですね。

ゲーム性があって楽しい

 どのホールドをどのように掴んでいくかなど、結構戦略が重要でゲーム性が高いです。身体と頭をフルに使って攻略できたときは、なかなか快感で脳汁ドバドバ出ます(多分)。

知らない人とでも普通にしゃべれる

 壁を登るという同じ目標を持っているので、結構見知らぬ人とでも普通に喋れます。人見知りする自分でも、最後の方は知らない人とボルダリングコース攻略に関してディスカッションしたりしていました。

女性や子供でも楽しめる

 身体が軽くて、やわらかいと有利なので、女性や子供でも楽しめます。特に女性は結構多いなという印象です。カップルや家族で来ている人も多く、多くの人で楽しめるスポーツといえそうです。

 ボルダリングジムによって、参加できる年齢は異なりますので、子供と行く場合はお店の情報を事前にチェックするのがオススメです。例えば「ぴなくる2」の大府店では、0歳の子供から楽しめるキッズスペースがあるので、小さい子供がいる家庭でも楽しめます。

ボルダリングのデメリット

 逆にデメリットです。あくまで個人の感想です。

あざができる

 結構ホールドにひっかけてあざができてしまいます。長袖にしても、熱中して来ると強めにぶつけてしまうこともあり、どうしてもあざが気になる女性はやめておいた方が無難かもしれません。

健康に悪い

 これはボルダリングに限ったことではなく、私は、あらゆるスポーツが、寿命や健康と引き換えに快楽を得たり、身体を引き締めるものだ思っています(あくまで個人の意見です)。スポーツというものは、仕事だったり好きで好きでしょうがないなら仕方ないですが、個人的にはやらなくてすむならやらない方がよいのじゃないかなと思います。私はあくまで家庭を守るという義務感からやっています。実際、ボルダリングした次の日は身体中が痛くて辛いです。

まとめ

 ボルダリング始めました。身体に悪いことを除けば、ゲーム性があって楽しいし、身体も引き締まりそうなのでいいことだらけです。ボルダリングを含むスポーツクライミングは、オリンピック競技にもなることが決まり、今急速に競技人口が増えているみたいです。ボルダリングジムも増えているみたいなので、興味ある方は調べてみると意外に近くにボルダリングジムを見つけられるかもしれませんね。

 自分に関していえば、10年くらい前に、オリンピック競技になると大学の友人(M野君)にそそのかされて「エクストリーム・アイロニング」をしていたのですが、結局未だにオリンピック競技にはなりませんでした。ボルダリングの方を始めて続ければ今頃オリンピック選手になれていたかもと思うと残念でなりません。将来を正しく見極める目は大切ですね。

はてなニュースに「プリングルズのワイヤレススピーカーを使ったラズパイモノボケ」に関する記事を寄稿しました

$
0
0

f:id:karaage:20170603223449p:plain:w640

はてなニュースに寄稿しました

 「プリングルズのワイヤレススピーカーをお題に、妻&娘と考えた“ラズパイモノボケ”地獄の3連発!」という記事を「はてなニュース」に寄稿させていただきました。

 「はてなニュース」には、今回で2度目の寄稿となります。ありがとうございます。

記事に対する技術的な補足

 技術的なことはそれほど詳しく書いていないので、少しだけ補足します。

 プリングルズおじさんがおしゃべりするときにしゃべる内容は、以下の記事と同様の要領で作成しています。 karaage.hatenadiary.jp

 また、記事で使用したプログラムのソースコードは、GitHubの以下リポジトリで公開します。

 READMEにそれほど詳しい説明を書いていませんが、分かる人には分かるし、分からない人には分からないと思います(当たり前ですね)。もしよろしければご自由に使用下さい。

H△Gに関して

 スピーカーのレビューのときに紹介しているアーティスト「H△G」のCDはこちら。今、私が一番好きで応援しているアーティストです。

声~VOCALOID Cover Album~

声~VOCALOID Cover Album~

 名曲「星見る頃を過ぎても」は以下のアルバムに収録されています。

f分の1ゆらぎ

f分の1ゆらぎ

 つい先日公開された、メジャーデビューシングル「夏の在りか」のMVは以下です。スマホ3台で3つの動画を再生すると1つのストーリーになるという仕掛けです。

H△G「夏の在りか」3種MV 全バージョン動画リスト - YouTube

 他にもH△Gは「東海ラジオ LIFESTYLE MUSIC 929」で火曜の夜に番組のメインパーソナリティーを務めていて、こちらもめちゃくちゃ面白いのでオススメ。

関連記事

雨でも楽しめる!モリコロパークの愛知県児童総合センターでマッスルタワーみたいなタワーに子供と登った

$
0
0

f:id:karaage:20170513132116j:plain:w640

モリコロパークの愛知県児童総合センター

 結構前の話なのですが、子供の保育園の遠足でモリコロパークの「愛知県児童総合センター」に行って来ました。

愛知県児童総合センター

 本当は大きめの公園に行く予定だったのですが、あいにくの雨だったため急遽行き先が変更になったのです。

愛知県児童総合センターの写真

 紹介といっても、いくつか写真載っけて終了です。

遊具等

f:id:karaage:20170513122603j:plain:w640
 室内にトランポリンや遊具があります

f:id:karaage:20170513123431j:plain:w640
 リニモの景色がリアルタイム(多分)で体験できます

f:id:karaage:20170513130231j:plain:w640
 ワークショップなどもやっています。粘土で手形の型取り

f:id:karaage:20170513140716j:plain:w640
 娘はこのぶら下がりブランコをずっとやっていました

マッスルタワー

 この施設のメインは、なんといっても建物の中心を貫くタワー。正確にはチャレンジタワーというらしいのですが、私はその佇まいから敬意をこめて、勝手にマッスルタワーと読んでいました。

f:id:karaage:20170513110911j:plain:w640
 これがマッスルタワー

f:id:karaage:20170513130657j:plain:w640
 中のトンネルの様子。娘が素早くてピントが合いませんでした

 内部は色々なアスレチックをこなしながら登って行くようになっています。また2重らせんになっていて、2種類のコースが楽しめるのも魅力です。デザイン的にも被写体としても面白いなと思いました。

f:id:karaage:20170513131714j:plain:w640
 上からの写真

f:id:karaage:20170513132116j:plain:w640
 下からの写真

まとめ

 雨の日でも楽しめる、モリコロパークの愛知県児童総合センターで遊んで来ました。モリコロパークは、他にも温水プールや屋外遊具の施設もあり、天気に関わらず家族で1日楽しめるスポットですね。つい先日、同様に雨天でも遊べる鞍ケ池公園のプレイハウスという施設にも行ってきたのですが、大きさだとモリコロパークの施設の方がかなり大きいなという印象でした。子供がある程度大きくなるとモリコロパークの方が楽しめそうですね。

 ジブリパークになるという噂もあるモリコロパークですが、今の施設は、維持して欲しいなと思いました。

関連情報


一年ぶりのPV報告及び「からあげDashボタン」運用に関して

$
0
0

f:id:karaage:20170701112229j:plain:w640

家庭菜園の現状(PV)報告

 以前プレゼンにより妻に許可をいただき家庭菜園を始めました。

 だいぶ育ってきたので、一年ぶりに簡単にPV(Plants View)を報告しようかと思います。

 まず現状ですが、以下のような感じです。 f:id:karaage:20170701112229j:plain:w640

 だいぶ育っていますね。もうちょっと細かく見て行きましょう。

f:id:karaage:20170617102940j:plain:w640
 トマトの実

f:id:karaage:20170617102946j:plain:w640
 トマトの花

 今月は収穫こそなかったものの、だいぶ順調に育っていることが分かると思います。来月あたりには、収穫が発生しそうなので素敵な収穫報告ができそうです。

 他の植物も順調に育っています。 f:id:karaage:20170617103000j:plain:w640

f:id:karaage:20170617103008j:plain:w640

f:id:karaage:20170701112235j:plain:w640

 朝顔とかかなりブロってますね(blossoming)。一ヶ月後が楽しみです。

 肝心のPV(Plants View)ですが、家族3人で毎日3,4回見ていたので、1日平均10PV。6月は合計約300PVでした。

からあげDashボタンも運用開始しました

 約一ヶ月前に「はてなニュース」に寄稿させていただいた「からあげDashボタン」の記事

 実は、なかなか運用できていなかったのですが、ようやく7月から運用開始できました。

f:id:karaage:20170701112426j:plain:w640
 からあげDashボタン

 以下は、やかんを沸かすためにtwitterに通知がきている様子です。短期間に2回呼び出されているのは、1回目スマホ不携帯により気づかなかったためです。意味がない…音声とかでも知らせた方がよいのかもしれません。

電波ガーデニング

 からあげDashボタンは、Raspberry Piが家庭菜園の自動で栽培記録する「電波ガーデニング」とも組み合わせています

f:id:karaage:20170701112220j:plain:w640

f:id:karaage:20170701112256j:plain:w640 電源は屋外コンセントから防水の延長コードを使用しています

 「からあげDashボタン」を押すだけで、夫婦ブログに成長の様子が投稿、公開されます。

娘も植物育ててます

 朝、水やりにいくと必ず一緒に手伝ってくれます。

f:id:karaage:20170618190618j:plain:w640 水をやる娘

 家庭菜園を撮影すると、負けじと自分のカメラで撮影する娘。

f:id:karaage:20170617103143j:plain:w640

f:id:karaage:20170617103123j:plain:w640

 娘の成長も楽しみですね

まとめ

 来月も枯れてなかったら報告しようかと思います。来月こそは、大量の収穫報告できるといいな!ちなみに、私は今日誕生日だったりします。もう特に誕生日がめでたい年ではありませんが、まだまだ成長期と思っていますので、娘に負けないようにこれからも成長していきたいと思います。

関連記事

人工知能・機械学習・ディープラーニング関係の雑多なまとめ

$
0
0

f:id:karaage:20170625211117j:plain:w640

人工知能・機械学習・ディープラーニングの概要

 最近話題の、人工知能とかディープラーニングとかの情報を雑にまとめてみることにしました。基本的に仕事ではなく、ほぼ自分の興味で調べたり試したりしているだけですので、あくまで趣味レベルの人がとっかかりだったり参考にすることを想定しています。

 ちなみに人工知能、機械学習、ディープラーニングの関係は、大まかには以下の定義が一般的と私は思っています。 f:id:karaage:20170625211117j:plain:w640

 ここらへんは人によって、「人工知能 = ディープラーニング」だと言ったりする人もいるので注意です。人工知能というものの定義が曖昧なので仕方ないとは思いますが、「自分が得意な分野=人工知能」と言いたがる人が多いのでそこらへんは気をつけておくと良いと思います(主に仕事で騙されたりしないようにするために)。

 そして、最近話題のディープラーニング、何がすごいのかと言うと、自分の理解は以下の通りです。 f:id:karaage:20170625212919j:plain:w640

 昔は、例えば画像認識をするには、職人がタスクに合わせて一つ一つルールを設定していました。それが、機械学習を使うことでデータからコンピュータがデータを判別できるようになったのですが、結局コンピュータが扱いやすいような特徴を抽出するのは、人間がやらないといけないといけなかったのです。特徴抽出というのは、画像でいえば例えばフィルタとなります。ところが、ディープラーニングの登場で、人間はニューラルネットワークの構造を設計してやれば、後は大量のデータを用意するだけで勝手に特徴量の抽出までやってくれるようになったのです。

 ただ、その特徴量の抽出方法は、難しすぎて人間が見ても全く理解できないものになりました。これがディープラーニングがブラックボックスと呼ばれる所以です。めでたしめでたし(?)。というのが現状だと自分は理解しています。

 そんなところで、早速関係情報を列挙していきたいと思います。

まとめ系情報

機械学習の情報を手法を中心にざっくり整理 - Qiita
機械学習関係の情報のまとめ

機械学習の超初心者が、みんなが良いと言う記事を読んでまとめてみた - グローバルエンジニアのグローバルなこと
情報が色々まとまっています

機械学習のお勉強(SVM,ニューラルネット、CNN、FCN,YOLO,SegNet etc ...)~参考まとめ~ - 空飛ぶロボットのつくりかた
リンク集的な記事

理論編

MPRG : 機械知覚&ロボティクスグループ/中部大学
中部大学の資料。まずは概要から知りたいという人向け、入門者用。

Deep Learningと画像認識 ~歴史・理論・実践~
歴史から概要、理論まで。情報量多め。

講義利用スライド - イラストで学ぶ人工知能概論
大学の講義のスライドが無料公開されています。公開しているのは、書籍「イラストで学ぶ人工知能概論」の作者でもあります。凄いボリュームです。

Deep Learning のお勧め教材
Stanford大学の講義資料を激しくオススメしてくれています

深層学習の非常に簡単な説明
スライド。いうほど簡単ではないと思いますが、図解がわかりやすい気がします

20170422 数学カフェ Part1
PFNのエンジニアによるスライド。

教師なし学習の第一歩(クラスタリング)|Pythonで機械学習vol.6|TechClips[テッククリップス]
クラスタリングに関する記事

How to learn Machine Learning from Scratch · arXivTimes/arXivTimes Wiki · GitHub
一から理論を知りたい人向け、ハードコース

最新情報編

Home · arXivTimes/arXivTimes Wiki · GitHub
機械学習関係で、フォローすべきアカウントのまとめ

HELLO CYBERNETICS
機械学習・ディープラーング関係の情報を積極的に発信しているブログ

六本木で働くデータサイエンティストのブログ
ブログタイトル通り、六本木で働いているデータサイエンティストの方のブログで色々参考になる情報多数

Create with AI
人工知能関係の様々な情報や実例などを紹介しているサイト

人工知能に関する断創録
人工知能、認知科学、心理学、ロボティクス、生物学に関する情報を発信しています。これらの分野って実は密接な関係があるのですよね

人工知能ブログ - DeepAge
人工知能関係の情報を発信しているブログ。ちょっとしたコラム的な感じ

機械学習 | POSTD
機械学習関係の情報を発信しているブログ

bohemia日記
ディープラーニングでおそ松くんを見分けたりしている人のブログ

Pythonと機械学習
Pythonと機械学習の情報を発信しているブログ

GitHub - arXivTimes/arXivTimes: repository to research & share the machine learning articles
機械学習関係の最新の論文をすごい勢いで紹介しているサイト(GitHub)

Preferred Research
国産のディープラーニングのフレームワークChainerを作っているPFNのブログ。日本で今ディープラーニングで一番有名な会社(多分)。

実践編

 色々な実践の例など。具体的な応用例を見るとやる気が湧いてきますよね。

ディープラーニングでおそ松さんの六つ子は見分けられるのか? 〜準備編〜 - bohemia日記
Chainerによるディープラーニングでおそ松くんを見分ける例。これは衝撃的でしたね

TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
TensorFlowによるディープラーニングでアイドルの顔識別をする例。有名ですね。

画風を変換するアルゴリズム | Preferred Research
Chainerによるディープラーニングで画風を変換する例。自分も真似してやってみました

Pythonによる機械学習入門 ~SVMからDeep Learningまで~
pythonでSVM、ディープラーニングするためのわりと実践的なスライド

GitHub - leetenki/YOLOv2: YOLOv2のchainerの再現実装です(darknetのchainerローダと、完全なchainer上での訓練コードを含みます)
YOLO2のchainer実装

Ryota Kamoshida, Researcher at hitachi at Hitachi | SlideShare
日立のエンジニアの方のスライド、かなり専門的な内容

【API,サンプルコード,使い方】TensorFlowの参考リンク、記事まとめ - HELLO CYBERNETICS
Tensorflowを始めるとっかかりに。chainerからtensorflowに乗り換えようかと思っている人には最適かも

arXivTimes/datasets at master · arXivTimes/arXivTimes · GitHub
実践するために何はなくとも必要なのはデータ。ネットから入手できるデータセットのまとめ。使用条件などはそれぞれのサイトで確認して下さい

書籍関連

 自分が読んだ書籍を中心にオススメのものや興味深いものを紹介します。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 これは間違い無く良書です。最新のフレームワークのバージョンアップを追い求めることに疲れたら、これを読んでゼロから学び直すことをオススメします。ニューラルネットワークやpythonの基礎からやるので、たとえディープラーニングが廃れても、陳腐化しない10年使える知識がつくのじゃないかなと思います。以下で勉強したことをまとめているのですが、更新は滞っています(一応少しづつまじめに読み進めています)。

Interface(インターフェース) 2017年 08 月号

Interface(インターフェース) 2017年 08 月号

 Interface誌のディープラーニング特集。Raspberry Piで動かしています(学習は別)。個人的には、ゼロから作るディープラーニングの次くらいにオススメ。

Interface(インターフェース) 2016年07月号

Interface(インターフェース) 2016年07月号

 Interface誌人工知能の特集。SVMの説明とか非常に分かりやすかったです。

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

 まだ買っていないのですが、今一番気になっている本。以下のレビューを読んでから気になっています。

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ

Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ

 買おうか迷っている本その2

GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning" book code repository and info resource上記の本はGitHubでコードが公開されているので、これだけみても参考になりそう

AIの遺電子 1 (少年チャンピオン・コミックス)

AIの遺電子 1 (少年チャンピオン・コミックス)

 ちょっと毛色は違いますが、人工知能が発展した未来を描いた漫画。何年後かはわかりませんが、実際こんな未来がくるのじゃないかなと思っています。色々考えるきっかけになる漫画だと思いますので、勉強疲れの合間にでも。

Raspberry Pi編

 Raspberry Piで機械学習やディープラーニングやっている人の情報

Raspberry Pi 深層学習ライブラリで物体認識(Keras with TensorFlow・Open CV) - Qiita

CNN(Convolutional Neural Network) on Raspberry pi - Qiita

自分で実践してみた例など

 自分がブログで色々試したものです。

ディープラーニングの主要なパッケージ(Chainer/Tensorflow)をインストールする方法(Mac/Linux/Raspberry Pi) - karaage. [からあげ]
Macで主要なフレームワークをとりあえず入れてみる方法。今はTensorflow+Kerasが熱そうですが、全然キャッチアップできてないです。クラウドとかも全然使えてないです。

ディープラーニングのフレームワークChainer使ってMac/Raspberry Piで画像認識 - karaage. [からあげ]
ディープラーニングの花形と言える画像認識を試してみた例です

Darknetという人工知能が超簡単で凄いと聞いたので試したら大変なことになった - karaage. [からあげ]
Darknetで遊んでみた例

はてなブログのフォトコンで人工知能を使ってはてなTシャツをゲットするためGUIのディープラーニングツール「CSLAIER」を使ってみた - karaage. [からあげ]
学習をさせてみようと思ってチャレンジしたのですが、完全に失敗しました。全然原因もわからずディープラーニングの深い闇を見た気になりました

人工知能 カテゴリーの記事一覧 - karaage. [からあげ]
その他やってみたこと

まとめ

 一通りまとめてみました。基本的に、浅い理解の自分がまとめてみた情報ですので、ガチの人の厳しいつっこみより、優しい助言や分かりやすい情報などいただけることを期待しています。しばらくは随時情報追加していく予定です。

森博嗣先生のブログが始まりました

$
0
0

f:id:karaage:20170709130938j:plain:w640

森博嗣先生のブログが始まっていました

 好きな作家さんである、森博嗣先生のブログが7/7から始まっていました。

 読み方は「てんしゅのざっぱく」と読むらしいです。雑駁って言葉、初めて知りました。はっきりいって、私のブログより面白いし読む価値があると思うので、今日までこのブログを読んでいた方は、私のブログを読むのをやめて、明日からはこちらのブログを読むことをおすすめします。人生は有限ですからね。

 森先生の過去のブログは、先生のブログにも書いてありますがファンクラブ会員になると読むことができます。膨大な量ですが、こちらも暇を持て余しているなら是非読んだ方がよいと思います。

 実は、私のブログは、森博嗣先生と村上春樹先生の文章をかなり意識して書いているつもりなのですが、誰にも指摘されたことがありません。考えられる可能性は、私が全然意識できていない、読んでいる人が気づいていない、あるいは気づいているけど黙っている、このブログが実は公開されていなかった、くらいでしょうか。最後のは結構ミステリっぽいですね。

じぶん書店で紹介されているRaspberry Piの本

 以下のじぶん書店「森博嗣堂浮遊書店」で書店森先生がお勧めしている本が見られます。

 その中でも注目はRaspberry Piの本。2冊ありますが、2冊とも読んだことのある本でした。森先生がRaspberry Piを使っているのは、一部界隈では有名な話(でもないかな?)ですが、同じ本を読んでいたとは思いませんでした。ちょっと嬉しいです。

 ちなみに、じぶん書店のメリットは、森先生のブログによると

何がメリットかというと、ここで本を買うと、森博嗣にポイントが還元される、という点だけです。

 とのことです。じぶん書店の宣伝のためのブログのはずなのに、ちょっとパンク過ぎですね。

 ちなみに、私が「はてなニュース」に寄稿するとき、記事内に「はてな」をディスる内容が入っていることがあるのですが、必ずカットされています。私もまだまだですね。

関連記事

Google翻訳の精度が高過ぎて、これから英語勉強するのは無駄かもと思った話

$
0
0

会社の研修で急遽通訳をすることに

 最近、会社で日本語が全く出来ない外国人、アンディーさん(仮)と2人で研修受けました。私が海外出張の経験があるということで何故かアンディーさんの英語のサポートをお願いされて仕方なく引き受けたのですが、実際に受講してビックリの状態でした。

  • テキストは全て日本語(事前に英語のテキストは用意されると聞いていたのに)
  • 講師の人は全く英語喋れない(喋ろうともしない)
  • テキスト以外にもスライドを使うけど中身は全て日本語

 仕方ないので、スライドは分かるところだけ簡単な英語に訳してごまかしました。ただ、テキストの方はテストもあるため、英語でメモをとってもらう必要があり、そう簡単にはいきませんでした。

Google翻訳におまかせ

 そんなときの強い味方になってくれたのが、Google翻訳。自動翻訳って使えないイメージあったのですが、最近めちゃめちゃ精度よいですね。パソコンで日本語入力すると、自分が「そうそう、こんな感じに書きたかったんだよね!」という英訳がポンポン出てきます。そんな調子でずっとキーボード打ち続けていたのですが、2時間くらいで腱鞘炎になりそうになったので、たまらずiPhoneの音声認識に切り替えました。そしたら、これがまた精度良くて驚きました。

 誤認識もほとんどなく9割以上は正しそうというのが個人的な感触です。自分が気づいた致命的な翻訳間違いは1つか2つだけでした(advantageがdisadvantageになってるとか)。基本的に、私が訳すより全然早いし正確ですね。発音もいいし(笑)たまに、翻訳の意味が分からないときもあるのですが、よく読むと、そういう文章は、そもそも日本語でもよく意味が分からないものばかりでした。

 ちなみに、最初はテキストをカメラのリアルタイム翻訳を使って読んでもらおうと思ったのですが、文章だと以下のような感じで読むのは辛そうな感じでした

f:id:karaage:20170630001759p:plain:w480
 実際のテキストとは違う本です

 あと、下線が引いてある箇所が全滅なのも辛かったです。下線がなければ多少は使えたかもしれません。

一番難しいのは雑談

 これはよく言われることですが、雑談は難しいです。なかなかGoogle翻訳を使いずらいですし、雑談って共通のバックグラウンドとかカルチャーを持っていないとなかなか出来ないです。でも、これって日本語でも同じだったりするんですよね。私は、日本人とでも雑談とかあんまりできないです。だから実は、英語力とは別の問題なのじゃないかなと思ったりしています。

 むしろ、アンディーさんから「何故日本語はこんなに何種類(漢字とひらがなとカタカナ)があるのか、非合理的ではないのか?」と自国の文化に関して聞かれたときに、語学力以前の問題で答えられなかったことがよくなかったなと思いました。「Culture」と一言で言ってしまえばおしまいなのですが、そこをちゃんと説明して、興味を持ってもらえると本当の意味で国際交流ができたのかもしれません。

今後、英語の勉強は必要なのだろうか?

 今回思ったのは、英語の勉強を頑張るのはちょっと勿体ないかもなということです。長いこと実用的な翻訳機ってできていない(自分が知る限り)ので、何かで読んだ「英語の翻訳機はこれこれこういう理由でできない!」という文章で「ふむふむ、そんなものか。英語の勉強は重要だね」とずっと思っていたのですが、かなり良い感じに翻訳できてしまう実力を目の当たりしてしまうと、すっかり考え方変わってしまいました。あと5年くらいで、十分実用的なウェアラブルな超小型のマイクとスピーカのついた翻訳機がバンバン出てくるような気がしなくもないです。

 そう考えると、英語とか別に勉強しなくてもよいかなと思いました。少なくとも自分は。子供の教育は…ちょっと悩ましいところですね。

まとめ

 珍しくとりとめもなく思ったことを書いてみました。一応言っておくと、英語学習を否定しているわけではないです。もし英語の学習が好きならどんどんやるべきと思います。好きで一生懸命やれば、英語力以外にも身につくものは色々あると思います。ただ、仕事で使えればよいのだったら、大半の人はGoogle翻訳でよいかもねという話です。実際、アンディーさん研修のテストも合格してましたし(笑)。ある意味、将棋や囲碁も一緒ですよね、勝ちたいだけなら今はAIを使った方がよいわけです。じゃあ将棋や囲碁を人間がやる意味がないかというと、そうでもない(と考えている人は多くいる)。

 Google翻訳の間違いを気にする人もいるかもしれませんけど、そもそも日本人同士が日本語で話したって、伝わるのは半分くらいというのが自分の主観なので、Google翻訳が多少間違えても誤差の範囲内なのじゃないかなと個人的には思ったりします。何が言いたいかというと、これから外国語で困ってもgoogle翻訳があればなんとかなるかもしれないので、試しに使ってみるとよいかもよという話でした。機会があれば、スペイン語やドイツ語で試してみたいな。

猫好きの妻が買い漁っているかわいい猫ちゃんの本・ブログ・Instagramを紹介

$
0
0

f:id:karaage:20170622215134j:plain:w640

妻が猫の本ばかりを買い漁っています

 私の妻は、昔猫を飼っていたくらい猫好きです。つまり普通の猫好きです。そんな妻がオススメの猫ちゃんの本を紹介します。

まる

 妻がよく教えてくれるのが、「まる」という猫の動画。段ボールに滑り込むこの動画は確かに可愛いです!

 ブログもあります。たまにみると癒されますね。

私信 まるです。

私信 まるです。

私信 まるです。

岩合 光昭さん

 妻が好きな動物写真家。よく猫の写真を撮っている方です。Olympusのカメラを使っているので、私も知っていました。以前写真展を妻と一緒に観に行きました。

 猫ちゃん写真は可愛いですよね。プロの写真家なので、写真のクオリティは当然ピカ一です。

ネコライオン

ネコライオン

なごむときなこ

  なごむときなこというコンビ(?)の猫ちゃんで、Instagramで話題のようです。妻は、なごむくんが水をかけ流す仕草が大好きらしいです。たしかに可愛い。

なごむときなこの きなごむ日記

なごむときなこの きなごむ日記

ねこ、かぶり

 猫の抜け毛で作った帽子を猫に被せた写真をInstagramに投稿しているご夫婦。

 なかなかのアイディアですね。猫ちゃんも可愛いし、帽子もユーモラスなものが多く、とても面白いです。妻曰く、最近一番のヒットらしいです。

ねこ、かぶり 抜け毛帽子でおめかしコレクション

ねこ、かぶり 抜け毛帽子でおめかしコレクション

サーバルちゃん

 最後は私からの紹介です。はてなブログつながりの、大樹 (id:hirohiroslope)さんが、捨て猫を保護したのですが、あまりの可愛さについに専用ブログを始めてしまいました(笑)

 大樹さんは、動画のプロなので子猫の動画は最高にかわいらしい瞬間を捉えた素敵な仕上がりです。

 個人的に今一番更新が楽しみな猫ちゃんブログです。

まとめ

 いつもと毛色を変えて猫ちゃん特集をしてみました、猫だけに。妻はいつかまた猫を飼いたいなと言っています。ちなみに、私が一番好きな猫は…ドラえもんかな(笑)

Viewing all 1425 articles
Browse latest View live