オムロン絶対圧センサ2SMPB-02Eを使ってみた

はじめに

2月8日(金)にGroveコネクタ付きオムロンセンサとラズパイハンズオン (isaax勉強会#25)に参加しました。isaaxUGには初参加です。
これまでobnizを使ったIoTは経験がありましたが、Raspberry Piを使ったIoTは経験がなかったので、ちょうどいい機会だと思い、引き出しの奥で眠っていたRaspberry Pi持参で参加しました。
オムロン様のご厚意で、ブログの執筆を条件に絶対圧センサをいただいてきたので、この記事では家での復習(ハンズオンの再現)を中心に記載します。

ハンズオンの内容

ハンズオンの内容はこちらの資料に記載されています。
わかりやすい資料で、困ることなくハンズオンを進められました。(やったのは課題2まで)

家での復習(ハンズオンの再現)

ハンズオンの際は以下2点が特殊でした。

  1. GrovePi+をレンタルしていただき利用した
  2. ハンズオン向けSDカードをレンタルしていただき利用した

そこでまずはハンズオンと同じ環境を準備しました。
1のGrovePi+については、必要性がいまいち理解できていないのですが、必要ないと判断できるほど知識がないので、素直に買いました。秋月電子で3100円でした。
2のSDカードについては、ハンズオン資料のここを参照して、GrovePi+向けの設定をしました。
これで設定完了かと思い確認コマンドを打ったところ、期待する結果が得られませんでした。

pi@raspberrypi:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@raspberrypi:~

ハンズオン資料では00の4のところに04が出力されるとありますが、--になっています。
そこでこちらを参照しGrovePi+の初期化コマンドを打ったところ、期待する結果が得られました。
なお期待する結果が得られなかった時はGrovePi+のRSTライトが赤く光っており、初期化コマンドを打って期待する結果が得られた時にはRSTライトが消えたので、このライトを目印に正常性確認をすれば良いように思いました。

pi@raspberrypi:~ $ avrdude -c gpio -p m328p

avrdude: AVR device initialized and ready to accept instructions

Reading |                                                    | 0% 0.00
Reading | #################                                  | 33% 0.0
Reading | #################################                  | 66% 0.0
Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

pi@raspberrypi:~ $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- 56 -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@raspberrypi:~

この後は特につまづくことなく、ハンズオンの内容を再現できました。

f:id:sonomirai:20190212235404p:plain
センサを指で押さえた時の温度変化

isaaxのダッシュボードのログを見て、curlで叩いてセンサの出力を取得することもできそうと思ってやったところ、すんなりできました。

$ curl 192.168.11.2:5000/sensor
{
  "pressure": 1023.78, 
  "temperature": 14.12
}

上記はローカルIPなので、エンドポイントを叩いてセンサの出力を取得できるか調べたところ、ビジネスプランに登録する必要とこちらに記載されていました。なるほど。

今後やりたいこと

スマートスピーカーと連携して、音声で部屋の温度を出力できるよう設定したいと考えています。 そのためにはエンドポイントの設定が必要ですが、下記の通りいくつか設定方法があると思っているので、どれか選んで実装したいと思います。
(とはいえよくわかっていないので、理解に誤りがあればご教示願いたいです。。。)

  1. isaaxのビジネスプランに登録する
  2. ハンズオン資料の課題3に記載の通り、Ambientとisaax環境変数サービスを利用する
  3. AWS IoTを使う

ハンズオン資料には2のAmbientとの連携が記載されていたので、まずはそこから試してみようと思います。

おわりに

ハンズオンを主催してくださったisaaxUGの皆さま、オムロンの皆さま、このようなハンズオンの機会を設けて下さり、誠にありがとうございました。
ハンズオン後の懇親会でも、参加者の皆さまとIoTについて色々お話しさせていただき、大変有意義な時間を過ごせました。