Linux设备接入实践

更新时间:
复制 MD 格式

本文介绍在LinuxmacOS环境中使用音频播放器的设备通过C Link SDK方式接入千里传音服务,实现智能语音播报。

使用前必读

本文操作步骤以普通用户权限为例。如果您在操作过程中涉及到管理员权限才能执行的操作,可尝试使用sudo命令执行。

前提条件

  • 已开通千里传音服务。具体操作,请参见开通服务

  • 已准备开发环境。具体说明,环境说明

步骤一:安装音频播放器

LinuxmacOS环境下,执行以下命令,完成音频播放器安装。

Linux

sudo apt-get install sox

macOS

brew install sox

步骤二:创建项目和设备

  1. 登录物联网平台控制台,在左侧导航栏选择增值服务

  2. 增值服务页面,单击千里传音服务下的前往服务

    说明

    如果您还没有开通千里传音服务,在选购增值服务区域单击前往查看服务,在增值服务中心开通千里传音服务具体操作,请参见开通服务

  3. 在左侧导航栏中选择项目管理

  4. 项目管理页面,单击创建项目,在创建项目对话框中设置参数并单击确定

  5. 单击项目右侧的配置,进入项目详情页面,单击设备管理 > 创建设备

  6. 跳转至物联网平台设备管理页面创建设备,设置参数后单击确认

    DeviceName示例:device。

    对话框中需选择产品,按需填写备注名称DeviceName可为空,为空时系统自动生成唯一标识符。

  7. 添加完成页面,获取设备的鉴权信息(ProductKey、DeviceNameDeviceSecret),并单击完成

    您也可以返回至千里传音服务获取设备的鉴权信息,重新加载页面后,设备管理页面将出现新创建的设备。在设备列表页面,单击目标设备操作列中的鉴权信息,即可在弹出的对话框中查看并复制设备的鉴权信息。

    设备的鉴权信息后续需要使用,请一键复制至您本地并保存。

步骤三:编译SDK

  1. 下载linkspeech_posix_demo_v2.zip,然后解压出文件./LinkSDK

  2. 打开文件./LinkSDK/demos/link_speech_basic_demo.c,修改设备证书信息和MQTT接入域名,然后保存。

    实例下设备接入域名获取方法,请参见查看实例终端节点

    /* TODO: 替换为自己设备的鉴权信息 */
    char *product_key       = "a1Ch***R5";
    char *device_name       = "device";
    char *device_secret     = "e9801e41***a70c88b6d";
    /* TODO: 替换为当前实例下设备的MQTT接入域名 */
    char  *host = "a1Ch*****R5.iot-as-mqtt.cn-shanghai.aliyuncs.com";
  3. SDK根目录./LinkSDK下,执行make命令,完成样例程序的编译。

  4. 执行可编译文件。

    ./output/link-speech-basic-demo

    返回类似如下信息,表示设备与物联网平台连接成功,可以开始使用千里传音服务。

    Z:/opt/LinkSDK# ./output/link-speech-basic-demo
    [1648625170.366][LK-0313] MQTT user calls aiot mqtt_connect api, connect
    [1648625170.366][LK-032A] mqtt host: xxx.iot-as-mqtt.cn-shanghai.aliyuncs.com
    [1648625170.366][LK-0317] user name: device&axxx
    [1648625170.366][LK-0318] password: xxx
    establish tcp connection with server(host='axxx.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443])
    success to establish tcp, fd=3
    local port: 44730
    [1648625170.377][LK-1000] establish mbedtls connection with server(host='axxx.iot-as-mqtt.cn-shanghai.aliyuncs.com', port=[443])
    [1648625170.400][LK-1000] success to establish mbedtls connection, (cost 45252 bytes in total, max used 47988 bytes)
    [1648625170.488][LK-0313] MQTT connect success in 115 ms
    AIOT_MQTTEVT_CONNECT

步骤四:智能语音播报

根据实际需求,创建语料推送给设备进行播报。具体操作,请参见:步骤二:创建语料步骤三:推送语料步骤四:语音播报

设备与千里传音之间交相信息说明,请参见服务调用