2015年12月29日火曜日

Raspberry Pi 2 + BOSCH BME280で気圧温湿度を記録してみました

夏頃に念願のRaspberry Piを購入しました。


Raspberry Pi 2を買ってみましたの記事で書いた奴です。
あれからどうしてるか?というと、イントラネットで使うシステムを色々作りこんで使っていました。

Raspberry Piの本来の用途は教育用コンピュータで、イギリスのラズベリーパイ財団という所が設計開発しています。


本体は基盤むき出しの1ボードマイコンになっていて、パソコンで見慣れたコネクタ類の他に3つほど見慣れないモノが基板上にあります。
基板上の白い2つの端子がディスプレイ端子とカメラ端子になっていて、対応液晶画面(タッチパネル付含む)やカメラをフィルムケーブルで接続すると使えます。

今回は残りのもう1つ、40ピンヘッダのGPIO端子を使った事をやりたいと思います。

このGPIO端子は色々な事が出来るのですが、今回はその中の1つであるI2Cを使ってBOSCH BME280を接続。そして、そのセンサーから気圧・温度・湿度を読み込んで記録したいと思います。

色々販売されている中から選んだモジュール基盤はコレ。



これを選んだ理由は

  • I2Cに特化しているため余計なピンがなくコンパクト
  • 5V対応で万が一過電圧になっても壊れにくい
  • 基盤に固定するための穴がある

製品名にはArduino用となっていますがRaspberry Piでも問題なく使えます。


Amazonから発注したところ発送元は中国で、書留の国際郵便で10日ほどで届きました。
写真の通り、モジュール基盤1枚とヘッダーピン4本が付いています。
これだけだとRaspberry Piに接続できないので、マルツ秋葉原2号店にて必要なモノも買ってきました。


ジャンパワイヤ メス-メス 20cm と ライトアングルピンヘッダ 20ピン

ジャンパワイヤは、Raspberry PiとBME280モジュールのピンヘッダをつなぐためのケーブルです。
ライトアングルピンヘッダは、L字に曲がったピンヘッダ。付属のピンヘッダだと基盤に対して垂直に挿さないとならなく使い勝手が悪かったのと、これ自体は数十円程度とあまり高いモノではなかったためこちらを使う事にしました。


ライトアングルピンヘッダをモジュール基板にハンダ付けするとこんな感じになります。
太い白線間が1cm(破線で5mm)。ピンヘッダは2.54mmピッチ。
いかに小さいかがわかるかと思います。


Raspberry Piとモジュール基盤をジャンパワイヤでつなぎます。
Raspberry Pi側のGPIOは1 3.3V、3 SDA、5 SCL、6 GNDの4本を使います。
これをモジュール基板側のVIN(3.3V)、GND、SCL、SDAの4本と対になるよう間違えないようにつなぎます。
カマボコ板に養生テープで止めているのは、モジュール基板が軽すぎてジャンパワイヤに振り回され取り回ししずらかったので仮止めしました。

ハードウェアの準備はコレで終わり。
次はソフトウェアの準備です。
Raspberry PiのOSはRASPBIAN JESSIE(Ver.4.1)を使っています。今回はコレを前提に書きます。
まず、I2Cを有効にします。やり方はコマンドラインから
$ sudo raspi-config
と打ち、メニュー画面から「8 Advanced Options」→「A7 I2C」→「はい」→「はい」と選び有効にします。
そして下記コマンドで再起動します。
$ sudo reboot
次にi2c-toolsをインストールします。
$ sudo apt-get install i2c-tools
インストールが終わったら、BME280がちゃんと接続されているか確認するためコマンドを打ちます。
$ i2cdetect -y 1


こんな感じで76と表示されていればOKです。
I2CにはアドレスというのがありBOSCH BME280は0x76か0x77が選択できます。
DIYmall BME280は0x76になるように設計されているためコレで正解です。
なお、このアドレスは後で使うツールの設定に必要なので覚えておいてください。

次にセンサーから数字を読み取るプログラムをインストールします。
今回はスイッチサイエンス様がGitHubで公開されてるPythonのモノを使います。
GitHubからプログラムをダウンロードします。
$ wget https://raw.githubusercontent.com/SWITCHSCIENCE/BME280/master/Python27/bme280_sample.py
そしたら、実行!
$ python bme280_sample.py

こんな感じで表示されれば成功です。

ところで、このままだと見たい時に毎回このコマンドを叩かないとなりません。
そこで、うちではこんな感じで見られるようにしています。


cronで1時間毎にデータベースに記録し、同時にgnuplotでグラフを作成。
それをWeb APIで取得出来るようにし、Java Scriptで表示させています。

BOSCH BME280で取得した数字をこのように見るだけでも良いのですが、さらに踏み込んでこれをトリガーに色々な活用方法が考えられます。
俗に言うIoTという奴です。

購入してから半年でやっとそれらしい事を始めたのですが、11月にはRaspberry Pi Zeroが$5という破格の値段で発売されました。
日本ではまだ発売されておらず、また1ヶ月経った現在でも本国のイギリスでは品薄が続き入手困難のようです。
日本で買える日はいつになることやら・・・欲しい!

2015年12月17日木曜日

私にとっての2015年は快挙の年になりそう

今年も残す所あと2週間となりました。
そんな12月師走の月も、いつもと変わらずせっせと筋トレ・ランニング・水泳の日々




そんな2015年をここ数日振り返ると、色々な事があった年だなぁと実感します。

さて、1年を振り返る時ってたいていは起きた出来事について振り返ると思います。
あんな事、こんな事、いろいろあったねぇと。
私もそういう振り返り方をしていたのですが、ふと逆の事を考えました。
例年ならあったはずの出来事が今年は無かったというモノを考えてみたんです。
そしたらスゴイ事実に気が付きました。


1年間病院に1度も行ってない


それが当たり前なのかもしれませんが、私にとっては当たり前では無かったりします。

2歳の頃に発覚した小児喘息のおかげで、毎年必ず通院していました。
普通の人なら市販薬を飲んで寝ていれば治る風邪も、喘息患者がかかると発作を併発します。
発作の度合いは患者にもよりますが、私の場合は気道閉塞による呼吸困難となり最悪窒息死。そのため、風邪を引くと必ず病院へ行き処方箋が必要な喘息の症状緩和薬をセットで処方してもらいます。
また、なんでもない日常生活でもアレルゲンや運動・気候変化やストレスでも発作が起こるため、常に緩和薬を持ち歩き、無くなりそうになったら通院して処方してもらうという日々。
ですから、1年間病院に行かないなんて事は今までありませんでした。

前回病院へ行った記憶があるのは2014年2月頃。減量を始めたのが2014年4月下旬からなのでその前の話です。

喘息持ちの方がこのブログをお読みになった時、多分どうやって改善したか?というのを知りたいと思います。
私が思うに、やはり減量した事が大きいように考えています。また、もう1つ可能性として考えているのが内臓脂肪の低下。減量前は皮下脂肪同様にヒドイ数字だったのですが、現在は標準体型の人よりも低いぐらいです。

喘息以外でも病院にかかる可能性は、今後歳を重ねるごとに増すでしょう。
病院に行かずに済む年が1年でも増える事を切に願いつつ、2015年残り2週間を事なきを得て過ごしたいモノです。

2015年12月5日土曜日

ランニング月間走行距離300km達成!

ランニングをはじめてから1年と1ヶ月目。ちょうど11月7日に満1周年を迎えたばかりです。

そんな2年目突入の初月、特に目標を決めていたわけではないのですが、1つの出来事があったのでブログを書いてみました。


月間走行距離300km達成\(^o^)/

グラフはランニングを始めてから記録してるRuntasticの統計データのグラフです。
こうして見ると、1年間は特に際立って走行距離が伸びた月というのはありませんでした。
途中5月付近から少し増えているのは、それまで隔日で走っていたのを連日走るようになったから。そして、その連日でも隔日10kmまで伸ばしていたものを連日5kmに短縮したため、ランニングしてる日数は単純に倍になっているにも関わらず月間走行距離は倍になっていませんでした。

それが1周年を目前とした10月頃から右肩上がりになりはじめた理由はこんな感じ

1)暑い夏が終わり走りやすい気温の季節になった
2)2016年5月開催予定の第28回春日部大凧マラソン大会でハーフ部門に出る目標をたてた

これが理由で、連日の走る距離をそれまでの5km目安から少しずつ増やしていきました。
そして、11月の300km達成となったわけです。


ところで、ランニングを開始した2014年11月の月間走行距離を調べてみた所42.3kmでした。


また、翌月2014年12月の月間走行距離はもっと低い22.98kmでした。

これの原因については「祝ランニング1周年」のブログ記事をお読み下さい。
重大事があった事、隔日ランニングが習慣化してなかったこと、天候の悪い日は走っていなかった事。それらの結果です。

ところで、さり気なく春日部大凧マラソン大会 ハーフ部門出場なんて目標をシラッと書きました。
2016年5月開催予定の第28回大会はエントリーがまだ始まってなくて、告知はまだ出ていないようですが例年通りなら2016年1月に始まります。
出るからには完走したいし、エントリー前に出来る自信を持ちたくて、300km達成した数日後に20km走りました。
何の準備もなくその日の思いつきと予定が無かったというだけで走ったため、途中給水や休憩もはさんでのランニングでしたが、なんとか走り切ることが出来ました。

このハーフ部門出場は1つの区切りに過ぎず、次なる目標もたててます。それは、


さいたま国際マラソン 一般部門(フルマラソン)出場

写真のリストバンドは2015年11月15日(日)に開催された第1回大会のオフィシャルグッズです。


色々あったのですが、普段ランニングをしていて1年中身に付けるモノで、しかも目標にした大会のロゴ入り。そして第1回大会という記念大会という事で、ちょっと高いなぁと思いながらも購入しました。ロゴは刺繍なので妥当な価格といえば妥当なのかもしれません。

このさいたま国際マラソン、2014年までは横浜国際女子マラソンとして開催されていた大会を引き継ぐ形で開催されました。
また、この大会はさいたまシティマラソンという市民マラソン大会として実施されてきたもので、メイン部門がハーフマラソンでした。それをフルマラソン化したい希望もあり実現した大会でした。
事前報道では、第1回大会はオリンピック選考部門がメインとなる小規模実施とあり、実際にも一般部門はサブ4(フルマラソン4時間以内に完走)の部門と、3km・1.5kmの各部門のみでした。
まだ第2回大会のアナウンスはありませんが、出来ることなら東京マラソンの制限時間7時間と同等の設定にして市民マラソン大会としての門戸の開いた大会にしてほしいと熱望しています。
なお、第1回大会の一般(サブ4)の部の完走率は64.86%(男性73.57%女性56.16%)だったそうです。
さいたまシティマラソンからの引き継ぎ大会であることを考えれば、第1回大会を走りたいというそれまでハーフマラソンを走ってきた選手の想いが強かったのでしょう。また、それまでの大会のハーフ部門の時間制限は2時間40分だったようで、それより厳しい4時間制限ですからサブ4.5・サブ5ランナークラスの人たちが参加していたとすると完走率は妥当な数字なのかもしれません。
さいたま国際マラソンの一般(サブ4)の部のエントリー費用は10,800円と、東京マラソンと同額。

ホノルルマラソンの時間制限なし(実質9時間)とまでは言わないですが、せめて東京マラソンの制限時間7時間と同等、それも厳しいならボストンマラソンの制限時間6時間で開催していただけないか?と思います。
じゃないと、おそらく完走無理なので・・・

ハーフマラソンならなんとか2時間前後で走りきれそうな自信はあります。
しかし、フルマラソンというとまだ走り切った実績がありません。
過去に40km近いコースを走った事がありましたが、なんとか走り切ったのは30km超えた付近まで。それから完全に足が動かなくなり歩いて帰宅するのが精一杯でした。
それが2015年3月25日の話で、当時は隔日10kmで走っていた頃。
あれから8ヶ月経っていて、連日10km越えて走っていますから単純に倍以上走れる計算です。
だから、フルマラソンも走りきれそうな気はしています。

第2回さいたま国際マラソンの実施要項がどうなるのか。そして、サブ4のククリは緩和されるか。
それ以前に私はフルマラソン走れるようになっているのか?

さいたま国際マラソンのエントリー期間が5月下旬から6月下旬。東京マラソンが8月1日からになります。
それまでには、自分の能力を見極めたいですね。


それにしても、元々走る事が趣味でもなんでもなく、減量のためのトレーニングの延長線で始めたランニング。
今でも減量のための食事制限と筋トレは続けていて、そのオマケとして週1の水泳と連日のランニング。
マラソン大会出場はさらにその延長線上にあるオマケのオマケ。

時々、自分がわからなくなります。