You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flightgear-generic/flows-generic协议(43DAAD).json

1 line
3.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[{"id":"fca2f5f.cdf3008","type":"tab","label":"generic协议","disabled":false,"info":""},{"id":"203ee85.484e918","type":"udp in","z":"fca2f5f.cdf3008","name":"","iface":"","port":"5597","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":200,"y":200,"wires":[["13dcad67.7cbf03"]]},{"id":"13dcad67.7cbf03","type":"function","z":"fca2f5f.cdf3008","name":"","func":"var mess = String.fromCharCode.apply(null, new Uint8Array(msg.payload));\n//msg.payload = mess;\n\nvar obj = mess.replace(/\\n/g,\",\").replace(/\\t/g,\",\").replace(\" \",\"\").replace(\" \",\"\").replace(\" \",\"\") ;\nmsg.obj = obj;\n\nvar arr = obj.split(',');\nvar length = arr.length;\n\nvar myDate = new Date(); //实例一个时间对象;\nvar hours = ((Array(2).join(0)+myDate.getHours() ).slice(-2)) ;\nvar minutes = ((Array(2).join(0)+myDate.getMinutes()).slice(-2)) ;\nvar seconds = ((Array(2).join(0)+myDate.getSeconds()).slice(-2)) ;\nvar time = hours + \"\" + minutes + \"\" + seconds ; // 时分秒 hhmmss\n\n//日期:年/月/日\nvar day = ((Array(2).join(0)+myDate.getDate() ).slice(-2)) ;\nvar month = ((Array(2).join(0)+(myDate.getMonth()+1)).slice(-2)) ;\nvar year = myDate.getFullYear().toString().substr(2, 2) ;\nvar date = day + \"\" + month + \"\" + year; // 日月年 ddmmyy\n\nfor(var i=0;i<length;i++)\n{\n var tmp = arr[i].split('=');\n var key = tmp[0];\n var val = tmp[1];\n \n switch(key)\n {\n case \"lng\":\n lng = val;\n break;\n case \"lat\":\n lat = val;\n break;\n case \"heading\":\n heading = val; //航向(0~360)\n break;\n case \"airspeed\":\n airspeed = val;\n break;\n case \"GS\":\n GS = parseInt(val * 0.514); //1节相当于 0.514 米/秒\n break;\n case \"A\":\n A = parseInt(val * 0.3048); //海拔高度(单位:米)\n break;\n case \"AGL\":\n AGL = parseInt(val * 0.3048); //离地高度(单位:米)\n break; \n default:\n break;\n }\n}\n\n//创建对象\nvar json = {\n\t\"bh\":\"43DAAD\", //无人机编号、\n\t\"lng\":lng, //经度\n\t\"lat\":lat, //纬度\n\t\"hdg\":heading, //航向(0~360)\n\t\"vf\":GS, //速度(单位:米/秒)\n\t\"ta\":AGL, //离地高度(单位:米)\n\t\"tla\":A, //海拔高度(单位:米)\n\t\"sc\":15, //卫星数\n\t\"cri\":50, //电池剩余电量百分比(电池剩余电量的百分比,范围为 [0, 100])\n\t\"fly\":true, //飞行状态true-正在飞行\n\t\"time\":time, //时分秒hhmmss\n\t\"day\":date, //日月年ddmmyy\n\t\"www\":\"\", //skylines域名\n\t\"port\":0, //skylines端口\n\t\"key\":\"\" //skylines密钥\n}\n\nmsg.payload = json;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":380,"y":200,"wires":[["4cf3ecc6.8a6a04","3dc4f858.f9a1a8"]]},{"id":"3dc4f858.f9a1a8","type":"mqtt out","z":"fca2f5f.cdf3008","name":"","topic":"/xxh/dji/43DAAD","qos":"2","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"609ccc10.80f084","x":580,"y":200,"wires":[]},{"id":"4cf3ecc6.8a6a04","type":"debug","z":"fca2f5f.cdf3008","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":550,"y":140,"wires":[]},{"id":"609ccc10.80f084","type":"mqtt-broker","name":"mqtt.xinxinghang.cn","broker":"mqtt.xinxinghang.cn","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]