昨日はこどもの行事で餅つきがありました。
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で更新してみると・・・
0 件のコメント:
コメントを投稿