【华为云技术分享】【IoT最佳实践】智慧烟感语音报警(配置篇)
【摘要】 我们模拟一个烟雾报警器上报烟雾浓度和温度,当温度浓度和温度都超过应用服务器设置的阈值时,应用服务器调用华为云语音通知服务拨打用户的手机进行告警。
场景说明
在物联网解决方案中,一个典型的场景是设备上报数据到物联网平台,物联网平台再推送至应用服务器,应用服务器根据上报的数据进行业务处理。
在本示例中,我们模拟一个烟雾报警器上报烟雾浓度和温度,当温度浓度和温度都超过应用服务器设置的阈值时,应用服务器调用华为云语音通知服务拨打用户的手机进行告警。
本示例中使用的华为云语音通知服务需要企业认证用户才可以开通。
本示例运行DEMO的机器需要作为服务器接收物联网平台的推送消息,必须绑定一个外网IP。
配置设备管理服务
在设备管理服务中创建产品模型并注册设备。
-
登录华为云官方网站,访问设备管理服务。
-
单击“立即使用”进入设备管理控制台。
-
单击页面右上角的“进入设备管理服务”进入控制台。
-
在“应用列表”页面中点击应用图标查看应用详情。
5.重置密钥,并妥善保存重置后的应用ID和密钥。
6.切换左侧菜单,打开“产品模型”页面,单击页面右上角的“新增产品模型 > 本地导入”。
注:本文中使用的产品模型和设备仅为示例,您可以使用自己的产品模型和设备进行操作。
7.导入样例模型文件,“产品名称”自定义,如“Smokescope”。点此获取样例模型文件
8.进入“设备 > 设备注册”页面,单击“创建”,填写设备注册参数。
9.填写完成后单击“确定”,请注意保存注册成功返回的“设备ID”和“密钥”。
配置语音通话服务
开通语音通话服务,申请业务资源并配置语音模板,实现语音通知告警的功能。
-
登录华为云官方网站,访问语音通话服务。
-
单击“进入控制台”,申请开通服务。详情请参考如何订购并开通语音通话服务?服务开通后会收到包含开发者账号和开发者密码的短信。
-
登录语音通话管理控制台,添加企业。
-
添加应用,业务类型为“语音通知”,根据业务需要选择是否开通录音和是否需要接收呼叫状态和呼叫话单通知。
-
本示例中不开通录音且不填写呼叫状态和呼叫话单的接收地址。
-
添加业务申请,申请CallEnabler业务号码和来电显示号码。
-
添加语音模板,模板样例如下:
- 模板名称:smoke_alarm
- 语速控制:正常>
- 模板内容:尊敬的${TXT_12},${TXT_32}可能发生火灾,请尽快确认并处理。
- 备注:烟雾报警器报警后自动语音通知用户火灾发生地点。
开发物联网应用
开发物联网应用,实现设备上报的烟雾浓度和温度均高于阈值时,根据设备ID查找设备安装地点和关联手机号,调用语音通话服务的接口拨打该手机进行告警。
本文中使用DEMO进行演示,您可以参考DEMO开发自己的物联网应用进行使用。
- 打开“com.utils > Constant.java”。
- 修改IOT_BASE_URL为物联网平台的应用接入地址,可在设备接入服务的管理控制台查看。
- 修改IOT_APPID和IOT_SECRET为配置设备管理服务时获取的应用ID和密钥。
- 修改IOT_CALLBACK_URL中的IP为本机的外网IP,端口保持8888不变。
- 修改CN_BASE_URL为语音通知的应用接入地址,可在语音通话服务管理控制台的“应用管理”页面获取。
- 修改CN_APPID为语音通知应用的APP_Key,可在语音通话服务管理控制台的“应用管理”页面获取。
- 修改CN_USERNAME和CN_PASSWORD为开通语音通话服务时短信通知的开发者账号和密码。
- 修改TEMPLATEID为语音通知模板ID,可在语音通话服务管理控制台的“语音模板管理”页面获取。
- 修改BINDNUM和DSPNUM为已申请的CallEnabler业务号码和和来电显示号码,可在语音通话服务管理控制台的“业务管理”页面获取。
验证操作
-
右键单击“com.iot_voice_demo > SubscribeServiceNotification.java”,选择“Run As > Java Application”,若控制台显示订阅返回“201 created”,表示DEMO运行成功。
-
控制设备上报数据。
- 您可以使用配置设备管理服务时注册的真实设备接入平台,上报“smoke”和“temperature”均大于70的数据。
- 您也可以使用模拟器模拟设备上报“smoke”和“temperature”均大于70的数据,操作方法请参考快速体验设备接入。
期望结果:
手机收到呼叫,显示号码是DEMO中设置为DSPNUM的来电显示号码,接听后可听到语音通知,例如“尊敬的张三,A市B小区C栋1101可能发生火灾,请尽快确认并处理。”
作者:华为云·云享专家 我是卤蛋