2/19(火)のCIoTLTにてダンボール金庫ということで
Node-RED(enebular)とObnizを使った話をした。
その中でOmronの絶対圧センサ(2SMPB-02E)をオマケとして使って
いたのだけど、その反響が思いの外大きかったので展開しようと思う。
##[目的]
- 絶対圧センサ(2SMPB-02E)をObniz&Node-REDから使用できるようにする。
##[前準備]
-
Obnizと絶対圧センサ(2SMPB-02E,https://www.switch-science.com/catalog/5329/ )を用意する。
-
enebular( https://www.enebular.com/ja/index.html )のアカウントを取得する。
-
Obnizと絶対圧センサを結線する。結線先のピンは以下の通り
Obniz | 絶対圧センサ |
---|---|
3 | SDA |
4 | SCL |
5 | GND |
6 | VCC |
##[方法]
まず、下記のリンクからSmart Websocket Clientをインストールする。
(要Google Chrome)
https://chrome.google.com/webstore/detail/smart-websocket-client/omalebghpgejjiaoknljcfmglgbpocdp
インストールしたら、ブラウザー右端にできたアイコンをクリックする。
すると、Smart Websocket Clientが起動する。
その後、Obniz Websocket APIの
Websocket APIのwssのURLを自分のObnizで置き換え、Smart Websocket Client
のフォームに入れる。入れたあとにConnectをクリックすると、下の写真のように
redirectが返ってくる。
その後、URLの一部をredirectのものに置き換えて再度Smart Websocket Client
のフォームに入れると、ready trueが返ってくる。
このときのリンクをメモ帳などにコピーしておく(後で使います)。
次に、enebularにログインして、任意のflowのエディタ画面を起動する。
手順としては本家docsのイントロダクションが参考になるかも。
なんにもない、まっさらな状態のflowが望ましい。
flowのエディタ画面に写ったら、以下githubリンクのjsonを全てコピーする。
https://github.com/henjin0/ConnectObnizAnd2SMPB-02E/blob/master/ObnizAnd2SMPB02W_NodeRed.json
コピーできたら、メニュー→読み込み→クリップボードを選択する。
出てきたウィンドウのテキストエリアに先程のjsonをコピーして、読み込みを
クリックする。
すると、エディタ画面のどこに読み込んだフローを置くか決められるので
任意の場所を選択する。
適当な場所においたら、sendブロックをダブルクリックして、パス横の鉛筆マークをクリックする。
Smart Websocket Clientでready trueを得たときのURLを
入力し、更新をクリック。この操作をreceiveブロックにも同様に行う。
最後に、デプロイをクリックしてデバッグウィンドウをみると2秒間隔で結果が反映される。
最初にNaNと出るかもしれないが、しばらくすると現在の温度が反映される。
もしでなければ、適当にブロックの位置を動かして再度デプロイするとうまくいくかもしれない。
また、send/receiveブロックがdisconnectであれば、WebSocketサーバの先が
合致していない(変わってしまった)ということもあるため、注意すること。
##[感想]
仕様書の計算は結構苦労したけども、issaxのハンズオンセミナーで使用したプログラムを参考にしてみたら結構うまくできた。先人の知恵が大事なのだとしみじみ