设备推送过来的数据怎么 监听接收 用什么方法 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 的项目。
- 实时变化:这些方法能够实时监听设备数据的变化并作出响应。
您可以根据项目的具体需求选择合适的监听方法,实现对设备推送数据的实时接收和处理。
 
   
  