ブロックを積みながら(113) Node-RED、CSSセレクタでHTML要素を抽出

example
Joseph Halfmoon

前回はWebからとってきたhtml文書の中の<table>要素を抽出してNodeRedダッシュボードに表示してみました。今回はCSSセレクタを使ってより細かいレベルで要素抽出を行ってみたいと思います。フロントエンドがお得意の人には簡単なんだろうが、低レベルプログラミングな年寄には慣れない高水準だなあ。

“ブロックを積みながら(113) Node-RED、CSSセレクタでHTML要素を抽出” の続きを読む

ブロックを積みながら(112) Node-RED、Web上のドキュメントをパースその2

tableOnWebResult
Joseph Halfmoon

前回はhttp requestノードによりWeb上のhtmlドキュメントを取得、そこからテーブル部分を抜き出しました。しかし出力はデバッグノードに垂れ流し。今回は、Dashboard上のtableノードに出力するようにしたいと思います。元のテーブルよりも美麗?な上に、並べ替えもできて便利。ホントか? “ブロックを積みながら(112) Node-RED、Web上のドキュメントをパースその2” の続きを読む

ブロックを積みながら(111) Node-RED、Web上のドキュメントをパースその1

http1flow
Joseph Halfmoon

過去http関係のノードを試用してみましたがNode-RED側がサーバになるものでした。今回からhttp requestノードを使ってWeb上のhtmlドキュメントをGETし、パースして所望の情報を取り出すという一連の流れを練習してみたいと思います。初回は当サイトの過去記事のテーブルを取り出してその内容を取り出すもの。
“ブロックを積みながら(111) Node-RED、Web上のドキュメントをパースその1” の続きを読む

ブロックを積みながら(110) Node-RED、プロット区間の最大値、最小値をゲージ表示

MINMAX_gaugeEC
Joseph Halfmoon

前回ようやくSQLデータベースからの複数データ系列の重ね合わせプロットができました。今回はちょいと処理を追加してみます。特定のデータ系列のプロット範囲での最大、最小の表示です。ただ数字だけを表示するのも寂しいので、ダッシュボード上にはゲージ表示としてみました。

“ブロックを積みながら(110) Node-RED、プロット区間の最大値、最小値をゲージ表示” の続きを読む

ブロックを積みながら(109) Node-RED、複数データ系列の重ね合わせプロット

chartUpdated
Joseph Halfmoon

前回SQLiteデータベースの一部のフィールドにフォーマットのエラーがあったのをNode-REDフローから修正。これでようやく目論んでいた「複数データ系列の重ね合わせ」プロットができるというものです。Chart化をイネーブルにしたままデータベースへ複数回のQueryをかけるとそれぞれの系列を重ね合わせてくれるもの。 “ブロックを積みながら(109) Node-RED、複数データ系列の重ね合わせプロット” の続きを読む

ブロックを積みながら(108) Node-RED、データベース・フィールドのバグを修正

DBupdateFlow
Joseph Halfmoon

前回、集計対象のデバイスをmicro:bit V2からATOMLiteに変更しようとしてまさかの事態が発覚。ATOMLiteでデータベースに記録していたタイムスタンプのフォーマットがSQLite3の時間文字列フォーマットと異なってました。これでは期間を指定してデータを取り出したりできません。今回はフォーマットのFIX。
“ブロックを積みながら(108) Node-RED、データベース・フィールドのバグを修正” の続きを読む

ブロックを積みながら(107) Node-RED、SQLクエリの結果グラフ化その2

chartUpdated
Joseph Halfmoon

前回、過去データに対するSQLクエリの結果をグラフ化してみたのですが、狭い範囲の室温をグラフ化したので、スイッチがチャタリングでも起こしたような波形になってしまいました。その割にデータ点数多すぎ。今回は取り出したデータに「フィルタ」をかけても少し見やすくしてみます。 “ブロックを積みながら(107) Node-RED、SQLクエリの結果グラフ化その2” の続きを読む

ブロックを積みながら(106) Node-RED、SQLクエリの結果をグラフ化

chartResult
Joseph Halfmoon

前回までで過去データに対するSQLクエリの結果の表はできた感じ。今回からはそのグラフ化に進みたいと思います。PythonとかRでグラフ描こうかと思ったのですが、本シリーズの趣旨もあり、まずはNode-REDの中で「やっつけ」たいと思います。以前から使わせていただいておりますDashboardのchartノード再登場。
“ブロックを積みながら(106) Node-RED、SQLクエリの結果をグラフ化” の続きを読む

ブロックを積みながら(105) Node-RED、SQLクエリ・ダッシュボードの整理?

DashboardUpdated
Joseph Halfmoon

前回まででデータベースにSQLiteクエリを自在に投げられるようになったので(ホントか?)、今回はクエリ結果のデータのグラフ化と思ったのです。が、その前に散かってしまったダッシュボードを整理しておきたいです。また、クエリの成功の結果で空なのか、クエリ作成失敗の結果で空なのかも分かるようにしておきたいです。小ネタね。

“ブロックを積みながら(105) Node-RED、SQLクエリ・ダッシュボードの整理?” の続きを読む

ブロックを積みながら(104) Node-REDでSQLiteの練習その5

StartEnd_EC
Joseph Halfmoon

前回はタイムスタンプの一致を検出、特定日付のデータだけを抽出しました。でもね、日付といったら何時から何時までと指定するのが普通でしょう。今回は前回メンドイとか言ってとりつけなかった第2のdatepickerノードを設定、日付範囲でデータ抽出を行えるようにしてみます。これでようやくまともになった?

“ブロックを積みながら(104) Node-REDでSQLiteの練習その5” の続きを読む

ブロックを積みながら(103) Node-REDでSQLiteの練習その4

DashboardDatePicker
Joseph Halfmoon

前回「次回は、タイムスタンプでの絞り込みかね。」と呟いたので、そのとおりに日付でのデータ絞り込み機能を追加してみます。でもね現状はおおきく手抜きです。本当は前後日付時刻を指定してある期間を絞りこみするべきなのでしょうが、今回は日付選択1個のみ。二つにするのがメンドイので刻むことにいたしました。根性無だな、自分。

“ブロックを積みながら(103) Node-REDでSQLiteの練習その4” の続きを読む

ブロックを積みながら(102) Node-REDでSQLiteの練習その3

SQL4flow
Joseph Halfmoon

前回、SQLiteデータベースからデータを抽出してテーブルに取り出せるようにしました。でも、ドロップダウンリストから選択すると即座に「その他の条件はキメウチ」のクエリが実行されてしまい、なんだかな~です。今回は前回の不満点を解消するために細かく手を入れてみました。本質一緒なのだけれどもフローはちょいと複雑になり。 “ブロックを積みながら(102) Node-REDでSQLiteの練習その3” の続きを読む

ブロックをつみながら(101) Node-REDでSQLiteの練習その2

Result
Joseph Halfmoon

前回SQLクエリの結果でドロップダウンリストを作ったので、今回は選択結果にもとづいてデータベースから実データを抽出してみたいと思います。古いデータなのですが、各種マイコンとセンサを使って取得した数万件くらいのデータです。とりあえずの今回はダッシュボードのテーブルに列挙してみます。 “ブロックをつみながら(101) Node-REDでSQLiteの練習その2” の続きを読む

ブロックを積みながら(100) Node-RED、SQLクエリの結果でドロップダウンリスト

PullDownMenu
Joseph Halfmoon

前回SQLiteノードの練習だったので、今回もSQLと思ったのですが、その前に前回結果をドロップダウンリストにしておきたいと思います。SQLのクエリを組み立てるのにドロップダウンリストで検索条件など指定しておきたいので。前回クエリの結果をドロップダウンリストに流しこむのにJSONataでちょい変形。
“ブロックを積みながら(100) Node-RED、SQLクエリの結果でドロップダウンリスト” の続きを読む