Node-REDを実行しているリモートマシンに既存のNode-REDフローファイルmyflow.json
を展開する方法はありますか。Node-REDにフローファイルをリモートで配置するにはどうしたらいいですか?
多くのグーグルで、私は関連するGoogleグループのthis discussionを見つけましたが、あまり啓発されていません。
事前に感謝します。 (successを示す)204レスポンスと
[scripts]$ curl -v -X POST http://192.168.70.73:1880/flows -H "Content-Type: application/json" --data "@remote_test.json"
* About to connect() to 192.168.70.73 port 1880 (#0)
* Trying 192.168.70.73... connected
* Connected to 192.168.70.73 (192.168.70.73) port 1880 (#0)
> POST /flows HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: 192.168.70.73:1880
> Accept: */*
> Content-Type: application/json
> Content-Length: 1088
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 204 No Content
< X-Powered-By: Express
< Date: Fri, 10 Feb 2017 11:45:24 GMT
< Connection: keep-alive
<
* Connection #0 to host 192.168.70.73 left intact
* Closing connection #0
:ここ
UPDATE(以下の推奨的回答後)
は、リモートマシンからの提案要求の出力です。何も起こらない
10 Feb 13:45:24 - [info] Stopping flows
10 Feb 13:45:24 - [info] Stopped flows
10 Feb 13:45:24 - [info] Starting flows
10 Feb 13:45:24 - [info] Started flows
た後:
はここで、ローカルマシンのコンソールでそれぞれの出力です。
デプロイするフローremote_test.json
は実際にはローカルマシンのGUIに表示されますが、実行されていません。さらに、手動でデバッグノードを注入または有効化しようとすると、ローカルのGUIにError: node not deployed
が表示されます(また、[Deploy]ボタンは無効です)。
これは超簡単流れである:format
ノードは単に温度測定値を解析して
がget_temp
から5秒ごとに受信されたタイムスタンプを追加する:
var temp = parseFloat(msg.payload.replace(/[^\d\.]*/g, ''));
var time = new Date().toISOString().replace(/\..+/, '');
msg.payload = {'measurements' : [ { 'time' : time },
{ 'temperature' : temp } ]
};
console.log(msg.payload);
return msg;
そしてここフローをローカルに展開する場合のコンソール出力です。
10 Feb 14:08:25 - [info] Stopped flows
10 Feb 14:08:25 - [info] Starting flows
10 Feb 14:08:25 - [info] Started flows
{ measurements: [ { time: '2017-02-10T12:08:30' }, { temperature: 34.7 } ] }
{ measurements: [ { time: '2017-02-10T12:08:35' }, { temperature: 34.2 } ] }
{ measurements: [ { time: '2017-02-10T12:08:40' }, { temperature: 33.6 } ] }
{ measurements: [ { time: '2017-02-10T12:08:45' }, { temperature: 33.6 } ] }
node-red-start
またはnode-red
でサービスを開始し、要求に-H "Node-RED-Deployment-Type: full"
引数を含めてもしなくても、違いはありません。
システム構成:
- ラズベリーパイ3つの
- のNode.js 7.4.0
- ノード-RED事前に0.13.4
多くのおかげで、再び。
UPDATE 2
問題がNode.jsのおよび/またはノード-REDバージョンとあったようです。 Node.js 6.9.5 & Node-RED 0.16.2を実行している別のPiで試しても問題ありません。
おかげで、何も起こりません。ターゲットマシンでは、 '' Started flows''というコンソールメッセージが表示され、展開されたフローはGUIに表示されますが、実行されません。ピアでNode-RED 0.13.4をNode.js 7.4.0で使用する。私はアップグレードするべきですか? – desertnaut
あなたの答えの後の質問を詳細な挙動で更新しました。再度、感謝します... – desertnaut