心地よいライフハック

これ便利だな〜と思ったことなど

Node-RED 上で java プログラムを動かす

今日は Node-RED  上で java のプログラムを 動かしてみたいと思います!
 

 
 
それではまず準備から。
 
 
環境としては、
 
java コンパイルが動作するホスト
・そのホストで動作するNode-RED 環境 です。
 
 
 
動作確認環境
・node-red のコンテナ  node-red v0.19.5
・OS : Debian GNU/Linux 9 (stretch)
 

 
 

 
手順
 
node-red コンテナ起動状態を確認。
 
# docker ps -a
 

 
動いてますね。

 
( 起動方法や、Node-RED 編集画面の 行き方 公式はこちら
Node-RED と java の 環境ができれば、コンテナ でなくてもOKです。)
 
 
コンテナ内 の操作に入ります。
 
$ docker exec -it -u root コンテナ名 /bin/bash
 
必要なツールをインストール
# apt-get update
# apt-get install vim less
 
open jdk 8 をインストール
 
# apt-get install openjdk-8-jdk
 
java Home とするパスを 確認
 
# update-alternatives --list java
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
 
( この jre より 上の階層を “ JAVA_HOME ”  と設定していきます。)
 
確認できたら 起動時設定ファイルの作成
# vim /etc/profile.d/java.sh
 
上記ファイルを取り込む
# source /etc/profile.d/java.sh
 
環境変数をチェック
# echo $JAVA_HOME
 
/usr/lib/jvm/java-8-openjdk-amd64
 
# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1~deb9u1-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
 
# javac -version
javac 1.8.0_222
 
java が入りました。
 
java環境の準備 は以上です。
 
 
# exit
 

 

 
それでは node-red で java を動かすノードをインストールします。
 
Node-red サービスに ブラウザからアクセス
 
( 詳細はこちら 参照 )
 
右上のメニューから
“ Manage palette “ を選択。
 

 
 
インストールタブを選択。
 

 
java-function  で サーチ
 

 
これをインストール
 
警告がでますが、問題なければ インストール で。
 
インストールできたら クローズ

 
念のため Docker コンテナ を restart しておきいましょう。
restart しておかないと、java が うまく動作しない可能性が あります。
 
# docker ps -a
node-red のコンテナ名を確認して、
 
# docker restart コンテナ名
 
 
 
以上で準備が終わりました。
 
早速、Node-red サービスへ ブラウザからアクセスし、
java-function ノードの動作 を確認してみましょう。
 

 
 

 
 

 

 
 
以上、あまり深く考えず、3つのノードを 並べて繋げます。
 

 
右上、虫マークのところを押して、debug 表示に。
 
そして、“ Deploy "

 
すると、、
 
java-function で コンパイル がなされます!

 
ソースはこちらです ↓
 
赤い この ノードをダブルクリック
下の方に java のソースがあります。

 
この inject ノードの 青いボタンを押すと、、

f:id:asuki_y:20190809222208p:plain

injectノード
 このソースが動作していることが確認できましたね。
 

 
あとは、 お好みの java ソース に編集してみてください。
 
以上で Node-RED 上 で java を 扱う 準備でした。
 

 
参照
 
apt-getでJavaをインストールしよう(Ubuntu)