LoginSignup
7
2

More than 5 years have passed since last update.

enebularでobnizをカスタムノードで動かしてみた

Last updated at Posted at 2018-12-18

この記事はenebular advent calendar 2018の18日目の記事です。
記事の内容に詰まって1時間遅れで投稿してます。

↓いいわけ

つくったもの

  • 最近enebular meetupでobnizが活躍してるらしい!
  • カスタムノード作成のLTも流行ってる!

というのを見たので、両方掛け合わせてobnizのカスタムノードつくってenebularで使ってみました!
enebular x obnizを生でやると、websocketのリダイレクトで大変だったようなので、その解決策になります。

前に書いた記事の「誰かがobnizノードを作ってくれるのを待つ」つもりだったら結局自分が書くやつです、はい。

obnizって何?

obnizはAPIで操作できるマイコンボードです。
APIで操作=enebular(node-red)でも操作できる となっていて、非常に簡単に現実世界の"もの"とシステムをつなぐことができます!
公式サイトはこちら

カスタムノードを作ってみた

カスタムノードの作り方はいろんな人が紹介してたので、参考にさせてもらった記事だけ載せときます!
- 自作ノード開発中にハマったあれこれ #nodered
- Node-REDのノードを作り、Node-RED Libraryに登録する

どっちも古い記事ですが、まだまだ参考になる現役記事でした。
カスタムノードにはいろんなハマりポイントがあるようですが、自分がハマったのはpackage.jsonのkeywordsにnode-redを入れてなかったことでした。

obnizノードの使い方

せっかく公開したので、使い方等をメインで書いていきます。

install

node-red Libraryに追加もされたので、"Manage palette"からいけます
スクリーンショット 2018-12-18 23.25.54.png

obnizで検索してinstallします
スクリーンショット 2018-12-19 0.32.39.png

暫く待つとインストールが完了して
advancedカテゴリ内にobnizノードが出現しますスクリーンショット 2018-12-19 0.34.25.png

使い方

obniz websocket api に応じたjsonデータをこのノードに渡してあげるとobnizが反応します。

obnizIdの設定はノードをダブルクリックしたときの設定画面でやります
スクリーンショット 2018-12-18 23.58.53.png

サンプル

injectで次のjsonを流してみました

[
   {
       "display": {
          "clear": true, 
          "text": "Hello, obniz!"
       }
   }
]

ディスプレイに "Hello, obniz!" と表示するjsonです。

スクリーンショット 2018-12-19 0.10.25.png

画面が小さくてわかりにくいですが、injectのボタンが押されたらディスプレイの表示が変わっています
20181219_004438.GIF

もう一つ別のtextでついかしたらこんな感じになりました

スクリーンショット 2018-12-18 23.58.35.png
20181219_004118.GIF

1Aまでの出力やPWMなどの機能もjsonから扱うことができるので、これでなんでもenebularから動かすことができます!

今後

まだバージョン0.2の名前の通り、全然実装できてない部分があるので、
お正月休みつかって下記あたり実装したいなぁと企んでます。
node-red/enebularは初心者なので、こういうのあると便利!ってのがあれば教えてほしいです。

  • twitterノードの"接続済み"みたいにobnizのonline/offlineがノード上でわかるようにしたい
  • 今はobnizにデータ送るしかできていないが、データ受信用のノードを作りたい
  • 複数台のobnizにつないだとき(obnizノードが複数ある時)の挙動が未知なので、検証したい
  • obnizが未接続時の対応をちゃんと書きたい(今はデータ無視してる)

こたつの魔力に負けなければやります! ・・・負けそうな予感

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2