オブジェクトとしてアクセスします。リプライデータを受信します。コールしてインメモリデータベースの集計計算を実行します。動作の詳細はスクリプト中のコメントをご覧ください。ライブラリのシリーズデータに指定してグラフを描画します。アプリを動作させてセンサデータのグラフを表示してみます。アプリ認証用のユーザーを登録します。ユーザアカウントとは全く関連はありません。アクセス用のユーザーは好きなだけ登録することができます。コマンドを使用します。アプリを動作させることができますので、早速起動してみます。ブラウザを使用しています。Safariブラウザでも問題なく動作します。ブラウザからアクセスしても動作します。アクセス用のユーザー名とパスワードでログインします。内のインメモリデータベースに保存されている全てのキー一覧が表示されます。ここでグラフを表示したいデータが格納されているキーを選択してください。複数のキーを選択することもできます。気圧と気温などを同じグラフに描画すると意味のないグラフになりますのでキー選択時はデータ種別を考慮してください。“集計パラメータボタン”を押すと下記の画面に変わります。ここでは集計計算をするときの細かいパラメータを指定できます。必要に応じて開始日付や時刻、集計間隔を自由に変更することもできます。ボタンを押して空にするか、適切な負値の最低値を指定します。“グラフ作成”ボタンを押すと、グラフが表示されます。ボタンを押してグラフ表示を最適化できます。集計パラメータ選択画面やキー選択画面にボタンで戻ることもできます。この例では環境センサ基板上のBME280センサと外付けしたTMP102センサの1週間の変化をグラフにしてみました。データの傾向は同じなのですが環境センサ基板上の温度は数度高めになるのがよく判ります。ブラウザからアクセスしている場合には、マウスでプロット画面をドラッグで囲むことでズーム表示を行えます。タブレットからアクセスしている場合にはズームは利用できません。この時は集計パラメータ設定画面中のスケール最小値の入力欄を空にすることで、縦軸側のスケールが自動調整されて見やすくなります。インストールキットに同梱されていますので直ぐに使用することができます。接続したセンサがある場合には簡単にローカルだけでグラフ表示できますので是非試して下さい。したデータを保存することで、ゲートウエイやエッジデバイス側で簡単にデータの確認できます。インターネットに接続できない環境でもグラフ表示できます。版が動作するハードウエアでは物理メモリを多く搭載することができる場合が多いので、インメモリデータベースの保存期間をかなり長くすることが可能です。パワーに余裕があるので安定して運用できます。ご意見や質問がありましたら、お気軽にメールをお寄せください(contact@allbluesystem.com)それではまた。温度や湿度、気圧などを測定して表示するアプリケーションを紹介したいと思います。ハードウエアは市販のボードを使用しますので簡単に作成することができます。動作させている様子です。測定値を取得することができます。接続して最新の測定値をリアルタイムに表示することができます。今回作成したアプリケーションはグラフィックLCDに温度や湿度、気圧をリアルタイムに表示します。切り替えることができます。グラフィックLCDモジュール)だけで動作しますので簡単に作成することができます、是非お試しください。今回のアプリケーションを動作させるために必要な機材は以下になります。インターフェイスで接続されています。プログラムを使用します。用のバイナリアーカイブをダウンロードできます。個人目的であればフリー版ライセンスが同梱されていますので、期間の制限なく直ぐに使用するこができます。今回紹介するスクリプトもインストールキットに最初から含まれていますので、一部コメントを削除するだけで簡単にセットアップできます。最新バージョンをインストールしておきます。使用する場合にはこれらの作業は必要ありませんので省略できます。インストールキットをダウンロードしてください。用のものを選択してください。ユーザーマニュアルもダウンロードしておくと便利です。ログインして、ダウンロードしたインストールキットファイルをホームディレクトリに配置します。ディレクトリの下にインストールします。起動させた状態でアプリケーションを構築してしていくのですが、今回は既にセンサ情報表示プログラムのスクリプトが作成済みですので、それらの自動起動設定を先に行います。スクリプトが自動で一度だけ実行されて、このスクリプト中にハードウエアやアプリケーションの初期化を作業を記述することができるようになっています。ポートの初期化を記述します。スクリプト中には既に環境センサ基盤用の初期化がコメントとして記述されています。ここではこのコメントを外して環境センサ基板の設定を有効にするだけです。エディタで編集します。スクリプトファイルの最後の部分に記述されている環境センサ基板用の設定部分のコメントを外して有効にします。囲まれた複数行をコメントにすることができます。削除して環境センサ基板の設定全体を有効にしてください。コメントを外して、設定を有効にした部分は以下の様になります。ポートを入力モードにしています。スイッチサイエンス社のホームページではこの基板の回路図が公開されていますので参照します。ポートを出力に設定します。消灯状態にするために初期値を設定します。出力時に点灯する仕様なのでそのように初期設定します。スクリプトを起動します。このスクリプトは起動後、無限ループに入ってセンサ値取得とLCD表示を繰り返します。ライブラリ関数を使用しています。このスクリプトについての詳しい説明は後述します。挿入してコメントアウトしても構いません。ブローカ経由で操作できるように作成しています。興味がありましたら、スクリプト中のコメントに仕様等が記述されていますのでご覧ください。アドレスを表示する機能があります。タクトスイッチを使用します。イベントハンドラ中で入力モードに設定されています。入力値が変化したときにイベントを検出するモードに設定します(詳しくは後述します)。イベントハンドラの内容を、インストール時のデフォルト設定から変更します。エディタで編集します。スクリプトファイルの最後の部分に記述されている環境センサ基板用の設定部分のコメントを外して有効にします。コメントを外して、設定を有効にした部分は以下の様になります。ピンが変化していたかどうかをチェックします。スイッチを押し込んだ状態の場合だけを判断して、アプリケーションで表示するページ番号をインクリメントします。ENVSENSOR_ACTIVE_PAGE)に格納されていて、この値を変更すると起動中のアプリケーションの表示画面をリアルタイムに変更させることができます。起動すると同時にアプリケーションも自動的に実行されるようなりました。オプションで指定していますがこの指定は省略しても構いません。確認することができます。ユーザーマニュアルをご覧ください。ログサーバーを設置していると下記の様な起動メッセージが出力されます。現在の気温、湿度、気圧が表示されます。1秒ごとに更新されて現在の測定値がリアルタイムに表示されます。ボタンを押すと明るさの測定値画面に切り替わります。光センサに手をかざすと測定値とバーグラフがリアルタイムに変化するのを確認できると思います。押すと時計表示になります。アドレスと現在時刻を表示します。押すごとに上記のページを繰り返し切り替えて表示します。●センサ値の取得スクリプト説明と手動実行ここからはアプリケーション内部で実行しているスクリプトの詳細を説明します。データを取得しています。内容は下記の様になっています。使用するinitこのパラメータを指定した場合には、強制的にデバイス初期化と補償データレジスタの取得を行う。補償データレジスタの内容を取得しています。グローバル共用データに保存しておきます。保存したデータを利用するようにしています。デバイスの測定パラメータを設定します。センサから取得して温度と湿度、気圧データを計算します。計算結果はスクリプトリターンパラメータに設定してスクリプトを終了します。内容は下記の様になっています。result))このスクリプトは環境センサ基板上に搭載されている、光センサと接続したマイコン(I2Cスレーブ)から1バイトのデータを取得しています。得られた16進数値を10進数に変換した値をリターンパラメータに設定しています。アドレス情報は下記のスクリプト(OS/GET_IP)を実行して取得しています。以外のインターフェイスを指定する場合にはスクリプトを修正して下さい。アドレス部分だけを取り出してリターンパラメータに設定します。幾つかのプログラムやスクリプトをパイプで繋いで、このような仕組みを簡単に実現することができます。パイプ(リダイレクト)の機能を利用することでシステムの構築をプログラム単位でブロックを構成するように組み立てていくことができます。プログラムやスクリプトで提供されている機能を束ねることで新しい機能を提供するスクリプトを簡単に作成できます。変数には、文字列中にシングルコート文字がふくまれているため文字列をリテラル表現で代入しています。アドレス取得スクリプトを手動で実行してみます。表示アプリケーションを動作させている状態でも問題なく実行することができます。プログラムを使用します。各スクリプトの実行結果で返されるリターンパラメータに、センサから取得したデータが格納されているのを確認できます。スクリプトの内容は下記の様になっています。表示するページを切り替える。表示するページを切り替えることができる。●備考このスクリプトは無限ループに入って終了しないので、必ず別スレッドで起動してください。スイッチの設定を行います。スクリプト中で入力モードになっていますので、ここではスイッチを押したときと離したときにイベントを検出する設定を行っています。イベントハンドラがコールされるようになります。内部のグラフィックライブラリを初期化しています。グラフィックモジュール表示用のライブラリ関数を提供していて、簡単に文字や図形を描画することができます。ユーザーマニュアルをご覧ください。スクリプトの後半は、アプリケーションの表示ページ毎に関数が作成しています。間隔で繰り返しコールされます。スクリプトをコールして温度、湿度、気圧の測定値を取得しています。その後、グラフィックライブラリを使用して現在の測定値を画面に表示します。フォントが組み込まれていますので簡単に英数字を表示することができます。等の文字を表示する場合には、この例の様にビットマップパターンを指定することで表示できます。関数内では光センサの測定値を取得した後画面に表示します。このとき簡単なバーグラフも描画しています。内部時計のデータを取得してデジタル時計を表示します。アドレスを表示します。アサインされたアドレスが変化したときにも対応できるようにします。スクリプトの最後の部分がメインループになっていて、それぞれのページを繰り返し表示しています。内容が変化しますので、表示するページを切り替えています。電源を入れたときに自動的に今回のアプリケーションを自動起動させることもできます。プログラムを起動させるための記述するだけで完了します。ユーザーマニュアルに記載されていますのでご覧ください。今回のアプリケーションは完全にスタンドアロンで動作します。アドレス表示機能をプラスできます。殺風景なファイルサーバーやWebサーバーを素敵なインテリアとしても活用できます。メッセージのリアルタイム表示機能も簡単に追加できると思います、ぜひチャレンジしてみてください。ご意見や質問がありましたら、お気軽にメールをお寄せください(contact@allbluesystem.com)。