「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[Node-RED]]
--[[Rasbian]] > [[Docker On Rasbian]]

*目次 [#i2059ad2]
#contents

*概要 [#j4995daa]
[[Rasbian]]上に、イケてる[[Node-RED]]環境を構築する。

*詳細 [#q25b40ba]

**インストール [#jac30de0]
既定でインストールされている。

**疎通 [#iae8bcf4]

***起動 [#j7107c21]
-通常起動
 $ node-red
-使用するメモリを指定して起動
 $ node-red-pi --max-old-space-size=256

***接続 [#n632d16f]
 http://{ラズパイのIPアドレス}:1880/

***Lチカ [#v5c98cd9]
[[Apple Pi]]を使うので、GPIO 6を使う。
 [
   {
     "id": "b04f4d8.27109b",
     "type": "tab",
     "label": "フロー 1",
     "disabled": false,
     "info": ""
   },
   {
     "id": "af2680ad.55fbc",
     "type": "trigger",
     "z": "b04f4d8.27109b",
     "op1": "1",
     "op2": "0",
     "op1type": "str",
     "op2type": "str",
     "duration": "1000",
     "extend": false,
     "units": "ms",
     "reset": "",
     "bytopic": "all",
     "name": "",
     "x": 380,
     "y": 100,
     "wires": [
       [
         "9f2430cd.ca7c2"
       ]
     ]
   },
   {
     "id": "9f2430cd.ca7c2",
     "type": "rpi-gpio out",
     "z": "b04f4d8.27109b",
     "name": "",
     "pin": "31",
     "set": "",
     "level": "0",
     "freq": "",
     "out": "out",
     "x": 580,
     "y": 100,
     "wires": []
   },
   {
     "id": "a08e5a7f.768288",
     "type": "inject",
     "z": "b04f4d8.27109b",
     "name": "",
     "topic": "",
     "payload": "1",
     "payloadType": "num",
     "repeat": "2",
     "crontab": "",
     "once": false,
     "onceDelay": 0.1,
     "x": 190,
     "y": 100,
     "wires": [
       [
         "af2680ad.55fbc"
       ]
     ]
   }
 ]

-参考
--Raspberry PiのLEDを~
Node-RED を使ってLチカする~
|Tech Blog|日本情報通信株式会社~
https://www.niandc.co.jp/sol/tech/date20151007_514.php
--Node-RED と RaspberryPi で Lチカ~
ゲームで楽しく学ぶプログラミング教室~
https://ameblo.jp/gameprograming/entry-12635590359.html
--[[ラズパイとNode-REDを使って簡単にLチカ! | 千草ウェブ>https://chigusa-web.com/blog/%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E3%81%A8node-red%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%B0%A1%E5%8D%98%E3%81%ABl%E3%83%81%E3%82%AB%EF%BC%81/]]

***LCD [#yb9036ee]

***センサー [#b5b9740d]

**自動起動 [#ue68efa0]

***サービス [#a01cd0c2]

-自動機能の有効化
 sudo systemctl enable nodered.service

-自動機能の無効化
 sudo systemctl disable nodered.service

***コンテナ [#e675b37b]
[[サービス>#a01cd0c2]]の自動起動を設定し、[[コンテナ側も自動起動>Docker On Rasbian#mc4e2186]]を設定する。

**On Docker [#pbd8d55b]
(Node-RED On Docker On Rasbian)

***通常通り起動する。 [#r8106202]
-[[Docker]]コンテナのNode-REDを動かす。
--arm32v7のタグを指定する。
--永続化のためにホストディレクトリを利用
 $ docker run -it -p 1880:1880 -v /home/pi/.node-red:/data nodered/node-red:1.2.0-10-arm32v6
 ...
 docker ps
 CONTAINER ID   IMAGE                               COMMAND                  CREATED              STATUS                        PORTS                    NAMES
 b974561552fb   nodered/node-red:1.2.0-10-arm32v6   "npm start --cache /…"   About a minute ago   Up About a minute (healthy)   0.0.0.0:1880->1880/tcp   nostalgic_saha
※ [[サービスとして自動起動>#a01cd0c2]]するように設定済み。

-再び接続する。
 http://{ラズパイのIPアドレス}:1880/

-ラズパイ専用ノードが存在しないことを確認できる。

***コンテナでLチカを実行 [#ddc36400]
-[[Deviceアクセスを有効化して起動>Docker On Rasbian#y031f6c7]]
 docker run -it -p 1880:1880 -v /home/pi/.node-red:/data --device /dev/gpiomem --privileged nodered/node-red:1.2.0-10-arm32v6

-ラズパイ専用ノードが存在しないので、~
メニューのパレットの管理から、~
node-red-node-pi-gpioをインストールする。

-[[Lチカ>#v5c98cd9]]を作成してデプロイする。

-dataフォルダの中身を配布用に保存しておく。

-...光らない。

-node-red-node-pi-gpiodに変更してみる。

-...光らない。

-[[.NET Core On Docker On Rasbianでは無事動作。>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core%20On%20Rasbian#l41422bb]]
※ [[.NET Core On Docker On Rasbianでは無事動作。>https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%20Core%20On%20Rasbian#l41422bb]]

***事前にインストールしておく [#hd8de09e]
以下、未検証の内容。

-[[ラズパイ専用ノードをインストールして、Dockerビルドしてイメージを生成する>Node-RED#v1bd1f63]]

--Dockerfile
 FROM nodered/node-red:1.2.0-10-arm32v6
 
 RUN mkdir -p $HOME/.node-red
 RUN cd $HOME/.node-red
 RUN npm node-red-node-pi-gpiod
※ ラズパイ専用ノードを動かすため、追加インストールを行っている。

--ビルド
 $ docker build -t nodered-sample:p1 .

-再びコンテナを起動~
[[Deviceアクセスを有効化し>Docker On Rasbian#y031f6c7]]、ヘッドレスで実行する。
  docker run -d -p 1880:1880 -v /home/pi/.node-red:/data --device /dev/gpiomem --privileged nodered-sample:p1

-コンテナを[[Docker Hub]]にPushし、~
別デバイスにdataフォルダを配置して起動...なども出来そう。

*参考 [#m09ee82c]

**Node-RED日本ユーザ会 : [#s51672ee]
-Raspberry Piで実行する~
https://nodered.jp/docs/getting-started/raspberrypi
-Dockerで実行する~
https://nodered.jp/docs/getting-started/docker

**Qiita [#w3260070]
-ラズパイ用OSに標準インストールされたNode-REDを使ってみる~
https://qiita.com/zuhito/items/0957c5f0df38363740bc
-デバイスもクラウドもNode-REDを使ってIoTしてみる~
https://qiita.com/rina0521/items/11c94af291d80174a474
-Raspberry Pi Sense HATをNode-REDで遊んだよ~
https://qiita.com/t_koba/items/e254b8d054729ea3dd0a
-【TIPS】Raspberry PiのカメラをNode-REDから使う~
https://qiita.com/rina0521/items/9f4af9465b1c3f91f5e8
-Raspberry PiにおけるNode-REDの活用について~
https://qiita.com/utaani/items/7155c62d6c5e96822afb

-DockerコンテナからRaspberryPiのGPIO・I2C・シリアル通信を使う~
https://qiita.com/myasu/items/e3bf8641a9e94dd3e5dd

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS