ページビューの合計

検索キーワード「node」に一致する投稿を関連性の高い順に表示しています。 日付順 すべての投稿を表示
検索キーワード「node」に一致する投稿を関連性の高い順に表示しています。 日付順 すべての投稿を表示

2019年1月23日水曜日

#raspberrypi の #node-red にnode-red-contrib-domino-restを組み込む

Today I will describe the procedure to install "node-red-contrib-domino-rest"  Yoshida champion was created in raspberry pi.

みなさま、こんにちは!!
いよいよあさっては【2019 IBM Champions for Collaboration Solutions日本祝賀パーティー】ですね。
今見たら、なんと"満員御礼!!"じゃないですか!
先日の停電作業に伴うトラブルも、"仮"ではありますが、最悪の状況は脱することができたようで、なんとか参加できそうです。

本題に入る前に、まさに今日、【IBM DOMINO MOBILE APPS の検証結果(UI・操作編)】なるブログ記事の掲載がありましたので、リンク致します。
非常に興味深い記事になりますので、ぜひご覧ください。

さて既に玄人な皆様はNode-REDを利用して、Notesと様々なサービスを接続して利用されていることと思います。

私も以前に

私でもできた!! Node-REDとNotesの連携

という記事は書かせて頂いたのですが、その後放置状態でした。
そろそろ何かできないかと考え、まずは吉田チャンピオンが配布頂いております【node-red-contrib-domino-rest】を組み込もうと考えた次第です。

吉田チャンプのブログはこちら。

Node-RED から Domino へアクセスするためのノードを公開

記事内ではBluemix(現 IBM Cloud)のNode-REDへのインストール手順が書かれているのですが、ラズパイにはどうやってインストールするのか・・・。

試行錯誤し、ようやく実現できましたので、備忘録として書き留めておきます。

ラズベリーパイでは、npmというツールを使用してインストールを行います。
既にインストールされている場合もあるかと思いますが、以下手順にてnpmをインストール、あるいはアップグレードを行います。


  sudo apt-get install npm
  sudo npm install -g npm
  hash -r



続いて【node-red-contrib-domino-rest】をインストールします。


  cd ~/.node-red
  npm install node-red-contrib-domino-rest


よくよく見ると、吉田チャンプの書かれているコマンド1行を正しく順序立てて実行しているだけなんですね(汗

私は直接コンソールで


  sudo npm install node-red-contrib-domino-rest


と実行してしまっていたため、node-redディレクトリ内には【node-red-contrib-domino-rest】のフォルダとその中身がダウンロードされていたのですが、Node-REDの画面にnodeとして表示されず、苦労してしまいました。

ちなみにインストールされた結果画面は下記になります。


きれいにdomino関連のノードが並んでますね。

まずはこれにて準備が完了しました。

せっかくですので、Noteのデータにアクセスできるかだけテストしてみました。
作成したのは以下の3パターン("document collection"、"view collection"、"vie entries")


それぞれテストしたところ、問題なくNotesのデータが取得できるところまで確認しました。
以下は"view entries"の結果ですが、正しく値が取得されていました。



まだ何を作ろうか考えていませんが、いろいろと情報を探して試してみたいと思います。
また何か簡単なものができれば、公開させて頂きますので、よろしくお願い致します。

2017年12月4日月曜日

私でもできた!! Node-REDとNotesの連携

みなさま、こんにちは!
昨日はこどもの行事で餅つきがありました。
50kgのもち米を蒸して、つくというノルマを与えられ、数人でかわるがわるなんとかクリアできました。おかげで筋肉痛が・・・。
ひとつ気付いたのですが、最近のこどもたちはあまり臼や杵に興味がないみたいです。
以前ですと、我先にと順番に並んで、杵を振り回していたのですが・・・。
ちなみに配布には長蛇の列でした。ちょっと残念。

さて本題です。
以前よりやってみたかったNode-REDとNotesの連携について、ついに私でも作り上げることができましたので、報告させて頂きます。

本来ですとBluemix上のNode-REDを使いたかったのですが、社内Dominoサーバーとのやり取りとなるとセキュリティの観点から現時点ではハードルが高く進めることができませんでした。

そんな中、準備した環境は以前購入したRaspberry Piを使用するというものです。
もともとVDIのシンクライアントにならないかと試験的に購入したものですが、やはり時期尚早だったようで、社内で眠っていたものを起こして利用しています。

Raspberry Piの構築については今回は触れませんが、弊社で導入したOS「Raspbian」にはデフォルトでNode-REDがインストールされておりました。

社内のサーバーとして使用するため、IPアドレスのみ固定して、サービスを起動させております。

今回はもともと社内で取得したかったTwitterの情報をDominoに取り込むというものを作成しますが、手順そのものはIBMチャンピオンである吉田様のブログ「Domino REST API と Node-RED を使って、Twitter のデータを登録する」を参考にさせて頂きました。

それではまず手順通りに、データを受信するためのNotesアプリケーションを新規作成し、フォームとビューを作成します。

フォーム(メイン|main)にはフィールドはふたつ。

●日付
 名前: date
 種類: 日付/時刻
 式: @Now

●Tweet
 名前: body
 種類: テキスト



ビュー(一覧|all)には列として日付(降順)とTweetを設定します。
※Tweet列は「詳細」タブの「利用可能なウィンドウ幅まで拡張して使用する」にチェックしておきます。



なおDominoサーバー及び、アプリケーションでREST APIを使うにあたり、設定が必要となります。こちらについては、吉田様の記事にも記載ありますが、同じくIBMチャンピオンの御代様のブログ「Notes/Domino でREST APIを使ってみよう-前半-」が非常にわかりやすいので、ご参考になさってください。

さてNode-REDが社内ネットワーク内で利用可能となり、Dominoサーバー及びアプリケーションの準備ができましたので、いよいよノードを作成して参ります。

まずはSocial内のTwiiterを配置します。



配置したTwitterノードをダブルクリックし、設定を行います。
今回は全tweetから「#notesdomino」がセットされたのもを対象としています。


Twitterにログインした状態ですと、IDの右側のエンピツマークをクリックすると簡単にID連携が可能です。

続いてfunctionノードを配置し、先のTwitterノードと接続します。



配置されたfunctionノードをダブルクリックし、以下の式を設定します。

msg.payload={
    "body":msg.payload
}
return msg;



意味合いとしては、吉田様のブログに記載の通りです。

続いてNotesアプリケーションにデータを渡すため、functionより「http request」を配置し、先のfunctionノードと繋ぎます。


配置したノードをダブルクリックし、以下のような設定を行います。


こちらの詳細も吉田様ブログに記載されていますが、URLには先に作成したアプリケーションのフォームを設定し、dateフィールドを計算させるための設定(赤字部分)も追加されております。

http:// [Domino サーバー名] / [パス&DBファイル名] /api/data/documents?form=[フォーム名(別名)]&computewithform=true


以上で設定は完了しましたので、右上の「Deploy」をクリックしてNodeを稼動させます。

さて、テストでつぶやいてもいいのですが、お楽しみは後で・・・ということで、しばらくおいてからワークスペースをF9で更新してみると・・・


しめしめ・・・23通も届いているではないですか!!

ワクワクしながらアプリを開くと・・・


いい感じに集まってきております。

それではひとつ、文書を開いてみましょう。

先日のオープンセミナーの1コマですね。

いい感じです。

まずは私のような文系人間でも、このようなことができるという証明として今回は終了させて頂きます。

ただここまでできると欲が出てくるもので、例えばこのツィートのリンクを利用したいとか、NotesアプリケーションのデータをBIへRESTで接続したいとか・・・。

まだまだ精進が必要なようです。


末筆となりますが、引用させて頂きました吉田様、御代様、ありがとうございます。