.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Rasbian上に、イケてるNode-RED環境を構築する。

詳細

インストール

既定でインストールされている。

疎通

起動

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

接続

http://{ラズパイのIPアドレス}:1880/

Lチカ

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"
      ]
    ]
  }
]

LCD

センサー

自動起動

サービス

  • 自動機能の有効化
    sudo systemctl enable nodered.service
  • 自動機能の無効化
    sudo systemctl disable nodered.service

コンテナ

サービスの自動起動を設定し、コンテナ側も自動起動を設定する。

On Docker

(Node-RED On Docker On Rasbian)

通常通り起動する。

  • 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
      サービスとして自動起動するように設定済み。
  • 再び接続する。
    http://{ラズパイのIPアドレス}:1880/
  • ラズパイ専用ノードが存在しないことを確認できる。

コンテナでLチカを実行

  • ラズパイ専用ノードが存在しないので、
    メニューのパレットの管理から、
    node-red-node-pi-gpioをインストールする。
  • Lチカを作成してデプロイする。
  • dataフォルダの中身を配布用に保存しておく。
  • ...光らない。
  • node-red-node-pi-gpiodに変更してみる。
  • ...光らない。

事前にインストールしておく

以下、未検証の内容。

  • 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 run -d -p 1880:1880 -v /home/pi/.node-red:/data --device /dev/gpiomem --privileged nodered-sample:p1
  • コンテナをDocker HubにPushし、
    別デバイスにdataフォルダを配置して起動...なども出来そう。

参考

Node-RED日本ユーザ会 :

Qiita


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-26 (月) 17:47:58 (13d)