大家好
Hello,各位好,很高兴第二次参与了AWS&CSDN举办的 Build On 活动,这一期活动的主题是物联网
Build On是 什么
亚马逊云科技开发者Build On是由亚马逊团队策划、开发者社区联合打造的动手实操系列活动。它是以现实技术应用和需求场景为核心,结合时下重点技术领域与亚马逊云科技的前沿技术方案打造的,面向开发人员、IT技术人员、或技术领域决策者的必备云课程。2022年亚马逊云科技Build On系列活动将围绕数据、软件、架构、运维和前沿技术领域的核心技术领域展开,旨在通过提供专业技术方向的动手实验、助教指导、专家答疑等服务,帮助开发者了解相关领域的经典技术框架以及经典案例最佳实践,并最终通过精心设计实验流程环境,由技术专家手把手带领开发者亲自设计、部署和操作。话题将涵盖云计算入i门基础和应用专业级服务应用,如机器学习、loT技术、Serverless、 基础设施等,覆盖从初创项目到成熟企业的全场景全生命周期的商业实战案例,无论您是刚接触到云的开发者,还是开发经验丰富的专家,您都将从Build On活动中获得实质性收获。
本次Build On主题介绍
在居家安防监控领域,基于实时视频的移动检测,发现监控环境中人、宠物、包裹等的出现,并且能实时地将检测结果通知给身处任何地方的用户是其重要的应用场景之一。但在这一场景的技术实现中面临如下的挑战:一是基于摄像头的视频检测通知,存在大量由于风、雨、移动的车等并非用户关注的事件误报,严重影响用户的使用体验。 二是实现这一方案涉及的技术领域与复杂度很高,如设备端事件检测和触发、视频编解码处理、视频存储、机器视觉等,需要团队具备较强的技术和专业能力。本实验将以最小化原型,体现由 Raspberry Pi Zero 2 W 加摄像头作为安防设备端,并使用 Amazon KVS 和 Amazon Rekognition Streaming Video Events 如何很好地解决了上述挑战,实现实时智能视觉识别。
活动链接:https://marketing.csdn.net/p/dba35524bec59472d5b2e1e7b48b7403
参与本场活动您能学到什么
- 带摄像头的IoT设备集成开发技能
- 端云之间的视频流数据统一管理及调度开 发技能
- 学习云上视频流处理和Al视觉识别检测实现方法
- 完成基于云上识别检测结果触发设备端操作的完整AloT闭环最佳实践经验
本场实验所用到的AWS服务
- Amazon IAM
- Amazon S3
- Amazon KVS
- Amazon Cloud9
- Amazon Rekognition
- Amazon SNS
实验部分
1.线上报名(2022.08.06)
对于没有机会参与线下活动的小伙伴(比如博主自己)就可以参加线上的活动,那么在这里活动方很贴心的考虑到这点,线上用户可以直接用自己的账户做实验或者联系活动小助手进行报名,另外这里还有一场是在 2022.08.06有一个线上的实验,大家有兴趣可以联系小助手报名CSDN小助手(WeChat):CSDNCS010
2.实验过程
实验解说搭建视频
视频链接地址:https://www.bilibili.com/video/BV1dS4y1t7SK/
2.1、流程
2.1.1、注意事项
1、保持服务区域一致
请参与实验的同学们一定要注意将所有服务的操作都保持在同一个区域中,例如实验手册中所提到的 爱尔兰(eu-west-1) 或者 我在视频中为大家演示的 弗吉尼亚北(us-east-1)
2、使用IAM用户操作
尤其需要注意必须使用IAM用户进行操作,请勿使用ROOT用户(也就是邮箱账户)进行操作,可能会导致无法收到邮件
3、服务ARN
请同学们尤其注意创建服务的ARN,将其记录下来,或者像我视频中的演示一样,将每个服务打开一个标签页,以便后面使用
2.1.2、错误解决
1、如在cloud9更新源和安装包时遇到如下错误
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
那么请运行,然后将 apt 更换为 apt-get
sudo rm /var/lib/dpkg/lock-frontend sudo rm /var/lib/dpkg/lock
2、 AWS::S3::PermanentRedirect
请确认你的存储桶和其他服务是否在同一个区域之中
3、json格式错误
请注意在创建和启动Rekognition视频流事件的json中是否包含错误,建议直接在cloud9中进行编写和修改
4.创建create-stream-processor错误
首先检查是否之前已经创建过,用如下命令查看
aws rekognition list-stream-processors
如果有,那么请先删除,再创建。
#删除命令 aws rekognition delete-stream-processor --name 已创建的processor名字
若是您想换个名字创建,那么直接修改json中的 processor的名字即可
2.2、所使用的命令
2.2.1、rekognition 部分
#创建 aws rekognition create-stream-processor -region 你的区域 --cli-input-json 你的json文件 #描述 aws rekognition describe-stream-processor --name processor名称 --region 区域 #列出 aws rekognition list-stream-processors #启动 aws rekognition start-stream-processor --region 你的区域 --cli-input-json 你的json文件 #删除 aws rekognition delete-stream-processor --name processor名称 --region 区域
2.2.2、S3部分
#列出文件 aws s3 ls 存储桶名称 --recursive #清除存储桶内所有 object aws s3 rm s3://存储桶名称 --recursive #清除存储桶 aws s3 rb s3://存储桶名称
2.2.3、SNS部分
#清除 topic aws sns delete-topic --topic-arn <您的topic arn> #清除订阅 aws sns unsubscribe --subscription-arn <您的subscripiton arn>
2.2.4、KVS
#清除 Kinesis video stream aws kinesisvideo delete-stream --stream-arn <您的stream arn>
3、实验结果
3.1、任务校验
3.1.1、SNS邮箱订阅校验
3.1.2、SNS通知到邮箱
3.1.3、S3文件写入查看
4、总结
这次我第二次参与AWS的Build On活动,也是Build On的第二季,很遗憾在这次实验中由于没有开发板,无法做前面树莓派环节的实验,那么整体流程下来其实还是很简单的,就是在Cloud9那里花费的时间较长,大家也可以像我在视频中演示的一样,合理的利用时间,使整个实验花费的时间更短。在这个实验中也有一定收获,例如那个S3的错误,以及启动 rekognition-stream-processor 的json文件中所定义的时间戳,那个是要根据自己的视频来操作,也可以听听我在视频中的描述。那么到此本篇博文就结束了,希望您在2022.08.06之前阅读到本篇博文,并且顺利参加到 2022年8月6日的线上实验,祝您收获满满