- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很想得到一些知道如何解释如何在红色 Node 中创建十六进制到“文本”解码器的人的意见。
我有一个 Elsys 传感器,可以生成包含温度、湿度等信息的有效载荷十六进制。
交付的有效负载是“0100df02170400dc0500070e13”,在他们的网站上,他们有一个简单的解码器,效果很好,但我想创建一个 Node 链,在交付数据时对其进行解码,并将其解析为 influxdb。
https://www.elsys.se/en/elsys-payload/是有效负载 JavaScript 的链接。
以前有人做过类似的事情吗?我在互联网上搜索了几个小时寻找某种示例,但什么也没找到,或者我只是在寻找错误的东西。
提前谢谢您。
最佳答案
您提供的链接提供了解码该有效负载所需的 JavaScript。
您可以在函数 Node 中使用该代码,以便在流程中进行解码。
例如,配置为注入(inject)有效负载 0100df02170400dc0500070e13
的注入(inject) Node ,通过此函数会产生有效负载:
{"temperature":223,"humidity":23,"light":220,"motion":0,"vdd":3603}
<小时/>
/*
______ _ _______ _______
| ____| | / ____\ \ / / ____|
| |__ | | | (___ \ \_/ / (___
| __| | | \___ \ \ / \___ \
| |____| |____ ____) | | | ____) |
|______|______|_____/ |_| |_____/
ELSYS simple payload decoder.
Use it as it is or remove the bugs :)
www.elsys.se
peter@elsys.se
*/
const TYPE_TEMP =0x01; //temp 2 bytes -3276.8°C -->3276.7°C
const TYPE_RH =0x02; //Humidity 1 byte 0-100%
const TYPE_ACC =0x03; //acceleration 3 bytes X,Y,Z -128 --> 127 +/-63=1G
const TYPE_LIGHT =0x04; //Light 2 bytes 0-->65535 Lux
const TYPE_MOTION =0x05; //No of motion 1 byte 0-255
const TYPE_CO2 =0x06; //Co2 2 bytes 0-65535 ppm
const TYPE_VDD =0x07; //VDD 2byte 0-65535mV
const TYPE_ANALOG1 =0x08; //VDD 2byte 0-65535mV
const TYPE_GPS =0x09; //3bytes lat 3bytes long binary
const TYPE_PULSE1 =0x0A; //2bytes relative pulse count
function bin16dec(bin) {
var num=bin&0xFFFF;
if (0x8000 & num)
num = - (0x010000 - num);
return num;
}
function bin8dec(bin) {
var num=bin&0xFF;
if (0x80 & num)
num = - (0x0100 - num);
return num;
}
function hexToBytes(hex) {
for (var bytes = [], c = 0; c < hex.length; c += 2)
bytes.push(parseInt(hex.substr(c, 2), 16));
return bytes;
}
function DecodeElsysPayload(data){
var obj ={};
for(i=0;i<data.length;i++){
switch(data[i]){
case TYPE_TEMP: //Temperature
var temp=(data[i+1]<<8)|(data[i+2]);
temp=bin16dec(temp);
obj.temperature=temp;
i+=2;
break;
case TYPE_RH: //Humidity
var rh=(data[i+1]);
obj.humidity=rh;
i+=1;
break;
case TYPE_ACC: //Acceleration
obj.x=bin8dec(data[i+1]);
obj.y=bin8dec(data[i+2]);
obj.z=bin8dec(data[i+3]);
i+=3;
break;
case TYPE_LIGHT: //Light
var light=(data[i+1]<<8)|(data[i+2]);
obj.light=light;
i+=2;
break;
case TYPE_MOTION: //Motion sensor(PIR)
var motion=(data[i+1]);
obj.motion=motion;
i+=1;
break;
case TYPE_CO2: //CO2
var co2=(data[i+1]<<8)|(data[i+2]);
obj.co2=co2;
i+=2;
break;
case TYPE_VDD: //Battery level
var vdd=(data[i+1]<<8)|(data[i+2]);
obj.vdd=vdd;
i+=2;
break;
case TYPE_ANALOG1: //Analog input 1
var analog1=(data[i+1]<<8)|(data[i+2]);
obj.analog1=analog1;
i+=2;
break;
case TYPE_GPS: //gps
obj.lat=(data[i+1]<<16)|(data[i+2]<<8)|(data[i+3]);
obj.long=(data[i+4]<<16)|(data[i+5]<<8)|(data[i+6]);
i+=6;
break;
case TYPE_PULSE1: //Pulse input 1
var pulse1=(data[i+1]<<8)|(data[i+2]);
obj.pulse1=pulse1;
i+=2;
break;
}
}
return obj;
}
msg.payload = DecodeElsysPayload(hexToBytes(msg.payload));
return msg;
关于javascript - 传感器有效负载十六进制到文本 Node 红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271871/
当运行这段代码时,它会以默认大小打开窗口: View [ text "window open with default size" ] 如果 a 明确给出一个大小,它将打开一个具有该大小的窗口
我创建了一个 DataGridView 并添加了一个 DataGridViewImageColumn(使用设计器)。 DataGridView 具有“AllowUserToAddRows = true
如何实现红色数字指示器(例如电子邮件计数通知)? 最佳答案 您正在寻找的是 applicationIconBadgeNumber 属性,它是 UIApplication 的属性。 要从应用中的任何位置
我很想得到一些知道如何解释如何在红色 Node 中创建十六进制到“文本”解码器的人的意见。 我有一个 Elsys 传感器,可以生成包含温度、湿度等信息的有效载荷十六进制。 交付的有效负载是“0100d
我正在使用 node-red 程序,并且使用 OPCUA Node ,该 Node 在有效负载中返回对象数组。 我需要获取对象的一些变量,例如项目的nodeId;我尝试使用下一种格式: var new
我们开发了一个在 OS 6 及更高版本上使用 Blackberry BarcodeScanner 类解码 QR 码的应用程序。当调用条形码扫描仪屏幕时,操作系统对相机权限和应用程序的警告被隐藏,即它进
我需要 SprikeKit 方面的帮助或建议。我的应用程序/游戏通过了 Apple 审查,但后来我收到了一些关于图形的投诉(大红色 X)。我正在使用 spriteNodeWithImageNamed
有人可以看看我的 jsfiddle,看看是否可以使红色 div 在中间垂直对齐,并使红色 div 也居中。您必须使包含红色 div 的 div 具有一定高度 jsFiddle
我不希望我的子页面继承父主题的链接颜色(红色),而是我希望我的子页面上有白色链接,我应该在 html/css 中更改什么才能实现这一点? 父页面CSS a{ text-decoration:no
我想尽可能使用系统颜色。如何选择不包含在系统颜色中的颜色? 两者都是SystemColors WPF 类,SystemColors GetSysColor 的 WinForms 类和 COLOR_*
有谁知道如何以编程方式处理 Android HTC 设备红色(电源)按钮以停止我的操作。当用户在我的屏幕上时按下 REd 按钮时,我想停止运行我的一些操作。我知道对于像后退按钮这样的其他按钮,我可以使
嗨,我是图像处理方面的新手,现在我正在使用 python 处理图像以获得更多洞察力。但是,我对颜色 channel 的理解有点不满意。 在我看来,形状为 (400, 400, 3) 的 RGB 图像意
我正在遵循此处红色文档中的示例:http://static.red-lang.org/red-system-specs.html#section-14 这是我的代码: Red [] #import [
十分钟的谷歌搜索不断返回相同的答案,但在我的情况下无效。我想禁用 Aptana 为制作这些波浪线所做的一切。 我找到了几个指向 Window->Preferences->General->Editor
如何在 Red/System 中创建指向数组中第一个元素的指针? 将地址分配给指针没有问题: my-integer: 1 ptr: declare pointer! [integer!] ptr: :
我希望 webview 在按下后退按钮时显示上一页我正在使用 .canGoBack 来完成此操作,但“.canGoBack”和“.GoBack”带有红线下划线,声明 ==== “无法从静态上下文引用非
有谁知道为什么在 Xcode 项目的导航器中我的 Pods.xcodeproj 文件以红色列出?我假设这意味着 Xcode 无法找到该文件,那么我如何确保它确实存在于项目中。 谢谢! 最佳答案 在工作
Java 线程堆栈组织由以下描述 diagram in comments .所以 1 glibc guard page 似乎是由 pthread_attr_init(pthread_attr*) 设置
我在一个 Conceal 的模态 div 中有一个类似于 facebook 的按钮,当用户单击一个按钮时,模态就会出现。 不幸的是,出现的 facebook 按钮上有一个红色矩形,见下图: 我用的是I
我真的很想在 css 中创建红色的 instagram 泡泡用如图所示的圆形尖端: 除了圆头,我几乎什么都有,但我不确定我应该如何做到最好...... 这是我目前所拥有的: .notif { di
我是一名优秀的程序员,十分优秀!