このブログでNode-REDを触っているうちに、Node-REDのバージョンが1.0.0に上がりました。
バージョン1.0.0は2019/09/30に上がっていました。詳細は以下です。
自分の環境もそろそろバージョン上げてみないとなーみたい感じでいる間に更にバージョンが上がっています。 現在は10/14にリリースされた1.0.2が最新バージョンとなります。
今回は、試しにバージョンを上げてみたいと思います。UI関係がそんなに変わっていないと助かるかなと思うのですが…
続きを読むこのブログでNode-REDを触っているうちに、Node-REDのバージョンが1.0.0に上がりました。
バージョン1.0.0は2019/09/30に上がっていました。詳細は以下です。
自分の環境もそろそろバージョン上げてみないとなーみたい感じでいる間に更にバージョンが上がっています。 現在は10/14にリリースされた1.0.2が最新バージョンとなります。
今回は、試しにバージョンを上げてみたいと思います。UI関係がそんなに変わっていないと助かるかなと思うのですが…
続きを読むイベントはSeeedJP User Group主催の10月14日にSeeedJP User Group 情報交換会に参加してきました。
自分が、「SeeedJP UGのオフ会みたいのってないんですかね?」といったのが、開催のきっかけだったみたいです。 きっかけを作ったみたいですみません。
発表は6名で参加者全員が登壇必須という特殊(?)な会となりました。
続きを読む参加から結構時間が経ってしまいましたが、イベント参加レポートです。
nagoya-lt-starter.connpass.com
10月5日(土)に第1回 名古屋初心者LT大会
というイベントに参加してきました。
誰が何と言おうとLT初心者です。一応、レギュレーションにも以下の様にありました。
LTの経験が3回以下であること。全員の真偽確認は困難なので自己申告とします。
自己申告だとするとLTはこの時3回目です。これまでのLTは、今から思えばグダグダでしたが(ほぼ時間切れ)、今回は時間におさまりました。
今回のイベントでは約30近くのLTを行うというイベントでしたが、非常時ジャンルも多岐にわたり非常に面白いイベントでした! こんなイベントでLTデビューできる人は幸せだと思います!(みんな優しい!)
LTの全リストです!
セッション | 発表者 | タイトル |
---|---|---|
OP: 13:30-13:40 | @exoego | 開始の挨拶、諸注意など |
第1部:13:40-14:10 | 戸ヶ里 健晟 | CloudNativeの歴史について |
yamuuuuuun | 異業種転職して1年経過した報告 | |
Ya-san | 25分だけ頑張ってみる ポモドーロ・テクニックのすゝめ | |
HayaUp | (私生活の)タスク消化時間を計測 | |
ueponx | いい歳したおっさんが技術コミュニティ活動を頑張った話 | |
YukiAmakawa | エンジニアとプロダクトマネージャー兼任してみた話 | |
休憩 14:10 - 14:25 | - | - |
第2部:14:25-14:50 | momocus | 私の好きそうなWeb小説を自動で選んでくれるやつを作っている話 |
iyo_27 | 私と動画とエフェクトと | |
nao_mu スタートアップのデザイナーが学んだ課題の可視化のすすめ | ||
warumonogakari | アジャイルと対話 | |
I_am_sawada | 種類がなんでたくさんあるのかな、を考えてみた(銀行とかキャッシュレスとか | |
yuji_teshima | NuxtとFirebaseでBlogサイトを作って高速化を頑張った話 | |
おやつ休憩14:50 - 15:10 | - | - |
第3部:15:10-15:45 | 来栖川電算 | 子育ての報告と会社紹介 |
yutaroud | VUIのすゝめ | |
namiita | 文系SEが新卒研修でITサービスを考えたときの昔話 | |
tsubokoh | MAKE TASKLIST (Laravel + Vue) | |
ex_SOUL | 35歳がどう生き残るか。 | |
umesour | フルリモートワークをしてみて感じたこと | |
kyntk | Railsからの乗り換え先を探してみた | |
休憩 15:45 - 15:55 | - | - |
第4部:15:55-16:30 | Yahoo | キャンプの話と会社紹介 |
uttne | 初めてのライブラリ公開 NuGetを添えて | |
yamaryu | サイバーインシデント対応競技Hardening Projectに参加してきた | |
labocho | GoogleにクロールされてAWSに26万円請求されたはなし | |
sawadango | みみみみ未経験からエンジニアに!? | |
だゐ | インターンで出会った会社が凄い | |
U_Serendipper_S | 大人の英語上達法「英語筋を鍛えよう」 | |
休憩 16:30 - 16:40 | - | - |
第5部:16:40-17:10 | SAKURAI, Atsushi | FPGAを用いたDeep(Cheep)Leaningの紹介 |
mnaruse | Alexaスキルハッカソンに参加してアプリを作った話 | |
icy | VTuberについて | |
yoshiishi | 東京中目黒のStarbucksReserveRosasteryTokyoに行ってきた話 | |
Haru_Yakumo | キーボード本当にそれで良いのですか | |
ED: 17:10-17:30 | - | 終了の挨拶、片付けなど |
一番パワーのあったスライドはこちら!
一番驚いたのはFPGA実装のスペースインベーダーです。
すげー。
自分も新しく立ち上げるNode-RED User Group Tokai
の告知ができたので良かったです!
LT大会はいろいろなジャンルのものが見れるので非常に発見の多いイベントなのですが、割とすぐに埋まってしまうことが多いので LTを行う側に行けないことが残念でしたが、今回はLTする側に回れてよかったです。
そういえばLTの中でVUIの勉強会コミュニティがないっていう方がいたのですが、名古屋にVUIのコミュニティってあるんでしょうかね?
名古屋にはほかにもNGKという名古屋合同忘年会(次回は年明けにNGS新年会として開催予定)というLT大会もありますので是非参加・または聴講をお勧めしますよ。
今回スポンサーのヤフー様、来栖川電算様、運営の方々本当にありがとうございました! 楽しかったです!また参加したい!(次回はLTはできないと思いますが)
P.S. ツイートが多かったのでトゥギャりました↓
既に行ってるひとがいたらゴメン
前回のエントリではNode-REDを使用したカメラの使用を行っていましたが、その中で気になっていたものが残っていたのですが、 ちょっと試してみるとハマったのでそれに関してメモっておこうと思います。
気になった拡張ノードは以下のものです。
これを使用するとカメラ画像をストリーミング的に使用できそう?
A node that consumes a mjpeg stream and outputs the latest saved frame as buffer
ドキュメントを見ると、mpeg_stream
を使用してカメラ撮影した最新のバッファを取得するという機能を持つもののようです。
ページをパッと見た感じではインストールせよとははっきりとはわからないのですが、mjpg_stream
というアプリケーションが必要のようです。
もう少しはっきりと書いてほしいかも。
ドキュメントにもgithubのURLがあるのでこちらを見ながらインストールをします。apt
コマンドではインストールはできないのでちょっと手間がかかります。
githubのドキュメントに従って行けば概ねインストールには引っかからない感じです。
$ cd ~ $ sudo apt update $ sudo apt install -y cmake libv4l-dev libjpeg-dev imagemagick $ git clone https://github.com/jacksonliam/mjpg-streamer.git $ cd mjpg-streamer/mjpg-streamer-experimental $ make $ sudo make install
ネットで検索すると上記の手順の最後にあるsudo make install
を行わず、ローカルディレクトリで実行しているところが多かったのですが、私はインストールまで行っています。
インストールが終わったら試しに実行してみます。
mjpg_streamer
は入力方法と出力方法のそれぞれをオプションの指定することによって実行する仕組なのでそれぞれ指定します。
$ mjpg_streamer -o "output_http.so -w /usr/local/share/mjpg-stream/www" -i "input_raspicam.so"
以下の実行例では
(注記)/usr/local/share/mjpg-stream/www
はテスト用の静的コンテンツの入ったパスになります。インストールするとローカルからこのパスにコピーされます。
となっています。実行するとエラーが発生しなければ以下のような設定一覧が表示された画面が出力され、起動します。
ここまできたら、キャプチャがうまく行っているか確認してみます。ブラウザでhttp://raspberrypi.local:8080/にアクセスするとWebでの実行画面が表示されます。 (注)mDNSでのアクセスが出来ていない場合にはhttp://【RaspberryPiのIPアドレス】:8080/でアクセスをしてください。
これでmjpg_stream
のインストールは完了です。
インストールの確認が終わったら、コンソール上で起動したmjpg_stream
はCtrl+Cで終了させておきます。
node-red-contrib-mjpgcamera
)をインストール先程作業で、事前準備が終わったので拡張ノードをインストールします。 これまでの拡張ノード同様に【三】をクリックし、メニューから【パレットの管理】を選択します。
【ユーザー設定】で【ノード追加】タブをクリックし、検索ボックスにmjpg
を入力すると該当の拡張ノードが表示されます。
名前を確認して【ノードを追加】ボタンをクリックします。確認ダイアログでも【追加】ボタンをクリックしてください。●
インストールが完了するとelectronicplayground
のカテゴリーに拡張ノードが格納されます。
名称はmjpg consumer
となっています。
今回は、ノードをワークスペースにドロップせず、以下のテキスト(JSON形式ですが)をクリップボードからペーストしてみます。テキストで保存できるので gitなんかとも親和性ありそうですね。今後調べてみたいです。
[{"id":"5b126518.b3359c","type":"tab","label":"mjpg_streming","disabled":false,"info":""},{"id":"2e754e61.560a52","type":"debug","z":"5b126518.b3359c","name":"","active":true,"console":"false","complete":"false","x":550,"y":60,"wires":[]},{"id":"343fc213.65c74e","type":"file","z":"5b126518.b3359c","name":"Camera Capture","filename":"capture.jpg","appendNewline":false,"createDir":false,"overwriteFile":"true","x":560,"y":140,"wires":[[]]},{"id":"81850657.0c4598","type":"mjpg-consumer","z":"5b126518.b3359c","name":"MjpgConsumer","stream":"http://raspberrypi.local:8080/?action=stream","interval":"5","x":360,"y":100,"wires":[["2e754e61.560a52","343fc213.65c74e"]]},{"id":"1307914e.5c5d0f","type":"inject","z":"5b126518.b3359c","name":"Stop Consumer","topic":"","payload":"stop","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":160,"y":140,"wires":[["81850657.0c4598"]]},{"id":"d30efe8.65f4f","type":"inject","z":"5b126518.b3359c","name":"Start Consumer","topic":"","payload":"start","payloadType":"str","repeat":"","crontab":"","once":true,"onceDelay":"","x":160,"y":60,"wires":[["81850657.0c4598"]]}]
ペーストの作業は、画面右上の【三】をクリックし、メニューから【読み込み】→【クリップボード】を選択してクリックを行います。●
【フローをクリップボードから読み込み】というダイアログが開くので、先ほどのJSON形式のテキストをコピー&ペースト、【読み込み先】を新規のタブに変更、【読み込み】ボタンをクリックします。
すると新しいフローが生成されて以下のようなフローが表示されます。
拡大するとこんな感じです。(あんまり拡大になってませんが、文字は読みやすくなったと思います)
各ノードはこんな感じの設定になっています。
Start Consumer
のinjectノードは【ペイロード】にstart
を設定しています。
Stop Consumer
のinjectノードは【ペイロード】にstop
を設定しています。
MjpgConsumer
のmjpg-consumerノードは【Stream】にhttp://raspberrypi.local:8080/?action=stream
、【Streaming Interval】は5
(秒)を設定してます。mjpg_streamは起動して、http://raspberrypi.local:8080/?action=stream
にアクセスするとカメラで撮影した画像が表示され、start
を送ると撮影開始し、stop
を送ると撮影を停止する機能を持っています。
debugノードは特に変更はありません。
Camera Capturefile
のfileードは【ファイル名】をcaputure.jpg
に設定しています。
とりあえず、そのまま【デプロイ】ボタンを押して実行してみます。(スタートを指定しなくても5秒間隔で動作します) そして、デバッグのタブを覗いてみると…
undefined?うまく動作してないようです。なぜだ
ググってもなかなか情報が得られないのでいろいろ試したら、割とあっさり理由がわかりました。
Node-REDからこの拡張ノードを使用した場合でもmjpg_stream
を起動してはくれないようです…原因は簡単でしたが、そこまで至るのに時間かかり過ぎた。
ということで、この拡張ノードを使用する際は起動時にサービスとしてmjpg_streamを起動しておくか、事前に起動する必要があります。 自分は面倒なので、起動スクリプトと終了スクリプトを書いて、事前に起動することにしました。(RaspberryPi2では結構負荷が高いので) 各スクリプトには実行権限をつけておきましょう。
起動時の実行に関してはrc.local
に入れる方法やSupervisor
を使用もあると思いますが、からあげさんのエントリーが参考になると思います。
【起動スクリプト】
#!/bin/sh # mjpg-streamer start script export LD_LIBRARY_PATH=/usr/local/lib/mjpg_streamer STREAMER="/usr/local/bin/mjpg_streamer" # Pi camera configurations XRES="640" YRES="480" FPS="10" # Web configurations WWWDOC="/usr/local/share/mjpg-streamer/www" PORT="8080" # Start streaming $STREAMER \ -i "input_raspicam.so -x $XRES -y $YRES -fps $FPS" \ -o "output_http.so -w $WWWDOC -p $PORT"
【停止スクリプト】
#!/bin/bash if pgrep mjpg_streamer then kill $(pgrep mjpg_streamer) > /dev/null 2>&1 echo "mjpg_streamer stopped" else echo "mjpg_streamer not running" fi
起動するタイミングは事前でも、Node-RED作業後でもよいので、起動スクリプトを実行しておけば動作します。
Node-REDからフローを実行するとカレントパスにcapture.jpg
が保存されます。dubugノードからの表示はデータ配列の形なので以下の画面のような表示になります。
今回はpiユーザのhomeディレクトリで実行していたので以下のようになります。
もし、ターミナルからの都度のmjpg_stream
が面倒であれば、Node-REDのexecノードを使用しても良いかもしれません。
injectノードとexecノードを使用してこんな風に起動させることで起動忘れを防ぐ事もできると思います。
これでmjpg_stream
を使用して、動画っぽいデータを取得できました。
だた、以前使用したcamerapiなどの拡張ノードでも同じことできるような気がしますが、違いはWebサービスとして公開が同時にできつつ、画像を処理することができる点かなと思います。使いどころは難しいかもしれませんが。
とりあえずうまく動いたということで。ググってもNode-REDとmjpg_stream
ノードの組み合わせの日本語の情報が少なかったので書いてみたというエントリーでした。
【今回のフロー】
[ { "id": "1a4b6256.e141ce", "type": "tab", "label": "mjpg_streming", "disabled": false, "info": "" }, { "id": "ff084c2e.c225a", "type": "debug", "z": "1a4b6256.e141ce", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "x": 550, "y": 60, "wires": [] }, { "id": "765a06f7.6ca7e8", "type": "file", "z": "1a4b6256.e141ce", "name": "Camera Capture", "filename": "capture.jpg", "appendNewline": false, "createDir": false, "overwriteFile": "true", "x": 560, "y": 140, "wires": [ [] ] }, { "id": "46e883a0.2e335c", "type": "mjpg-consumer", "z": "1a4b6256.e141ce", "name": "MjpgConsumer", "stream": "http://raspberrypi.local:8080/?action=stream", "interval": "5", "x": 360, "y": 100, "wires": [ [ "ff084c2e.c225a", "765a06f7.6ca7e8" ] ] }, { "id": "309b4801.230ef8", "type": "inject", "z": "1a4b6256.e141ce", "name": "Stop Consumer", "topic": "", "payload": "stop", "payloadType": "str", "repeat": "", "crontab": "", "once": false, "onceDelay": "", "x": 160, "y": 140, "wires": [ [ "46e883a0.2e335c" ] ] }, { "id": "9577ebc6.72bee8", "type": "inject", "z": "1a4b6256.e141ce", "name": "Start Consumer", "topic": "", "payload": "start", "payloadType": "str", "repeat": "", "crontab": "", "once": true, "onceDelay": "", "x": 160, "y": 60, "wires": [ [ "46e883a0.2e335c" ] ] }, { "id": "aa22e1d5.e6c6", "type": "exec", "z": "1a4b6256.e141ce", "command": "./mjpg-streamer/start_mjpg_streamer.sh", "addpay": true, "append": "", "useSpawn": "false", "timer": "", "oldrc": false, "name": "", "x": 440, "y": 200, "wires": [ [], [], [] ] }, { "id": "d141f688.7d0d28", "type": "inject", "z": "1a4b6256.e141ce", "name": "Start", "topic": "", "payload": "", "payloadType": "date", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "x": 130, "y": 200, "wires": [ [ "aa22e1d5.e6c6" ] ] } ]
【参考】
RaspberryPiを使ってGPIOを操作することができるようになったので、今度はカメラを接続して見たいと思います。 カメラもRaspberryPiに端子の用意されたものと、USB接続の2タイプがあるのでそれぞれについても試してみたいと思います。
検索すると良い情報が結構あると思います。このエントリーをみていくことで問題なく進めていけるかなと思います。
【参考】
RaspberryPiのカメラといえば、直接リボンケーブルで接続できるカメラモジュールが挙げられます。最近本当に安くなっているので、カメラモジュールだけではなくケース込みでもかなり安く入手できるのがメリットだと思います。以前はもっと高価だったんですけどね…。
自分が買ったときには、カメラモジュールとケーブルのみでしたが、今購入するのであればケース付きのものをおすすめします。
では、使ってみましょう。
RaspberryPiでカメラモジュールを使用するには、設定が必要になります。といってもraspi-config
でカメラを有効化させるだけです。
以下のコマンドを入力して操作していきます。
$ sudo raspi-config
メニュー画面になったら…
5 Interfacing Options
を選択して【Enter】キーを押下。
P1 Camera
を選択して【Enter】キーを押下。
カメラインターフェースの有効化を尋ねられるので
<Yes>
を選択して【Enter】キーを押下。
これでカメラインターフェースが有効化されました。【Enter】キーを押下してメニューに戻ります。
メニューに戻ったら<Finish>
を選択して【Enter】キーを押下します。
再起動するかを尋ねられるので<Yes>
を選択して【Enter】キーを押下して再起動を行います。
再起動が完了するとカメラモジュールが使用できるようになっています。 以下のコマンドで撮影ができているか確認しましょう。
$ raspistill -o image.jpg
エラーが発生せず、カレントディレクトリにimage.jpg
ファイルが生成されていれば大丈夫です。
ここまでできたら、次はNode-REDから制御を行ってみましょう。Node-REDからこのカメラモジュールを操作するには、拡張ノードが必要になってきます。 今回は以下のノードをNode-REDから導入してみます。
Node-REDをWebブラウザで開き、右上にある【三】のボタンをクリックしてメニューを開き
メニューの中から【パレットの管理】をクリックします。
すると、【ユーザ設定】の【パレット】が開き【現在のノード】の画面が表示されます。この画面の【ノードの追加】タブをクリックします。
追加するノードの検索画面が開きます。
検索のテキストボックスに今回の拡張ノード名を入力すると、該当するノードが検索され、リストに候補が表示されます。
今回はcamerapi
という名前の含まれているノードなので、これを入力します。
検索されたノードからインストールするノードの名前を確認して、【ノードの追加】ボタンをクリックします。
クリック後、インストール確認のダイアログが表示されるので【追加】ボタンをクリックします。
すると、インストールの作業が行われ、
拡張ノードがパレット(ノードのリスト)に追加されます。あー画面の左側のノードのリストはパレット
っていうのか…今更だ…。あとで他のエントリーも修正しておこうと思います。
では今回インストールされたノードを確認してみます。【RaspberryPi】グループに【camerapi takephoto】が追加されているのがわかります。
では、今回導入したこのノードを試してみたいと思います。 ワークスペースに以下のノードを追加します。
inject
ノードcamerapi takephoto
ノードdebug
ノード以下のように配置し、
各端子を接続していきます。
あとは、camerapi takephoto
ノードを設定していきます。ノードをダブルクリックしてプロパティ画面を開きます。
ここで設定できることは以下となります。
細かい設定に関してはそれぞれ試してもらえればと思いますが、画像の解像度(サイズ)は大きくても仕方ないので、今回は 【ImageResolution】のプルダウンから【640x480】を選択し、完了ボタンをクリックします。
あとは、【デプロイ】ボタンをクリックします。
デプロイが成功しましたという表示がでればOKです。
あとはinject
ノードをクリックして実行します。
カメラによるキャプチャが成功すると、デバッグのタブに
実際にファイルがあるかコンソールから確認すると
ちゃんとカメラの映像が入っています。
先ほどはRaspberryPiのカメラインターフェースに接続するモジュールでしたが、次はUSB接続のカメラをNode-REDから操作してみたいと思います。 Node-REDで使用できるUSBカメラの拡張ノードは調べてみるといくつかあります。
flows.nodered.org ↑の拡張ノードは使用できないようです(20191008現在Node-RED 0.20.7でインストールに失敗します)
まだまだあるかなとは思いますが、今回はこの中からnode-red-contrib-usbcamera
を使用してみたいと思います。
node-red-contrib-usbcamera
を使用してみる今回使用したUSBカメラは以下のものです。カメラ自体は古いものなのですが、最新のUSBカメラものでもほとんど同じように使用することはできるかなと思います。
以前使用したときのエントリーはこちらになります。 uepon.hatenadiary.com
まずはUSBカメラをRaspberryPiのUSBコネクタに接続します。すると以下のようになります。
【認識前】
$ lsusb Bus 001 Device 004: ID 056e:4008 Elecom Co., Ltd Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
【認識後】
$ lsusb Bus 001 Device 004: ID 056e:4008 Elecom Co., Ltd Bus 001 Device 005: ID 046d:082c Logitech, Inc. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 046d:082c Logitech, Inc.
がUSBカメラの認識部分になっています。
【画面】
カメラが認識できたら、拡張ノードをインストールするのですが、事前に準備が必要になります。そこからはじめて行きます。
拡張ノードのページをみるとこのノードはfswebcam
コマンドを呼び出して実行をするようです。拡張ノードはfswebcam
パッケージがインストールされていない場合でもエラーは発生しません。ただし、拡張ノード実行時にはエラーします。
【fswebcam
パッケージがインストールされていない場合のエラー画面】
拡張ノードの説明では、以下のように書かれているので
You have to install fswebcam by following command.
$sudo apt install fswebcam
このコマンドを実行してパケージのインストールを行います。
すんなりとインストールできました。
事前準備ができたので、拡張ノードのインストールを行っていきます。
画面の右上側にある【三】ボタンをクリックし、メニューの中から【パレットの管理】を選択しクリックをします。
【ユーザ設定】が表示されたら
【ノードを追加】のタブをクリックします。
検索のテキストボックスにusbcamera
を入力すると、拡張ノードが検出されます。
検出された拡張ノードの【ノードの追加】ボタンをクリックします。
インストールの確認が表示されるので【追加】ボタンを押します。
するとインストール処理がスタートし
少しするとインストールが完了の表示がされます。【閉じる】ボタンを押して【ユーザ設定】を閉じます。
インストールされた拡張ノードは【RaspberryPi】カテゴリーの中に【usbcamera】という形で組み込まれます。
では、先程同様にテストをやってみましょう。以下のノードをワークスペースに配置していきます。
usbcamera
ノード
ノードを配置したら、端子の接続を行っていきます。これで準備は完了です。あとはusbcamera
ノードのプロパティ設定を行っていくことになります。
usbcamera
ノードをダブルクリックしてプロパティを開くと3つのモードを選択することができます。
File Mode
のプルダウンから選択することができるようになっています。Buffer
、File Mode
、Generate
というモードがありここから選んでいくことになります。
Buffer
のプロパティ画面Buffer
はカメラが撮影した画像をデータの配列として取得することができるモードになります。後続の処理がファイル操作ではなく、データ配列のだった場合に使用できます。ファイル化するオーバーヘッドも大きい(SDメモリにファイルを書き込むので結構処理は遅くなります)ので可能であれば、こちらを使用するのはありだと思います。(デバッグは難しいかもしれませんが)
以下の設定値があります。
Buffer
)
File Mode
のプロパティ画面File Mode
はカメラが撮影した画像をファイルとして取得することができます。ただし、ファイル名は固定になります。(この処理の前にファイル名を生成することができれば可変のファイル名で保存も可能です)あと、保存するパスや画像フォーマットなども変更できるのがポイントです。PNGなどの画像ファイルを使用したい場合にはこちらで行うしかないかなと思います。
以下の設定値があります。
File Mode
)
Generate
のプロパティ画面Generate
は自動的にファイル名を生成して、カメラが撮影した画像を保存するモードです。画像サイズは変更できるのですが、JPG形式でしかできないのがちょっと物足りない感じです。ただ、学習電通データとして何枚も何枚も画像を生成する場合には便利だと思います。
以下の設定値があります。
Generate
)
あとは実行させてみます。injectノードの左側のボタンをクリックするとこんな感じになります。
【Buffer
モードでの実行】
実行すると、デバッグ表示には配列データが出力されます。
【Generate
モードでの実行】
実行すると、デバッグ表示には出力されたがファイルパスが出力されます。
カメラも使えるようになったぜーって感じなんですが、 なんと2019年9月30日にNode-REDのバージョンが1.0になりました!パチパチパチ nodered.org
ちょっとどうなっちゃうのかっていうのが気になるところではありますが、次回もなにかできるといいなと思っています。
【Node-RED 参考エントリ-】