この記事は「Houwa System Design Advent Calendar 2018」の7日目の記事です。
皆様こんにちは、開発部の増田(仮)です。
今回は通信技術のBLEというお話ではなく、通信に乗せるデータを取得するセンサのお話です。
いわゆるBeaconを使った「そこに居る」という情報だけでも色々な使い道がありますが、情報を取得する元となるモノにセンサを取り付け、色々な情報を取得しそれを発信・収集することで活用の幅に色々な広がりが生まれます。
例えば、機械に加速度センサを取り付け振動のデータを取得し解析することで、「稼働状況を把握する」・「故障の予兆を捉える」といった使い方もあるでしょう。
それらの情報をBLEで発信・収集する、弊社でもそのような案件事例は複数ございます。
いきなりセンサが飛び出してきて(*「・ω・)?という方もいらっしゃるかとは思いますが、お付き合いのほどよろしくお願いいたします。
さて、前置きがちょっと長くなりましたが、ここからが本題。
文章もブログらしく、かしこまらないゆるい感じでいきたいと思います。
今回調査を行ったDPS310という気圧センサは、Infineon Technologies社の製品で、精度は「Relative accuracy +/-1Pa」「Absolute accuracy +/-1hPa」つまり気圧の変化量については誤差+/-1Pa、ピンポイントでの現在の気圧については誤差+/-1hPaというセンサですね。
今回とりあえずこのセンサを調査対象とした理由ですが
- 安い
- マルツで売ってる!!
- 評価ボードが有る!!!
この三点です。
ではごちゃごちゃいうのはこの辺までとして、早速開封の儀といきましょう。
箱はこんな感じですね、写真に写っていますが今回利用したのは、S2GO PRESSURE DPS310という評価ボードです。
さて、どんどん剥いて行きましょう、結構ごつくプチプチで包まれていました。
で、プチプチを剥きますと静電気防止の袋に入って
最後に箱に入って
これが評価ボードですね
ヘッダピンもついてきていましたが、なんかよく分からない形状をしていたので、今回は普通のヘッダピンを半田付けします。
半田付けしやすいようにブレッドボードに刺して
物を乗せて
半田付け完了です
そうしましたら今回母艦にするRaspberry Pi Zeroをブレッドボードに刺しまして
ジャンプワイヤで配線します。配線は特に難しいことはなくRaspberry Piの3.3Vから評価ボードの3V3へ、GNDからGNDへ、SDAからSDAへ、SCLからSCLへと繋ぐだけです。
Raspberry Piにはプルアップ抵抗が実装済みで、この評価ボードはArduino向けなので、評価ボードにもプルアップ抵抗が実装されていますが、まぁ気にしなくて良いでしょう。
で、母艦のRaspberry Piを刺しまして
電源を入れたら・・・・なんか光りました
今回はI2C接続でセンサのデータを取得するため、Raspberry PiでI2C接続ができるように設定する必要がありますが、そちらの設定については数多の先人の方々がブログ等でまとめてくださっていますので今回は省略します。
で、今回はとりあえずセンサからデータが取得できればいいですので、簡単にPythonでコードを書きますが、PythonでI2Cを使えるようにするモジュールを導入する必要があります。それについても数多の先人の方々がブログ等でまとめてくださっていますので今回は省略します・・・が、一点ハマったところだけ追記しますと・・・今回Python3をつかいますので、Python3用のモジュールを導入する必要があります(ミスに気づくまでに10分くらい首をかしげました)
と、今日はここまで。
明日は実際にセンサーデータを取得していきたいと思います。
高精度気圧センサDPS310の実力を試してみた 【後編】