Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
node-REDでTSDBにデータを書き込む方法.pdf
Search
Tomoaki Yamaguchi
January 13, 2018
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
node-REDでTSDBにデータを書き込む方法.pdf
Tomoaki Yamaguchi
January 13, 2018
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
Product Roadmaps are Hard
iamctodd
55
13k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Between Models and Reality
mayunak
4
500
HDC tutorial
michielstock
2
960
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Un-Boring Meetings
codingconduct
0
460
Transcript
LoRaWAN デバイスのデータを Node-REDで時系列DBに書き込む KashiwaGeeks 山口知昭 2018-01-11
None
Node-REDのインストール Node.jsをインストール 1) https://nodejs.org/ja/download/ ページでLTS版のインストーラーをダウンロード 2) インストーラー実行 3) スタートメニュー上に Node.js command prompt があることを確認し実行
4) >node --version と入力しバージョンが表示されればインストール完了 node-redをインストール 5) >npm install -g -unsafe-perm node-red と入力し実行 6) >node-red と入力し実行 * 場合によっては、アクセス許可ダイヤログが表示されるので、アクセスを許可する。 7) ブラウザーを起動し http://localhost:1880 にアクセスする 8) node-red画面が表示される
Node-RED用ノードのインストール KashiwaGeeks, InfluxDB, ElasticSearch用ノードをインストール 1) cd $HOME/.node-red 2) npm install node-red-contrib-senseway 3) npm
install node-red-contrib-kgpparser 4) npm install node-red-contrib-kgpcomposer 5) npm install node-red-contrib-influxdb 6) npm install node-red-contrib-elasticsearch 7) >node-red と入力し実行 8) ブラウザーを起動し http://localhost:1880 にアクセスする 9) node-red画面に kgpparser, kgpcomposer, senseway, influxdb, elasticserch ノードが表示される
None
None
None
入力から mqtt と 出力から debug ノードをキャンバスにドラッグ&ドロップ
mqtt と debug ノードをつなぐ
1) mqtt ノードをダブルクリックしてプロパティを設定する。 2) トピックは lora / ユーザID / + /
rx ただし、DevEUIはすべて小文字 3) サーバを設定するために をクリック
1) サーバは mqtt.ngc-p.com 2) ポートは 1883 3) 入力後に セキュリティタブを選択
1) ユーザ名 と パスワード を入力 2) をクリック
をクリック QoS に 1を入力
デバッグ ノードをダブルクリックしてプロパティを設定する。 1) 対象 をプルダウンして msgオブジェクト全体 とする。 2) をクリックする。
をクリックする。
デバッグタブを選択する。 受信したメッセージが表示される。
デバッグ ノードをダブルクリックしてプロパティを設定する。 1) 対象 をプルダウンして msg. を選択するとPayload だけが表示されるようになる。 ただし、再度デプロイする必要がある。
次はデバイスにデータを送ってみる。
1) 入力から inject と 出力から mqtt と debug ノードをキャンバスに ドラッグ&ドロップ
2) それぞれのノードをつなぐ。 3) timestanp ノードをダブルクリック
を クリックして ペイロードを入力する。 ペイロードをプルダウンして {}JSONを選択する。
ref は、ACKを要求した時に、どのメッセージへのACKなのかの対応を確認するためのIDです。 ユーザが自由につけられます。 入力したら を クリック。 課題 data: “00112233” のデータはどうやって作るのか?
トピックに lora / ユーザID / DevEUI /tx を入力 を クリックしたあと を クリック
をクリックする都度、メッセージが送信される。
jsonを記入したinjectノードを削除し、新規にinjectノードをD&D KGP composer をダブルクリック
1) Name, Portを入力 2) をクリックしてruleの入力欄を追加する 3) データの型を選択して、その値を入力する 4) をクリックする
• functionノードをダブルクリックして • 名前とコードを入力 • をクリック • デプロイしてから timestampをクリックすると、データが生 成されてエンド・デバイスに送信される
エンド・デバイスが送信したデータをTSDBに書き込む Step1. エンド・デバイスが送信したデータを取り出す Step2. TSDBにインサートするJsonデータを作成する Ste3. TSDBにJsonデータをインサートする
• sensewayノードとkgpperserノードを2つ を Drag&Drop • それぞれを上記のように連結する • KGP Parser を ダブルクリック
• Name, Port を入力 • +追加 ボタンで Formatセレクタを追加 • セレクタでPayloadに合わせてフォーマットを選択する。
ポート毎にデコードされたPayloadのデータが配列として取り出される。 Step1 完成、 次はインサートデータの作成
• ElasticSearchのデータ構造は Index, Type, Document • DocumentはJson形式 InfluxDB Measurement timestamp
timestamp timestamp tags fields tags tags fields fields Series Series • InfluxDBのデータ構造は Databse, Measurement, Series • DataはJson形式で、 timestamp, tags, fields • Node-REDではMeasurementを influxdbノードで指定 • Json形式のデータを生成すれば 書き込むことができる。
• Functionノードにスクリプト記入、 • influxdbノードにDatabase名を入力
InfluxDBにデータを書き込むことが出来た。
• Node-REDではIndex, Typeを elasticsearchノードで指定 • DocumentとしてJson形式の データを生成すれば書き込むこと ができる。 • ElasticSearchのデータ構造は
Index, Type, Document • DocumentはJson形式 Series
• Function, influxdb, elasticscanノードをD&D • functionノードをダブルクリックしてデータ生成用のコード を入力 ElasticSearchにデータを書く込めるかどうかは未確認。
None