packet sender

Sends packets as I want it toasdasdasda

[{"id":"3c7b4b26.7537e4","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"872cd26f.a7847","type":"udp out","z":"3c7b4b26.7537e4","name":"test","addr":"34.95.12.139","iface":"","port":"1208","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":970,"y":440,"wires":[]},{"id":"9cc7fd5.cad52","type":"inject","z":"3c7b4b26.7537e4","name":"Timestamp packet","props":[{"p":"payload"},{"p":"time","v":"","vt":"date"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[\"0xAC\", \"0x00\", \"0x01\", \"0x03\", \"0x01\", \"0x4E\"]","payloadType":"bin","x":410,"y":440,"wires":[["872cd26f.a7847","9a536cdf.047e1"]]},{"id":"14b0ac31.772a14","type":"udp in","z":"3c7b4b26.7537e4","name":"","iface":"","port":"1208","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":420,"y":580,"wires":[["7b203587.56cecc"]]},{"id":"1ebaca00.2f4ef6","type":"debug","z":"3c7b4b26.7537e4","name":"testRcv","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":780,"y":580,"wires":[]},{"id":"9a536cdf.047e1","type":"debug","z":"3c7b4b26.7537e4","name":"testSnd","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":680,"y":380,"wires":[]},{"id":"7b203587.56cecc","type":"function","z":"3c7b4b26.7537e4","name":"","func":"msg.time = Date.now()\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":580,"wires":[["1ebaca00.2f4ef6"]]},{"id":"62ab9336.6279bc","type":"debug","z":"3c7b4b26.7537e4","name":"testUi","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":670,"y":220,"wires":[]},{"id":"e77949bc.af8018","type":"ui_form","z":"3c7b4b26.7537e4","name":"","label":"Send fake data to platform udp server","group":"7725711c.a33ec","order":3,"width":0,"height":0,"options":[{"label":"Begin timestamp","value":"timestamp","type":"number","required":true,"rows":null},{"label":"Interval in minutes","value":"interval","type":"number","required":true,"rows":null},{"label":"How many data","value":"quantity","type":"number","required":true,"rows":null}],"formValue":{"timestamp":"","interval":"","quantity":""},"payload":"","submit":"submit","cancel":"cancel","topic":"","x":350,"y":300,"wires":[["62ab9336.6279bc","e748c18b.6e5ff"]]},{"id":"e748c18b.6e5ff","type":"function","z":"3c7b4b26.7537e4","name":"","func":"const buffer_length = 14 + 18*msg.payload.quantity;\nconst buff = Buffer.alloc(buffer_length);\nvar offset = 0;\nbuff.write('AC', offset, 1, 'hex');\noffset++;\nbuff.writeUInt16BE((buffer_length-5), offset);\noffset+=2;\nbuff.write('0801', offset, 2, 'hex');\noffset+=2;\nbuff.write('FFFFFFFFFFFF0001', offset, 8, 'hex');\noffset+=8;\nvar data_added = 0;\nwhile (data_added < msg.payload.quantity) {\n    buff.write('CA0F30303030', offset, 6, 'hex');\n    offset+=6;\n    var temp_timestamp = msg.payload.timestamp + (data_added * msg.payload.interval * 60);\n    buff.writeUInt32BE(temp_timestamp, offset);\n    offset+=4;\n    for (i = 0; i < 4; i++) {\n        var temp_temp = ((Math.floor(Math.random() * 31)+200)*100);\n        buff.writeUInt16BE(temp_temp, offset);\n        offset+=2;\n    }\n    data_added++;\n}\n// Checksum Calculation\nlet checksum = 0;\nfor (const value of buff.values()) {\n    checksum += value;\n}\nchecksum &= 0xFF; // Keep only the first byte\nchecksum = 255 - checksum;\n\nbuff.writeUInt8(checksum, offset);\nmsg.payload = buff;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":760,"y":300,"wires":[["f186c0bd.cd0c","872cd26f.a7847"]]},{"id":"f186c0bd.cd0c","type":"debug","z":"3c7b4b26.7537e4","name":"testFunc","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":980,"y":220,"wires":[]},{"id":"30af5d9a.31c302","type":"comment","z":"3c7b4b26.7537e4","name":"UI located in this_url/ui","info":"","x":340,"y":240,"wires":[]},{"id":"ace562c3.02e42","type":"comment","z":"3c7b4b26.7537e4","name":"Send timestamp request packet","info":"","x":370,"y":400,"wires":[]},{"id":"76dccb34.fb07c4","type":"comment","z":"3c7b4b26.7537e4","name":"Server to receive response from server","info":"","x":390,"y":540,"wires":[]},{"id":"c0ab0b17.524828","type":"comment","z":"3c7b4b26.7537e4","name":"Send udp packet to server","info":"","x":1010,"y":400,"wires":[]},{"id":"7725711c.a33ec","type":"ui_group","z":"","name":"Default","tab":"6026aa55.ed6784","order":1,"disp":true,"width":"6","collapse":false},{"id":"6026aa55.ed6784","type":"ui_tab","z":"","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]

Flow Info

Created 4 years, 11 months ago
Rating: not yet rated

Actions

Rate:

Node Types

Core
  • comment (x4)
  • debug (x4)
  • function (x2)
  • inject (x1)
  • udp in (x1)
  • udp out (x1)
Other

Tags

Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option