2018年07月28日

Node-Redからelasticsearchへのデータ投入

今回はNode-Redからelasticsearchにデータを投入する方を紹介します。

elasticsearchはhttpメソッドを使用してjson形式でデータを投入します。

今回はタイムスタンプボタンを押すとその時の時刻とサンプルデータを
elasticsearchに投入する例を紹介します。



使用するノードは主に
「http request」のノード
「function」のノード
です。




node.jpg






「function」のノード内で投入先のelasticsearch、
インデックス、データ等を定義してpayloadに投入します。


今回はelasticsearchとNode-Redが同一マシン上にあるため、
elasticsearch の宛先はlocalhostに設定しています。
また標準のポート番号は9200です。

今回の例ではインデックス
「test_data」
と設定して温度と湿度を投入します。

今回は例として定数ですが、
実際には定数でなくセンサから読んだデータを投入します。



func.jpg



「http request」ノードは
POSTメソッドを選択します。

URLはfunctionノードで設定しているため、
空欄にします。



post.jpg


上記の設定をしてデプロイ後、
タイムスタンプボタンをクリックすると
データがelasticsearchに投入されます。

ブラウザからkibanaにアクセスして、
discoverから投入されたデータを確認できます。
必要に応じて、右上の期間設定や更新タイミングを変更してください。



discover.jpg

今回のサンプルコードは下記のリンクです。
メモ帳等で開いてNode-Redの
「読み込み」→「クリップボード」からインポートしてください。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年07月14日

elasticsearch 起動エラー対処方法

センサ情報を収集して表示する際にelasticsearchkibabaを使うことが時々あります。

Cloudサービスでelasticsearchとkibanaに対応しているものがありますが、
オンプレミス環境の場合はWindowsで実行する場合が多いと思います。

Windows環境でelasticsearchを起動させた際に出たエラーの対処方法をメモとして記します。

elasticsearchはJava8が必須ですが、
Java8をインストールしたにも関わらず、
下記のようなエラーが出て起動できない場合があります。
@elasticsearch6.3.0

日本語版Windowsの場合
¥Common の使い方が間違っています。

英語版Windowsの場合
The syntax of the command is incorrect.


この場合の対処方法として、
batファイルの文法が間違っているとかではなく、
JAVA_HOMEが設定されていないために発生するエラーです。

システムの環境変数にJAVA_HOMEを下記のようなJavaディレクトリを設定するとエラーが出なくなります。

JAVA_HOME C:\Program Files\Java\jdk1.8.*_***
*はインストールされているJavaのバージョンによる
  エクスプローラでディレクトリからバージョンを確認する



最初、このエラーが出て、zipファイルの解凍をミスしたのか、
batファイルの文字化けたのかなど色々試行錯誤してしまいました。
なんとも分かりづらいエラーです。

posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2018年01月06日

OLEDリセット回路

あけましておめでとうございます。
2018年もよろしくお願いいたします。



今回はOLEDの配線を減らすためのOLEDリセット回路を紹介します。
以前にAmazonのOLEDを紹介しました。


oled2.jpg



秋月でも同様のOLEDの販売がされましたが、
手持ちのOLEDとピン構成が若干異なります。

AmazonのOLEDはSPIでも対応できるように
CSなどのピンが余分にあります。


OLEDの種類ごとに配線が異なると面倒なので、
RESなどのピンをなくして、秋月のOLED同様に4線(電源含む)にしてみました。

なお、事前にOLED背面のR3を外してR1へ取付、
R8をジャンパさせてI2Cモードに改造しています。


RESピンはVCC電源投入後の一定時間後に
LOWからHIGHにする必要があります。
VCC電源と同時にRESをLOWからHIGHにすると
画面が乱れて正常に動作しません。

RES用の配線を減らすために
RC回路でリセットを一定時間後に掛かるようにしました。


配線は次の通り。

oled.jpg

100k抵抗と0.1uFコンデンサでRESを
VCCに対して遅らせてLOWからHIGHにしています。



これでマイコン側との接続は
VCC、GND、SDA、SCLの4線となります。


RESの漏れ電流が不明なため、
トライ&エラーで100k、0.1uFと決定しました。
51kでは上手くリセットが掛からない場合があったので、
100kと決めてみました。


今のところ、N=5で上手く動いています。

ラベル:部品
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2017年07月25日

測域センサ 構造

今回は測域センサを紹介します。


北陽電機製測域センサURG-04LXを入手しました。

今となってはKinectやRealSenseなど
3Dでキャプチャリングできるセンサが安く入手できるようになっています。
ただ、その分、処理が重く、マイコン等で処理するのは大変です。

マイコンでも処理できるものとして、測域センサがあります。
2Dで平面上の障害物等を検出できます。


最近のメジャーな測域センサというとSeedStudioRPLDARがありますが、
今回は先日、入手した日本製の測域センサURG-04LXの内部構造を少し紹介します。


main.JPG

USB端子とシリアル端子がついています。


internal.JPG

上蓋を外すとモータで回転する円柱があり、
SeedStudioRPLDARと同じような構造のようです。
円柱の上に45度?に傾いたミラーがあり、
蓋の部分についたレーザー光を反射させているようです。

円柱が回転することで反射したレーザー光の方向を変えられるようになっています。



encoder.JPG

また、円柱下側にスリット付の板があり、
モータの位置検出用のエンコーダがついていました。





laser.JPG
蓋の中心部にレーザー発光部があると思われます。


recieve.JPG
円柱を側面から見ると、
レーザー光を受光する部分と思われる側面にレンズがあります。



小さい筺体にレーザーやエンコーダ、ミラーなどの光学部品が詰まっており、
なかなか面白い構造だと思いました。

時間を見つけて、今度は測域センサURG-04LXを実際に使用してみたいと思います。

ラベル:部品
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2017年06月17日

ProjectionBallオープンハードウェア化

先月、MakerFaireBayAreaに参加して以降、
海外からの問い合わせが増えました。


一方で海外向けに販売できる体制を短期間で構築できないため、
最新版のProjectionBall IoTをオープンハードウェア化することにしました。

ProjectionBall IoT v5.4の特徴
・スマートフォンやPCからWifi経由で遠隔操作可能
・アナログ時計、デジタル時計を内蔵
・任意の文字列を表示可能(最大32文字、フォント内蔵)
・直径が10cm(旧モデル12cm)と一回り小さく
・Wifiはアクセスポイントモード、サーバモードの両対応


◆ProjectionBall IoTファームウェア&ソースコード

◆ProjectionBall IoT部品リスト&STLデータ&カーバーデータ

◆ProjectionBall IoT Wifiモジュールソースコード


ドキュメント類や説明がまだ充実していない状況のため、
英語版のドキュメント含め、順次、追加していきたいと思います。


また、国内向けにはProjectionBall IoTの完成版を
近日、協力会社から販売開始予定です。



ぜひ、Facebookページへ「いいね」をお願いします。

posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする