Link Kit SDK对接设备接入Link Visual视频边缘智能服务的前提是,设备必须先行接入Link Kit SDK,成为一个物联网设备。Link Kit提供了物联网设备接入阿里云IoT云的基础能力,包括长连接消息通道、配网、OTA等能力。

您需要在设备端上集成Link Kit SDK,完成所需的适配工作,详情可参考Link Kit C SDK对接文档说明,这里不作赘述。下面简单说明下对接Link Kit所需工作。

必做操作:

  • SDK下载、编译
  • HAL层的适配
  • 完成Link Kit C SDK中example/linkkit/linkkit_example_solo.c的示例

可选操作:

  • Wi-Fi配网开发
  • OTA开发
  • 其他

在Link Kit对接完成后,您需要把Link Kit接收到的消息通过调用Link Visual SDK的接口给到Link Visual SDK内部处理。可参考以下示例代码片段。

  • Link Kit注册服务调用回调:
    IOT_RegisterCallback(ITE_SERVICE_REQUST, user_service_request_event_handler);
  • 在Link Kit服务调用回调里,把消息通知给Link Visual:
    static int user_service_request_event_handler(const int devid, const char *id, const int id_len,
                                                const char *serviceid, const int serviceid_len,
                                                const char *request, const int request_len,
                                                char **response, int *response_len)
    {
        EXAMPLE_TRACE("Service Request Received, Devid: %d, ID %.*s, Service ID: %.*s, Payload: %s",
                        devid, id_len, id, serviceid_len, serviceid, request);
        //将服务类消息交由LinkVisual来处理,不需要处理response
        lv_linkkit_adapter_tsl_service_s in = {0};
        in.dev_id = devid;
        in.id = id;
        in.id_len = id_len;
        in.service_id = serviceid;
        in.service_id_len = serviceid_len;
        in.request = request;
        in.request_len = request_len;
        int ret = linkkit_adapter_tsl_service(&in);
        if (ret < 0) {
            return -1;
        }
    
        return 0;
    }