Skip to content

Instantly share code, notes, and snippets.

@btsimonh
btsimonh / gist:f8f8227d8fa53ec9eb3a2d9bd6512192
Created December 10, 2018 17:46
fixed dev flow for EQ3 TRV
[{"id":"d9611430.c0dd78","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"f13a5e82.66c6","type":"inject","z":"d9611430.c0dd78","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":100,"wires":[["81d1f125.7392"]]},{"id":"869cb11a.bc68e","type":"inject","z":"d9611430.c0dd78","name":"","topic":"","payload":"{\"names\":{\"00:1a:22:09:2c:db\":\"Living Room 1\",\"00:1a:22:09:2c:9a\":\"Living Room 2\",\"00:1a:22:09:2c:df\":\"Conservatory\",\"00:1a:22:09:08:37\":\"Office\",\"00:1a:22:09:2f:b7\":\"Dining\",\"00:1a:22:09:2f:06\":\"Utility\",\"00:1a:22:09:2f:ab\":\"Kathryn\",\"00:1a:22:09:2e:e0\":\"Jess\",\"00:1a:22:08:5b:1e\":\"MasterBed\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":40,"wires":[["f77a8453.c541d8"]]},{"id":"f77a8453.c541d8","type":"function","z":"d9611430.c0dd78","name":"start","func":"var require = global.get('require');\n\nvar eq3interface = require('/home/pi/.node-red/node_
[{"id":"d9611430.c0dd78","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"f13a5e82.66c6","type":"inject","z":"d9611430.c0dd78","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":100,"wires":[["81d1f125.7392"]]},{"id":"869cb11a.bc68e","type":"inject","z":"d9611430.c0dd78","name":"","topic":"","payload":"{\"names\":{\"00:1a:22:09:2c:db\":\"Living Room 1\",\"00:1a:22:09:2c:9a\":\"Living Room 2\",\"00:1a:22:09:2c:df\":\"Conservatory\",\"00:1a:22:09:08:37\":\"Office\",\"00:1a:22:09:2f:b7\":\"Dining\",\"00:1a:22:09:2f:06\":\"Utility\",\"00:1a:22:09:2f:ab\":\"Kathryn\",\"00:1a:22:09:2e:e0\":\"Jess\"}}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":40,"wires":[["f77a8453.c541d8"]]},{"id":"f77a8453.c541d8","type":"function","z":"d9611430.c0dd78","name":"start","func":"var require = global.get('require');\n\nvar eq3interface = require('/home/pi/.node-red/node_modules/node-red-contrib-eq3-bluetoo
@btsimonh
btsimonh / gist:12ed006fc83fd4fd81240169dac8ce69
Created January 6, 2018 21:48
opencv memory allocation output
1/6/2018, 9:36:01 PMnode: 3a5a2954.2c4286
msg.payload : Object
{ memNumAlloc: 1870, memNumDeAlloc: 1710, mem: 144076800, memJS: 111820800 }
1/6/2018, 9:36:01 PMnode: 3a5a2954.2c4286
msg.payload : Object
{ memNumAlloc: 1874, memNumDeAlloc: 1711, mem: 146227200, memJS: 113971200 }
1/6/2018, 9:36:02 PMnode: 3a5a2954.2c4286
msg.payload : Object
{ memNumAlloc: 1878, memNumDeAlloc: 1712, mem: 148377600, memJS: 116121600 }
1/6/2018, 9:36:02 PMnode: 3a5a2954.2c4286
@btsimonh
btsimonh / mjpeg.txt
Last active December 9, 2017 12:08
Motion detection from http mjpeg feed with frame queue
[
{
"id": "eba842e3.87cce",
"type": "inject",
"z": "206db361.104f6c",
"name": "Start",
"topic": "",
"payload": "1",
"payloadType": "num",
"repeat": "",
@btsimonh
btsimonh / camera.txt
Last active December 9, 2017 12:09
From Camera motion detect with frame queue
[
{
"id": "591ff606.f43378",
"type": "tab",
"label": "Flow 6",
"disabled": true,
"info": ""
},
{
"id": "b43ed4b8.4650d8",
@btsimonh
btsimonh / gist:b27b21e6a5d02c2a9f92ec76d60eb793
Created November 22, 2017 12:31
node-opencv vc14 node 6.9.1 buildlog
C:\DataNoBackup\ocv>set OPENCV_DIR=C:\DataNoBackup\ocv3.3.1\opencv\build\x64\vc14
C:\DataNoBackup\ocv>npm install peterbraden/node-opencv
> opencv@6.0.0 install C:\DataNoBackup\ocv\node_modules\opencv
> node-pre-gyp install --build-from-source
C:\DataNoBackup\ocv\node_modules\opencv>if not defined npm_config_node_gyp (node "C:\Users\Simon\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" clean ) else (node "" clean )
npm install https://github.com/peterbraden/node-opencv
> opencv@6.0.0 install /home/pi/.node-red/node_modules/opencv
> node-pre-gyp install --build-from-source
gyp info it worked if it ends with ok
gyp verb cli [ '/home/pi/.nvm/versions/node/v8.9.0/bin/node',
gyp verb cli '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'clean' ]
gyp info using node-gyp@3.4.0
@btsimonh
btsimonh / gist:1703fccf6e49a16802a7503e071d0a76
Created November 5, 2017 12:00
node-opencv-with-node-red-local
[
{"id":"775a3cab.3b2814","type":"inject","z":"cbec4f4f.7908a","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":190,"y":140,"wires":[["36315f14.c7c18"]]},
{"id":"36315f14.c7c18","type":"function","z":"cbec4f4f.7908a","name":"LoadCV","func":"var require = global.get('require');\nvar cv = require('opencv');\nvar cvdesc = util.inspect(cv);\nnode.send({payload:cvdesc});\nflow.set('cv', cv);\nreturn msg;","outputs":"1","noerr":0,"x":320,"y":140,"wires":[["cbac4aa3.0b66d8"]]},
{"id":"cbac4aa3.0b66d8","type":"debug","z":"cbec4f4f.7908a","name":"","active":true,"console":"false","complete":"false","x":470,"y":140,"wires":[]}
]
@btsimonh
btsimonh / gist:e5b6f2e29865ab1f6b771116a04c9eeb
Created November 5, 2017 11:59
node-opencv-with-node-red-global
[
{"id":"2bf57a6b.38db16","type":"inject","z":"ad55a124.f98ef","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":190,"y":60,"wires":[["84863181.1b938"]]},
{"id":"84863181.1b938","type":"function","z":"ad55a124.f98ef","name":"LoadCV","func":"var require = global.get('require');\nvar cv = require.main.require('opencv');\nvar cvdesc = util.inspect(cv);\nnode.send({payload:cvdesc});\nflow.set('cv', cv);\nreturn msg;","outputs":"1","noerr":0,"x":320,"y":60,"wires":[["71fa0b4.c0bebf4"]]},
{"id":"71fa0b4.c0bebf4","type":"debug","z":"ad55a124.f98ef","name":"","active":true,"console":"false","complete":"false","x":470,"y":60,"wires":[]}
]
@btsimonh
btsimonh / gist:7bc1dad7e8286ebe626c31f5f7df16ed
Last active November 12, 2017 18:36
ADVANCED MOTION DETECTION WITH NODE-OPENCV IN NODE-RED flow2
[{"id":"ab622702.3ede98","type":"inject","z":"fa9050d8.3686","name":"Start","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":150,"y":80,"wires":[["c47265ed.25a238"]]},{"id":"c47265ed.25a238","type":"function","z":"fa9050d8.3686","name":"LoadCV","func":"var require = global.get('require');\nvar cv = null;\ntry{\n // global\n cv = require.main.require('opencv');\n} catch (e) {\n // local\n cv = require('opencv');\n}\nvar cvdesc = Object.keys(cv);\nnode.send([null, {payload:cvdesc}]);\nflow.set('cv', cv);\n\nnode.send({payload:1});\nnode.send({payload:'next'});\n","outputs":"2","noerr":0,"x":280,"y":80,"wires":[["63d26358.6e801c"],[]]},{"id":"63d26358.6e801c","type":"function","z":"fa9050d8.3686","name":"GetImage","func":"\n\nif (msg.payload === 0){\n var vid = flow.get('cvvid');\n if (vid){\n node.warn(util.inspect(vid));\n vid.release();\n flow.set('cvvid', null);\n delete vid;\n }\n}\n\n\nif (msg.payload === 1){\n try{\n flow.set('start', null);\n flow.set('co