【华为云技术分享】【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可能发生火灾,请尽快确认并处理。”
作者:华为云·云享专家 我是卤蛋
- 点赞
- 收藏
- 分享
- 文章举报
- TOP100summit:【分享实录-华为】微服务场景下的性能提升最佳实践
- TOP100summit:【分享实录-华为】微服务场景下的性能提升最佳实践
- webpack配置的最佳实践分享
- 【华为云技术分享】漫谈LiteOS-Huawei_IoT_Link_SDK_OTA 开发指导
- 【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享
- 阿里云智能语音交互技术实践干货分享
- 从“技术理性”到“实践智慧” 华为云这波大招够强
- Spring.2.0核心技术与最佳实践 PDF分享
- JBoss 7/WildFly 配置管理,开发示例,架构分析,最佳实践
- ASP.NET开发实践--构建安全的Microsoft ASP.NET 应用的最佳实践和技术
- 银光志—Silverlight 3.0技术详解与最佳实践上架中文亚马逊-卓越网和当当网
- 六点J2EE应用中运用“配置”的最佳实践
- Hyperledger技术实践与案例分享-2017CCTC大会-专题视频课程
- Spring XML配置十二个最佳实践
- Spring XML配置十二个最佳实践
- 深入理解JAVA7核心技术与最佳实践
- 配置管理最佳实践之注释
- 运维经验分享:Hadoop管理员的十个最佳实践
- 【华为云技术分享】浅谈服务化和微服务化(上)
- ANT安装配置笔记和最佳实践