らずらいと姫の挑戦日記(第38回)~920J用ボタン基板を動かす~
2017-05-17
スイッチサイエンスさんから、Lazurite 920Jに対応したシールドが3種類発売されました!!
Swich Sienceさんの購入サイトはこちらからどうぞ。
ラインナップは
- ボタンだけのシンプルなボタン基板
- 温度・湿度・気圧・明るさなどの環境情報が測定できる環境センサ基板
- ホールセンサー(磁石を使ったスイッチ)と近接センサー(赤外光を出して障害物を検出すセンサー)を搭載した磁気センサ基板
です。
非常に小さくて、Lazurite 920Jを直に付ければ既成のケースにも収まってしまうという優れもの。ソフトウエアも消費電力にこだわって作ってあります!!しばらくは、このシールドを使用しながら簡単なモニタリングシステムを作っていきたいと思います。
まずは、ボタン基板を使用して、Raspberry Piで動作しているnode-red上にボタンの状態(Pressed/Released)といったスイッチの状態が見えるシステムを開発してみたいと思います。
始める前の注意事項
今回は2017/5/15に公開した新しいLazuriteのソフトウエアを使用しています。このソフトウエアは旧版と互換性がないのでRaspberry Pi側のソフトウエアも新しいのを再インストールしています。
Lazuriteの設定
1.機器の接続をします。
①のボタン基板と②のLazurite920Jをセットします。
③のLazurite mini writer と④のケーブルを接続します。この時、ケーブルの赤線側がwriterの1,2側にくるように接続します。
①の基板と④のケーブルも接続します。この時、ケーブルの赤線側が基板の▼マークにくるように接続します。
ケーブルの向きに気を付けて、接続して下さい。
2.Lazurite IDEを立ち上げます。
①ファイル→②プロジェクトのサンプル→③07.SwitchSience→④ButtonShield_subghz
の順に選択します。
①ツール→②マイコンボードと③オプションはLAZURITE miniを選択。④シリアル通信でcomポートを選択します。
この時、『サンプルプログラムを編集すると正常に動作しなくなる恐れがあります。編集を実行しますか?』という警告が出ますが、気にせず『OK』ですすみます。
3.サンプルプログラムの無線の設定を確認します。
①SUBGHZ_HOST_ADDRに受信機側(Raspberry Pi側)のアドレスを入力し、②マイコンボードへ転送をクリックします。
これで、Lazuriteの設定は終了です。次にRaspberry Piの設定です。
Raspberry Piの設定
1.古いLazuriteのソフトを消します。
以下のコマンドを入力後、enterをクリックします。
[bash]
sudo rm -r ~/driver
[/bash]
2.新しいLazuiteのソフトをインストールします。
以下のコマンド①、②を入力後、enterをクリックします。
①LazuriteInstallerが既にある人はこちら
[bash]
cd ~LazuriteInstaller/
./install.sh
[/bash]
② 初めてRaspberry PiでLazurite Pi Gatewayをご使用になる方は、こちらを見ながらセットアップを行ってください。
3.Lazurite用のNode-RED用のライブラリと、次の環境センサシールドで使う予定のグラフツール node-red-dashboardをインストールします。
以下のコマンドを入力後、enterをクリックします。
① Node-REDのライブラリをインストールするフォルダに移動します。
cd ~/.node-red
<補足>
.node-redのフォルダが無い場合は、一度Node-REDを起動してください。
コンソール画面上で “node-red”とコマンド入力すると起動しますので、約1分くらい待つと起動が完了します。その後、CTRL+Cボタンを押してNode-REDを終了すると、「~/.node-red」のフォルダが作られています。
Raspberry PiのメニューからNode-REDを起動すると、コンソール画面上でCTRL+Cボタンを押してもバックグラウンドで処理が残っていますので注意してください。その時には、コンソール画面上で”node-red-stop”のコマンドを入力するとバックグラウンドの処理が停止になります。
②Lazurite用のNode-REDライブラリ node-red-contrib-lazuriteと、グラフ表示用のnode-red-dashboardをインストールします。
[bash]
npm install node-red-contrib-lazurite
npm install node-red-dashboard
[/bash]
インストールした時の様子はこちらです。
いま、インストールしたライブラリは「~/.node-red/node_modules/」にインストールされています。
4.インストールが完了したらnode-redを立ち上げます。
以下のコマンドを入力後、enterをクリックします。
[bash]
node-red
[/bash]
5.node-redの設定をします。
画面左側から、①Lazurite Rxと、②debugをそれぞれドラッグして配置します。
Lazurite RXをダブルクリックで開き、③鉛筆アイコンをクリックして、④の受信機側の無線の設定をします。送信機側の情報を入力して、⑤Addをクリックします。
⑥のIntervalを任意に設定し、⑦のDoneをクリックします。
⑧のDeployをクリックすると、無線がつながります。
基板のボタンを押すと、⑨のdebugに『Pressed』『Released』と表示されて、動作確認出来ました!!最新版のサンプルプログラムでは、送信している「ボタンのON/OFF ,電源電圧」に変更になりました。ON時は数字の1、OFF時は0が入ります。
ボタン基板は上手く動いてくれて、node-redで表示させる事が出来ました♪
インターネット上のアプリケーションと組み合わせれば、今話題のボタンみたいなことも実現できますね。次は、環境シールドにチャレンジしたいと思います。