Linux设备接入实践
本文介绍在Linux和macOS环境中使用音频播放器的设备通过C Link SDK方式接入千里传音服务,实现智能语音播报。
使用前必读
本文操作步骤以普通用户权限为例。如果您在操作过程中涉及到管理员权限才能执行的操作,可尝试使用sudo命令执行。
前提条件
步骤一:安装音频播放器
在Linux和macOS环境下,执行以下命令,完成音频播放器安装。
Linux
sudo apt-get install sox
macOS
brew install sox
步骤二:创建项目和设备
-
登录物联网平台控制台,在左侧导航栏选择增值服务。
-
在增值服务页面,单击千里传音服务下的前往服务。
说明如果您还没有开通千里传音服务,在选购增值服务区域单击前往查看服务,在增值服务中心开通千里传音服务。具体操作,请参见开通服务。
-
在左侧导航栏中选择项目管理。
-
在项目管理页面,单击创建项目,在创建项目对话框中设置参数并单击确定。
-
单击项目右侧的配置,进入项目详情页面,单击设备管理 > 创建设备。
-
跳转至物联网平台设备管理页面创建设备,设置参数后单击确认。
DeviceName示例:device。
对话框中需选择产品,按需填写备注名称。DeviceName可为空,为空时系统自动生成唯一标识符。
-
在添加完成页面,获取设备的鉴权信息(ProductKey、DeviceName和DeviceSecret),并单击完成。
您也可以返回至千里传音服务获取设备的鉴权信息,重新加载页面后,设备管理页面将出现新创建的设备。在设备列表页面,单击目标设备操作列中的鉴权信息,即可在弹出的对话框中查看并复制设备的鉴权信息。
设备的鉴权信息后续需要使用,请一键复制至您本地并保存。
步骤三:编译SDK
-
下载linkspeech_posix_demo_v2.zip,然后解压出文件
./LinkSDK。 -
打开文件
./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"; -
在SDK根目录
./LinkSDK下,执行make命令,完成样例程序的编译。 -
执行可编译文件。
./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
步骤四:智能语音播报
根据实际需求,创建语料推送给设备进行播报。具体操作,请参见:步骤二:创建语料、步骤三:推送语料、步骤四:语音播报。
设备与千里传音之间交相信息说明,请参见服务调用。