本章主要描述,在驱动开发过程中遇到的问题及其解决方法。
leda_register_and_online_by_device_name(const char *product_key, const char *device_name, leda_device_callback_t *device_cb, void *usr_data)
接口的device_cb
作用是什么?答:
用于接收来自云端或其他边缘应用对设备的服务请求调用。分别是请求获取设备属性、请求设置设备属性,请求调用设备服务。
-
typedef struct leda_device_callback { ... int service_output_max_count; /* 设备服务回调结果数组最大长度 */ } leda_device_callback_t;
字段
service_output_max_count
表示什么意思?答:
用于设置
call_service_cb
回调接口output_data
数组的最大长度。 leda_init(const char *module_name, int worker_thread_nums)
接口的worker_thread_nums
是用来做什么的?答:
用于初始化驱动的线程池。初始的线程池处理来自云端或边缘应用对设备的请求调用,具体大小可根据接入设备量进行合理设置。
leda_register_and_online_by_device_name
和leda_register_and_online_by_local_name
有什么区别?答:
by_device_name
表示用此接口实现设备注册的设备名称device_name,必须与在阿里云物联网平台创建设备时的名称一样。by_local_name
表示用此接口实现设备注册的设备名称device_name,可使用自定义名称。说明 针对同一ProductKey下的设备注册,必须保证只能使用同一接口。即by_device_name
和by_local_name
接口不允许在同一ProductKey下同时使用。
- 设备正常上线且从设备所在驱动的日志中看到设备数据正常上报,但在物联网平台控制台,设备数据上报内容没有被更改?
答:
确认是否在物联网平台控制台配置了消息路由,详细操作请参见设置消息路由内容。
文档内容是否对您有帮助?