设备推送过来的数据怎么 监听接收 用什么方法 api
设备推送过来的数据怎么 监听接收 用什么方法 api
Re: 设备推送过来的数据怎么 监听接收 用什么方法 api
要监听设备推送过来的数据,可以通过以下两种方法实现:
方法一: 使用 onDpDataChange
可以使用 onDpDataChange
API 来监听设备上报的数据点变化。以下是实现示例:
Code: Select all
import { onDpDataChange } from '@ray-js/ray';
import {
onDpDataChange,
getLaunchOptionsSync,
registerDeviceListListener
} from '@ray-js/ray';
// 启动参数中获取设备 id
const {
query: { deviceId }
} = getLaunchOptionsSync();
// 监听设备数据变化
const _onDpDataChange = (dpData) => {
console.log('设备数据变化:', dpData);
// 处理接收到的 dpData
};
registerDeviceListListener({
deviceIdList: [deviceId],
success: () => {
console.log('registerDeviceListListener success');
},
fail: (error) => {
console.log('registerDeviceListListener fail', error);
}
});
onDpDataChange(_onDpDataChange);
方法二: 使用 useProps
如果你使用的是 React,可以使用涂鸦的 SDM 提供的 useProps
Hooks 来监听数据变化:
Code: Select all
import { useProps } from '@ray-js/panel-sdk';
function MyComponent() {
const dpData = useProps(props => props);
// 可以根据 dpData 的变化来渲染组件或处理数据
console.log('DP数据:', dpData);
// 返回组件的 JSX
}
补充说明
- 适用场景:
onDpDataChange
适合于任何 JavaScript 项目,而useProps
更适合于使用 React 的项目。 - 实时变化:这些方法能够实时监听设备数据的变化并作出响应。
您可以根据项目的具体需求选择合适的监听方法,实现对设备推送数据的实时接收和处理。