扩展 AWS DeepLens 以使用 AWS Lambda 发送 SMS 通知
AWS DeepLens 是一个带有摄像头的支持深度学习的开发人员工具包。它使您能够通过实操计算机视觉教程和预建模型来开发机器学习技能并进行扩展。
本博客文章将说明如何借助 AWS IoT 规则引擎和 Lambda 函数来利用云功能扩展 DeepLens 的本地功能。我们在这里介绍的简单功能是:在您通过 DeepLens 设备看到热狗后向您的电话号码发送 SMS 通知。我们期望有更多的高级用户扩展此功能以包含其他 AWS 云服务,例如 Amazon Elasticsearch Service (利用时间轴和帧为检测到的所有对象和面部构建控制面板和搜索界面)、Amazon Kinesis Analytics (构建有关在您的店面前走过的人数的异常检测模型)、Amazon Rekognition (使用名人识别和面部搜索 API 来识别您周围的 VIP) 和很多其服务。
这里有一张示意图展示了系统中数据的流动 – 从摄像头前部的物体一直到您口袋中的移动设备。
创建 Lambda 函数
首先,您将创建一个 AWS Lambda 函数,该函数将在云中运行并为具有足够高 (>0.5) 的概率获得热狗的人筛选来自您的 DeepLens 设备的消息。在此过程中,您还将在 AWS IoT 规则引擎中创建一条规则,用于从您使用 AWS Greengrass 部署到设备的 Lambda 函数获取消息。
- 在 AWS Lambda 控制台上,转到“Create Function”。
- 筛选包含“iot-button-email”的蓝图并选择它作为您的蓝图模板。
- 为您的 Lambda 函数指定一个名称。例如,Hotdog_Notifier”。
- 在“Role”字段中保留“Create a new Role from template(s)”值。
- 为新角色指定名称。例如,“Hotdog_Notifier_Role”。
- 在“Policy Templates”中添加策略“SNS Publish policy”。
- 在“aws-iot”部分中,切换为使用“Custom IoT Rule”。
- 选择“Create a new rule”。
- 为该规则指定名称 (例如,“search_hotdogs”) 和描述。
- 在规则查询语句中放置以下 SELECT 查询:Select Hotdog from ‘/$aws/deeplens/KJHFD-DKJO87-LJLKD/inference’。此查询可捕获来自 DeepLens 设备的采用以下 JSON 格式的消息:
{ "Hotdog" : 0.5438 }
- 在后面的复选框中启用“Trigger”。
- 我们将在下一步中修改 Lambda 函数的代码。
- 将环境参数从“email”更改为“phone_number”,并将您的电话号码作为“Value”放置。请注意,电话号码格式应包含国家/地区代码 (例如,美国号码 +15555555555)。您可以在 AWS SNS 常见问题中阅读有关针对 SMS 的国际支持的更多内容:https://aws.amazon.com/sns/faqs/#sms-related-questions
- 选择“Create Function”按钮。
- 切换为您刚刚创建的 Lambda 函数的“Configuration”。您可以查找左侧的配置选项卡 (“configuration”、“triggers”和“monitoring”)。
- 在 Lambda 函数代码中,我们可以删除常规 SNS 订阅所需的所有帮助程序函数,例如 findExistingSubscription、createSubscription 和 createTopic。删除“use strict”之前的所有代码。我们还将修改代码以直接发送 SMS:
- 选择“Save”。您也可以在此屏幕中测试 Lambda 函数,但我们现在将通过 IoT 规则引擎测试它,以模拟来自 DeepLens 设备的消息流。
测试配置
- 在 IoT 控制台中,选择“Test”选项。
- 在以下消息上方选择“Publish to a Topic”和“Publish to the topic you defined in your Rule”:
{ "Hotdog": 0.68725 }
。
- 您应该会收到 SMS 通知,其中包含消息“Your DeepLens device just…”,该消息是您在 Lambda 函数中定义的。
- 现在是时候向您的 DeepLens 设备展示一些对象和一根热狗了。祝您好运!
- 如果您在向设备展示一根热狗后没有收到信息,请回到顶部的图表,然后验证您是否按照颜色匹配了相关值以及是否提供了正确的电话号码和国家/地区代码。
结论
Amazon DeepLens 是一个开放式教育和创新平台,我们希望开发人员能提出很多不同的想法来使用它解决现实生活中的问题:从分析在商店周围走动的人员到为您的汽车自动打开车库门,或者在您的餐厅里的桌子很脏或客人请求服务时提醒您。这只是您可以使用 AWS DeepLens 构建 (借助与本博客文章中的简单扩展类似的扩展) 的系统的一个小型示例。
补充阅读
了解如何通过 HTML 页面上的 AWS DeepLens 自定义和显示项目输出。
作者简介
Guy Ernest 是 Amazon AI 的首席解决方案架构师。 他有一个令人非常兴奋的机会来帮助塑造和践行策略,以构建思想共享并广泛使用适用于 AI、机器学习和深度学习使用案例的 Amazon 云计算平台。在空闲时间,他喜欢与妻子和家人呆在一起,收集一些令人尴尬的故事,然后在谈论 Amazon 和 AI 的未来时进行分享。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的