文档首页> IoT物联网> 最佳实践> 构建应用服务器> 设备上报数据触发语音通知(联通用户专用)
更新时间:2022-02-17 GMT+08:00
分享

设备上报数据触发语音通知(联通用户专用)

非联通用户请查看设备接入服务

场景说明

在物联网解决方案中,一个典型的场景是设备上报数据到物联网平台,物联网平台再推送至应用服务器,应用服务器根据上报的数据进行业务处理。

在本示例中,我们模拟一个烟雾报警器上报烟雾浓度和温度,当温度浓度和温度都超过应用服务器设置的阈值时,应用服务器调用华为云语音通知服务拨打用户的手机进行告警。

注:本示例中使用的华为云语音通知服务需要企业认证用户才可以开通。

本示例运行DEMO的机器需要作为服务器接收物联网平台的推送消息,必须绑定一个外网IP。

配置设备管理服务

在设备管理服务中创建产品模型并注册设备。

  1. 登录华为云官方网站,访问“设备管理服务”
  2. 单击“立即使用”进入设备管理控制台。
  3. 单击页面右上角的“进入设备管理服务”进入控制台。
  4. 在“应用列表”页面中点击应用图标查看应用详情。

  5. 重置密钥,并妥善保存重置后的应用ID和密钥。

  6. 单击页面左下角的切换左侧菜单,打开“产品模型”页面,单击页面右上角的新增产品模型 > 本地导入

    注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。

  7. 导入样例模型文件,“产品名称”自定义,如“Smokescope”。点此获取样例模型文件

  8. 进入设备 > 设备注册页面,单击“创建”,填写设备注册参数。

    参数名称

    说明

    选择产品

    选择您导入的产品模型,如“Smokescope”。

    设备标识码

    设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成接入鉴权。

    • 原生MQTT设备:通过注册成功后生成的“设备ID”(与设备标识码一一对应)和“密钥”接入平台。

    • NB-IoT设备、集成Agent Lite SDK的设备:设备通过注册时填写的“设备标识码”和“预置密钥”接入平台。

    无真实设备时可随意填写英文字母和数字的组合字符串。

    预置密钥

    • NB-IoT设备、集成Agent Lite SDK的设备接入时,用于设备和物联网平台之间的传输通道安全加密。
    • 原生MQTT设备接入时,暂无作用,可随意填写。

    确认密钥

    再次填写预置密钥。

    填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“密钥”。

配置语音通话服务

开通语音通话服务,申请业务资源并配置语音模板,实现语音通知告警的功能。

  1. 登录华为云官方网站,访问语音通话服务
  2. 单击“进入控制台”,申请开通服务。详情请参考如何订购并开通语音通话服务?服务开通后会收到包含开发者账号和开发者密码的短信。
  3. 登录语音通话管理控制台,添加企业
  4. 添加应用,业务类型为“语音通知”,根据业务需要选择是否开通录音和是否需要接收呼叫状态和呼叫话单通知。

    本示例中不开通录音且不填写呼叫状态和呼叫话单的接收地址。

  5. 添加业务申请,申请CallEnabler业务号码和来电显示号码。
  6. 添加语音模板,模板样例如下:
    • 模板名称:smoke_alarm
    • 语速控制:正常
    • 模板内容:尊敬的${TXT_12},${TXT_32}可能发生火灾,请尽快确认并处理。
    • 备注:烟雾报警器报警后自动语音通知用户火灾发生地点。

开发物联网应用

开发物联网应用,实现设备上报的烟雾浓度和温度均高于阈值时,根据设备ID查找设备安装地点和关联手机号,调用语音通话服务的接口拨打该手机进行告警。

本文中使用DEMO进行演示,您可以参考DEMO开发自己的物联网应用进行使用。

  1. 点击下载烟感应用DEMO。
  2. 准备JAVA开发环境并导入DEMO工程,操作方法可参考开发指南
  3. 修改DEMO中的常量。
    1. 打开com.utils > Constant.java

    2. 修改IOT_BASE_URL为物联网平台的应用接入地址,可在设备接入服务的管理控制台查看。
    3. 修改IOT_APPIDIOT_SECRET配置设备管理服务时获取的应用ID和密钥。
    4. 修改IOT_CALLBACK_URL中的IP为本机的外网IP,端口保持8888不变。
    5. 修改CN_BASE_URL为语音通知的应用接入地址,可在语音通话服务管理控制台的“应用管理”页面获取。
    6. 修改CN_APPID为语音通知应用的APP_Key,可在语音通话服务管理控制台的“应用管理”页面获取。
    7. 修改CN_USERNAMECN_PASSWORD为开通语音通话服务时短信通知的开发者账号和密码。
    8. 修改TEMPLATEID为语音通知模板ID,可在语音通话服务管理控制台的“语音模板管理”页面获取。
    9. 修改BINDNUMDSPNUM为已申请的CallEnabler业务号码和和来电显示号码,可在语音通话服务管理控制台的“业务管理”页面获取。

验证操作

  1. 右键单击com.iot_voice_demo > SubscribeServiceNotification.java,选择Run As > Java Application,若控制台显示订阅返回“201 created”,表示DEMO运行成功。
  2. 控制设备上报数据。
    • 您可以使用配置设备管理服务时注册的真实设备接入平台,上报“smoke”和“temperature”均大于70的数据。
    • 您也可以使用模拟器模拟设备上报“smoke”和“temperature”均大于70的数据,操作方法请参考通过MQTT.fx体验设备接入

期望结果:

手机收到呼叫,显示号码是DEMO中设置为DSPNUM的来电显示号码,接听后可听到语音通知,例如“尊敬的张三,A市B小区C栋1101可能发生火灾,请尽快确认并处理。”

分享:

    相关文档

    相关产品

close