精华内容
下载资源
问答
  • Amazon IoT Greengrass很容易部署在设备侧/网关侧,同时也提供良好的运行时环境,针对安防监控厂商Camera设备可以结合Amazon IoT Greengrass来实现边...

    Amazon IoT Greengrass很容易部署在设备侧/网关侧,同时也提供良好的运行时环境,针对安防监控厂商Camera设备可以结合Amazon IoT Greengrass来实现边缘侧AI/ML场景。这里通过树莓派部署Amazon IoT Greengrass跑dlib库从摄像机实时视频流中抽取视频帧来实现人脸识别和比对。

    准备工作

    • 一台树莓派设备,本方案采用RaspberryPi 4B ,CSI摄像头。

    • 将CSI摄像头处理为Raspbian OS能识别的设备,需开启V4l2 Module

    • 树莓派上安装python3运行环境

    • 安装Amazon IoT Greengrass,参考官方文档,这里创建名称为“raspberrypiGroup”组

    • 上传一张照片到树莓派指定目录下用于后续人脸比对。

    架构图

    创建存储桶

    创建名称为”greengrass-detect-realtime-video”图片桶,区域选择”新加坡”

    创建访问密钥

    IAM服务中新建一个用户,选择编程访问,选择

    选择创建策略,选择JSON,输入内容如下

     1{
     2    "Version": "2012-10-17",
     3    "Statement": [
     4        {
     5            "Effect": "Allow",
     6            "Action": "s3:ListAllMyBuckets",
     7            "Resource": "arn:aws:s3:::*"
     8        },
     9        {
    10            "Effect": "Allow",
    11            "Action": [
    12                "s3:ListBucket",
    13                "s3:GetBucketLocation"
    14            ],
    15            "Resource": "arn:aws:s3:::greengrass-detect-realtime-video"
    16        },
    17        {
    18            "Effect": "Allow",
    19            "Action": [
    20                "s3:PutObject",
    21                "s3:PutObjectAcl",
    22                "s3:GetObject",
    23                "s3:GetObjectAcl",
    24                "s3:DeleteObject"
    25            ],
    26            "Resource": "arn:aws:s3:::greengrass-detect-realtime-video/*"
    27        }
    28    ]
    29}
    

    选择安全证书,创建访问密钥

    载保存密钥后,回到服务界面选择Amazon Secrets Manager服务,选择“存储新的密钥”,选择“其他类型的密钥”,密钥键/值新增1行,输入上面保存的密钥信息。密钥ID名称”access_key_id”,密钥名称“access_secret_key”。

    输入密钥名称“greengrass-lambda-access-s3-secretkey”

    创建Local Lambda函数

    进入Amazon Lambda控制台,创建名称为 “local_face_detection” Lambda函数,选择运行时环境Python 3.7,导入Greengrass Core Python SDK. SDK下载地址:https://github.com/aws/aws-greengrass-core-sdk-python.

    localFaceDetection.py主要代码实现

    初始化Greengrass 客户端

    1client = greengrasssdk.client('iot-data')
    

    指定iot topic,face_recongnition用于上报人脸识别结果,recognition_failed用于识别错误日志

    1iotTopic = 'face_recognition'
    2
    3errTopic = 'recognition_failed'
    

    获取Secret Manager中存储的访问密钥,密钥内容写入secret

    1get_secret()
    2secret_json = json.loads(secret)
    3#提取访问密钥ID
    4access_key_id = secret_json['access_key_id']
    5#提取访问密钥KEY
    6access_secret_key = secret_json['access_secret_key']
    

    初始化S3客户端

    1clientS3 = boto3.client(
    2    's3',
    3    aws_access_key_id=access_key_id,
    4    aws_secret_access_key=access_secret_key
    5)
    

    指定树莓派上传人脸图片的bucket名称

    1bucket='greengrass-detect-realtime-video'
    

    指定树莓派上进行人脸比对的基准照片,这个基准照需要提前上传到树莓派,比如:/home/pi/XXX.jpg,基准照也可以从S3下载,这里略过。

    1filesUrl = ['<RASPBERRYPI_LOCAL_FACE_IMAGE>']
    

    从Secrets Manager提取访问密钥

     1def get_secret():
     2    session = boto3.session.Session()
     3    client = session.client(
     4        service_name='secretsmanager',
     5        region_name=region_name
     6    )
     7    try:
     8        get_secret_value_response = client.get_secret_value(SecretId=secret_name)
     9    except ClientError as e:
    10        print(e)
    11    else:
    12        if 'SecretString' in get_secret_value_response:
    13            global secret
    14            secret = get_secret_value_response['SecretString']
    15        else:
    16            decoded_binary_secret = base64.b64decode(get_secret_value_response['SecretBinary'])
    

    从Camera设备或RTSP Proxy获取实时视频流,将视频帧写入队列,队列中始终保持留存1帧,丢弃队列中其他帧,这里主要解决消费视频帧过慢导致视频帧积压处理不及时。

     1def frame_input(q):
     2    cap = cv2.VideoCapture('/dev/video0')
     3    print("Raspberry Pi 4B - connected")
     4    while True:
     5        st = time.time()
     6        ret,frm = cap.read()
     7        if not(ret):
     8            cap.release()
     9            cap = cv2.VideoCapture('/dev/video0')
    10            #cap = cv2.VideoCapture("rtsp://localhost:8554/unicast")
    11            print("total time lost due to reinitialization : ",time.time()-st)
    12            continue
    13        q.put(frm)
    14        if q.qsize() > 1:
    15            for i in range(q.qsize()-1):
    16                q.get()
    

    定义线程从Camera获取实时视频流

     1class Frame_Thread(Thread):
     2    def __init__(self):
     3        ''' Constructor. '''
     4        Thread.__init__(self)
     5
     6    def run(self):
     7        print("start queue read frame")
     8        mp.set_start_method('fork',True)
     9        process = mp.Process(target=frame_input,args=(queue,))
    10        process.daemon = True
    11        process.start()
    

    定义队列深度为4,启动线程读取视频帧

    1queue = mp.Queue(maxsize=4)
    2frame_thread=Frame_Thread()
    3frame_thread.start()
    4print("started read read-time video frame from src [camera device / rtsp server]")
    

    提取基准照片的面部编码和文件路径的文件名key-value形式存入faces_dict中

     1def load_local_image(filesToLoad,newFile):
     2    global filesUrl
     3    global faces_dict
     4    for url in filesToLoad:
     5        img=scipy.misc.imread(url,mode='RGB')
     6        faces_dict.update({remove_file_ext(url):face_recognition.face_encodings(img)[0]})
     7        if(newFile):
     8            filesUrl.append(url)
     9        client.publish(topic=iotTopic, payload="images are loaded from local")
    10
    11load_local_image(filesUrl,0)
    

    从队列queue中获取视频帧,resize ¼ ,颜色转换从BGR转RGB

     1frame = queue.get()
     2if frame is None:
     3    client.publish(topic=errTopic, payload="Failed to get frame from the stream")
     4    continue
     5else:
     6    # 为加速人脸识别处理这里将视频帧size缩小为原有1/4 
     7    small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
     8    # 将图像从BGR颜色(OpenCV使用颜色)转换为RGB颜色(face_recognition使用颜色)
     9    rgb_small_frame = small_frame[:, :, ::-1]
    10# 仅处理其他视频帧以节省时间
    

    查找当前视频帧中的所有面部和面部编码,面部编码匹配人脸

     1face_locations = face_recognition.face_locations(rgb_small_frame)
     2face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)
     3print('process this frame start:',len(face_locations),len(face_encodings))
     4face_names = []
     5for face_encoding in face_encodings:
     6    name = "Unknown"
     7    images_encodings = list(faces_dict.values())
     8    global dist
     9    dist = 0
    10    #面部编码匹配人脸
    11    match_result = face_recognition.compare_faces(images_encodings,face_encoding,tolerance=0.45)
    12    for idx, match in enumerate(match_result):
    13        if match:
    14            image_encoding = images_encodings[idx]
    15            dist = face_recognition.face_distance([image_encoding],face_encoding)[0]
    16            dist = (1.0 - dist) * 100
    17            print("name : {} face_recogniton dist value : {}".format(list(faces_dict.keys())[idx],dist))
    

    如果dist>70 上传图片 & 上报识别结果

     1global jpeg
     2if dist > 70.0 :
     3    try:
     4        imgID = time.strftime("%Y%m%d%H%M%S")+str(random.randint(0,99))
     5        #将置信度>70的视频帧转成图片上传S3指定桶'greengrass-detect-realtime-video'
     6        s3Resp =clientS3.put_object(Bucket='greengrass-detect-realtime-video', Key=imgID+'.jpg', Body=jpeg.tobytes(), ACL="private")
     7        print(s3Resp)
     8        #上报人脸识别结果和识别图片名称
     9        msg = '{{"FaceName":"{0}","dist":"{1}","imageName":"{2}","time":"{3}","desc":"{4}"}}'.format(str(name),str(dist),(imgID+".jpg"),time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()),"Uploaded Rapsberry Pi face detection image.")
    10        #上报IoT Core 人脸名称,置信度,S3图片名称,时间戳等
    11        client.publish(topic=iotTopic, payload=msg)
    

    local_face_detection.py的完整源代码可以从以下链接获取

    https://github.com/beiyue/gg-realtime-face-recognition/blob/main/localFaceDetection.py

    在local_face_detection函数console界面选择“操作”,选择“发布新版本”,这里版本号是37。选择“创建别名”,输入名称“prod”,选择版本37

    Amazon Lambda添加Greengrass组

    将函数local_face_detection添加Greengrass组“raspberrypiGroup”

    选择上面别名”prod”

    添加完成后,选择“编辑”:

    • 运行身份:使用默认组 (当前: ggc_user/ggc_group)

    • 容器化:Greengrass 容器 (始终)

    • 内存限制:512MB , 超时:默认3秒

    • Amazon Lambda 生命周期:使此函数长时间生存,保持其无限期运行

    • 对 /sys 目录的只读访问权限:启用

    • 输入负载数据类型:json

    添加资源camera

    • 资源名称:Camera

    • 资源类型:设备

    • 设备路径:/dev/video0

    • 组拥有文件访问权限:自动添加拥有资源的 Linux 组的操作系统组权限

    • 为此 Amazon Lambda 函数选择权限:读写访问权限

    添加资源tmp

    • 资源名称:tmp

    • 资源类型:卷

    • 源路径:/tmp 目的地路径: /tmp

    • 组拥有文件访问权限:自动添加拥有资源的 Linux 组的操作系统组权限

    • 为此 Amazon Lambda 函数选择权限:读写访问权限

    创建Greengrass组角色

    Identity and Access Management (IAM)控制台创建一个角色GreengrassRole,将策略AWSGreengrassResourceAccessRolePolicy添加到角色

    选择“添加内联策略”

    输入下面的策略

    1{
    2    "Version": "2012-10-17",
    3    "Statement": {
    4        "Effect": "Allow",
    5        "Action": "secretsmanager:GetSecretValue",
    6        "Resource": "*"
    7    }
    8}
    

    输入策略名称GreengrassSecretValuePolicy

    创建订阅

    创建订阅界面,选择源为“local_face_detection”,选择目标“IoT Cloud”

    主题筛选条件输入“#”

    测试

    测试界面选择订阅主题“face_recognition”

    设备检测到人脸,从实时视频流获取frame生成图片推到S3。

    从S3存储桶中可以看到设备传上来的图片

    小结,本方案展示了树莓派系统上运行 Amazon IoT Greengrass 实现人脸检测功能。很多客户希望通过边缘侧实现AI/ML 场景可以结合Greengrass+Lambda来实现。权限部分可以选择Amazon Secret Manager来管理密钥,Amazon IoT Greengrass角色添加Amazon Secret Manager 访问权限后,设备可按需获取密钥从而避免本地硬编码。

    参考链接

    raspberrypiGroup:

    https://ap-southeast-1.console.aws.amazon.com/iot/home?region=ap-southeast-1#/greengrass/groups/6806da7c-c732-4709-9870-03ae6ec66d21

    Secrets Manager:

    https://ap-southeast-1.console.aws.amazon.com/secretsmanager/home?region=ap-southeast-1

    raspberrypiGroup:

    https://ap-southeast-1.console.aws.amazon.com/iot/home?region=ap-southeast-1#/greengrass/groups/6806da7c-c732-4709-9870-03ae6ec66d21

    本篇作者

    周晓明

    亚马逊云科技GCR解决方案架构师。

    听说,点完下面4个按钮

    就不会碰到bug了!

    展开全文
  • 1111 转载于:https://www.cnblogs.com/myfrank/p/8490677.html

     

     

    1111

     

    转载于:https://www.cnblogs.com/myfrank/p/8490677.html

    展开全文
  • aliyun SDK: 1.功能 支持协议:mqtt 认证: 支持设备证书方式对设备进行身份认证。 支持使用ProductKey、DeviceName、DeviceSecret来认证设备。 日志: 支持控制SDK内部日志输出。... 发布、订阅、取消订阅...

    aliyun SDK:
    1.功能
    支持协议:mqtt

    	认证:
    		支持设备证书方式对设备进行身份认证。
    		支持使用ProductKey、DeviceName、DeviceSecret来认证设备。
    
    	日志:
    		支持控制SDK内部日志输出。
    
    	基础能力:
    		发布、订阅、取消订阅、RRPC、订阅下行。
    
    	物模型:
    		实现属性上报(如上报设备状态)、事件上报(上报设备异常或错误)和服务调用(通过云端调用设备提供的服务)。	     
    		通过物模型过滤属性(事件,服务),进行上报(调用)。
    
    	配置:
    		支持主动获取配置。
    		支持订阅获取。
    
    	标签:
    		支持设备端上报标签到云端,以及删除设备标签。
    
    	子设备管理:
    		网关子设备管理提供了子设备动态注册、获取云端网关下子设备列表、添加子设备、删除子设备、子设备上线、子设备下线、监听子设备禁用和删除的消息、
    		代理子设备数据上下行的能力。要使用子设备管理功能,前提是该设备属于网关设备类型。
    
    	设备影子:
    		如果当前产品不具备物模型的能力,可以通过设备影子将当前设备的最新状态缓存到云端。
    		获取云端设备影子。
    		更新云端设备影子。
    		删除云端设备影子。
    

    aws SDK:
    1.功能
    支持协议:mqtt&&webSocket版mqtt

    	认证:
    		TLS 1.2
    		X.509 相互认证
    	
    	日志:
    		无。
    	
    	基础能力:
    		发布、订阅、取消订阅。
    
    	物模型:
    		无。
    
    	配置:
    		支持订阅获取。
    
    	标签:
    		无。
    
    	子设备管理:
    		无。
    
    	设备影子:
    		获取云端设备影子。
    		更新云端设备影子。
    		删除云端设备影子。
    

    华为云:
    1.功能
    支持协议:mqtt

    	认证:
    		 ?
    	
    	日志:
    		无。
    	
    	基础能力:
    		发布、订阅、取消订阅。
    
    	物模型:
    		支持在设备端测进行物模型的管理。
    
    	配置:
    		支持主动获取配置。
    		支持订阅获取。
    
    	标签:
    		无。
    
    	子设备管理:
    		专门提供网关的sdk来管理子设备。
    
    	设备影子:
    		无。
    

    关于物模型的概念,aliyun中区分物模型和设备影子,而aws只有设备影子。
    aws中的设备影子,看官方sdk的描述,是包含了配置,属性等(及aliyun中sdk描述的物模型和下发配置功能)。而aliyun中的设备影子 是指设备或产品不支持物模型的情况下,才有设备影子,听起来像是简化版的物模型。在这一点上,我有点摸不着头脑。
    后续还会继续研究 这两者的不同,如果有大佬看到,发现不对的地方,欢迎指正。谢谢。

    展开全文
  • 物联网(IoT)的一个典型应用场景是能够从传感器数据中获取上下文洞察力,例如分析设备异常或者进行预测性维护,及时给予用户通知。在本文中,我们将专注于通过设备多项指标对设备进行预测性维护,利...

    物联网(IoT)的一个典型应用场景是能够从传感器数据中获取上下文洞察力,例如分析设备异常或者进行预测性维护,及时给予用户通知。在本文中,我们将专注于通过设备多项指标对设备进行预测性维护,利用机器学习算法,对设备运行状态进行预测,提前发现可能出现的异常,及时进行维护,避免出现严重的生产事故。

     { 方案概述 } 

    本文使用机器学习方法进行预测性维护,采用风力发电机模拟数据为示例数据集,利用Amazon SageMaker进行模型训练,并且部署推理端点。边缘侧设备将数据发布到Amazon IoT Core,使用IoT规则触发Lambda函数调用部署在Sagemaker上面的预测性维护端点的API,判断设备是否将出现异常,如出现异常,通过更新Amazon IoT Shadow从而自动关闭设备并发送通知。

    我们使用的算法称为XGBoost (eXtreme Gradient Boosting),它是一种监督式学习算法, 尝试将一组较简单且较弱模型的一系列估计值结合在一起,从而准确地预测目标变量,可以用来处理回归、分类(二进制和多类)和排名问题。利用XGBoost预测设备是否会损坏,进行提前预测性维护。

    本文中的演示使用风力发电机模拟数据,数据字段包括:

    风速:wind_speed

    叶片转速:RPM_blade

    油温:oil_temperature

    油位:oil_level

    温度:temperature

    湿度:humidity

    振动频率vibrations_frequency

    压力:pressure

    风向:wind_direction

    是否损坏:breakdown

     

    您可以使用此解决方案自动检测潜在的设备故障,并提供建议采取的措施。该解决方案易于部署,并包含示例数据集,您也可以修改该解决方案并使用其他数据集,从而构建您自己的IoT预测性维护方案。

    下图显示了本方案采用的架构

    1.用于预测性维护的模型利用了存储在S3上的设备历史数据在Amazon SageMaker上进行训练。

    2.训练好的模型利用SageMaker部署并暴露Endpoints提供预测服务。

    3.数据从传感器发送到 IoT Core,通过IoT Rules Engine路由到Lambda函数。Lambda函数通过Sagemaker Endpoints调用预测性维护的机器学习模型。当检测到异常,Lambda函数将发送通知,并通过IoT Shadow对设备进行相应操作。

    在本文中,我们将引导您完成以下操作:

    1.设置连接的设备与 IoT Core进行通信

    2.训练和部署SageMaker模型

    3.创建云资源以监视和检测可能出现行为异常的设备

    4.利用模拟设备进行预测性维护测试并发送通知

     { 实验准备: IoT 设备模拟 } 

    本文采用Cloud9 作为IoT 设备的模拟,从Cloud9上面发出模拟IoT消息。

    在EC2 控制台,启动一台EC2 实例,搜索 Marketplace上的Cloud9。

     { 创建 IoT 策略 } 

    1.打开 IoT 控制台

    https://console.amazonaws.cn/iot/home

    2.选择 Secure (安全)-> Policies (策略)在 You don’t have a policy yet 页面上,选择 Create a policy。如果您的账户之前已经创建过策略,请选择 Create.

    3.创建策略页面

    -在Name (名称) 中,输入策略的名称Windturbine_Policy

    -在Action (操作) 字段中,输入iot:Connect,iot:Receive,iot:Publish,iot:Subscribe。这些是设备在从设备开发工具包运行示例程序时需要执行的权限。有关 IoT 策略的更多信息,请参阅IoT Core 策略。

    https://samick-blog.s3.cn-north-1.amazonaws.com.cn/xgboost_model_training_and_deployment.ipynb

    -在Resource ARN (资源 ARN) 字段中,输入 *。这会选择任何客户端(设备)。

    -选中Allow 复选框

    -在输入策略的信息后,选择Create

     { 创建IoT设备 } 

    1.打开 IoT 控制台

    https://console.amazonaws.cn/iot/home

    2.选择管理 -> 物品 (Things)You don’t have any things yet (您还没有任何事物) 上,选择 Register a thing (注册事物)。如果您的账户已经创建过一些事物,请选择 Create.

    3.在创建 IoT 物品上,选择创建单个物品

    4.Name (名称)字段中,输入物品的名称windturbine。将此页面上的其余字段留空。选择 Next (下一步).

    5.在Add a certificate for your thing (添加事物的证书) 上,选择 Create certificate

    6.在Certificate created! (证书已创建!) 页面上

    -下载每个证书和密钥文件并将它们保存以供将来 使用

    AmazonRootCA1.pem:https://www.amazontrust.com/repository/AmazonRootCA1.pem

    -点击Activate激活证书

    7.选择Attach a policy,用于将您在上一部分中创建的策略附加到此证书

    8.在 Add a policy for your thing (添加物品的策略) 上,选择您在上一部分中创建的策略Windturbine_Policy

    9.选择 Register Thing

    详细步骤请参考:

    https://docs.amazonaws.cn/iot/latest/developerguide/create-iot-resources.html

     { 创建Amazon SageMaker 

    笔记本实例,训练和部署模型 } 

    1.创建一个笔记本实例windturbine,选择t2.medium。选择或者创建一个IAM角色(IAM Role)

    2.其他部分选择默认选项,点击创建(Create)

    3.在笔记本创建完成后,打开Jupyter Lab,上传笔记本ipynb到Jupyter Lab。选择内核为conda_python3

    4.按照代码中的注释要求,替换使用您自己的 S3 bucket/prefix

    5.运行Notebook,进行模型训练和部署

    -训练数据已经包含在代码里面,可以直接下载。

    -数据清洗 (删除turbine_id列,按照XGBoost的训练数据格式要求,删除表头并且将最后一列的推理结果breakdown挪到第一列)

    -按照7:2:1的比率来拆分训练集,验证集和测试集,并上传到S3

    -训练模型

    -部署训练好的模型并生成用于推理的 Endpoint记录好这个值,后续需要在IoT 规则引擎触发的Lambda 函数中使用。

     { 创建Lambda函数及SNS Topic

    用于推理,设备状态变更以及通知 } 

    1.创建SNS通知Topic,并使用自己的邮箱地址订阅该Topic,用于接收预测性维护的通知。

    2.创建一个Lambda 函数

    -名称:windturbine_prediction

    -运行时:Python 3.8

    -权限:选择一个IAM Role 可以使用IoT,SNS 和 SageMaker Endpoint

    -内存:128 MB

    -超时:30s

    3.用lambda_function.py替换Lambda 代码,注意修改下列常量:

    #修改成自己的Sagemaker Endpoint Name
    ENDPOINT_NAME = 'xgboost-2021-03-08-10-43-34-693'
    #修改成自己的SNS Topic
    SNS_TOPIC_ARN = 'arn:aws-cn:sns:cn-northwest-1:account-id:NotifyMe'
    #修改成自己的手机号 (海外区SNS发短信)
    PHONE_NUMBER = '+8613812345678'
    

     { 创建IoT规则,触发

     windturbine_ prediction Lambda函数 } 

    1.在Amazon IoT 控制台的导航窗格中,选择 Act (行动).

    2.在Rules 页面,选择 Create

    3.选择Create

    -名称:Invoke_windturbine_prediction

    -Rule Query statement:

     SELECT * FROM ‘windturbine/xgboost’

    -在设置一个或多个操作中,选择添加操作:发送消息到Lambda函数 (send a message to a Lambda function)选择windturbine_ prediction

    -(可选),错误操作:发送消息给CloudWatch logs (Send message data to CloudWatch logs):

    windturbine_prediction

    -选择Create rule (创建规则)

     { 端到端测试 } 

    1.在Cloud9实例上用户的home目录中创建cert文件夹并上传上面第三步下载保存的IoT Things的证书到该文件夹中

    2.上传device_simulator.py文件到Cloud9实例上用户的home目录中

    3.上传模拟数据device_data.csv文件到Cloud9实例上用户的home目录中

    4.根据您的实际配置修改py的代码

    # 将host修改为自己AWS账户的IoT Endpoint
    host = "a1hk0pcc0as07l.ats.iot.cn-north-1.amazonaws.com.cn"
    
    #证书路径修改为自己环境下的证书路径
    rootCAPath = "cert/AmazonRootCA1.pem"
    certificatePath = "cert/windturbine.cert.pem"
    privateKeyPath = "cert/windturbine.private.key"
    

    5.运行代码

    python device_simulator.py device_data.csv
    

    6.当部署的XGBoost模型端点预测到设备出现异常时,Lambda函数更新IoT设备影子(Shadows)将设备状态设置为Off(关闭状态),边缘IoT设备收到该状态设置标志,将设备停止,如下图所示:

    同时Lambda还会触发提醒工作人员进行预测性维护的通知。如下图所示:

     { 总结 } 

    您刚刚完成了如何将 IoT和Amazon SageMaker 一起使用,对一系列设备执行预测性维护的端到端动手实验,并使用Lambda和SNS进行警报监控其状态。我们希望本文有助于您理解如何在Amazon Web Services上对IoT设备数据进行有效洞察,并为您的特定用例提供一个良好的起点。

    【参考资料】

    IoT 控制台:

    https://console.amazonaws.cn/iot/home

    Jpynb:

    https://samick-blog.s3.cn-north-1.amazonaws.com.cn/xgboost_model_training_and_deployment.ipynb

    lambda_function.py:

    https://samick-blog.s3.cn-north-1.amazonaws.com.cn/lambda_function.py

    Amazon IoT 控制台:

    https://console.aws.amazon.com/iot/home

    device_simulator.py:

    https://samick-blog.s3.cn-north-1.amazonaws.com.cn/device_simulator.py

    device_data.csv:

    https://samick-blog.s3.cn-north-1.amazonaws.com.cn/device_data.csv

    【本篇作者】

    郭松

    亚马逊云科技解决方案架构师,负责企业级客户的架构咨询及设计优化,同时致力于 Amazon IoT 和存储服务在国内和全球企业客户的应用和推广。加入亚马逊云科技之前在EMC研发中心担任系统工程师,对企业级存储应用的高可用架构,方案及性能调优有深入研究。

    梁睿

    亚马逊云科技解决方案架构师,主要负责企业级客户的上云工作,服务客户涵盖从汽车,传统生产制造,金融,酒店,航空,旅游等,擅长DevOps领域。11 年 IT 专业服务经验,历任程序开发,软件架构师、解决方案架构师。

    听说,点完下面4个按钮

    就不会碰到bug了!

    展开全文
  • 概述 Amazon IoT Greengrass是Amazon IoT服务系列中的一员,它可将亚马逊云科技无缝扩展至边缘设备,因此可以在本地操作其生成的数据,同时仍可将云用于管理、分析和持久存储。借助Amazon IoT Greengrass,您可以...
  • 亚马逊AWS IoT

    2019-04-02 09:01:16
    亚马逊AWS IoT 原文链接:http://www.cnblogs.com/ibrahim/p/amazon-aws-iot.html 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。 AWS IoT可支持数十亿台设备和数...
  • 亚马逊 AWS IoT资料收集

    千次阅读 2018-10-26 13:04:17
    https://www.amazonaws.cn/inbounddg-events/iot/?sc_channel=ps&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;sc_campaign=inbounddg&amp;amp;amp;amp;amp;amp;...sc_detail={亚马逊 IoT}&am
  • https://www.balena.io/blog/use-a-raspberry-pi-to-communicate-with-amazon-aws-iot/ ...16 Jul 2019 on amazon iot | mqtt Use a Raspberry Pi to communicate with Amazon AWS IoT When developing an Io...
  • AmazonIoT之路

    千次阅读 2018-03-26 00:00:00
    众所周知,物联网(Internet of Things,IoT)可能是互联网时代开始以来企业面临的最大机遇。 Gartner 预测, 到2020年物联网上将有近200亿个设备, 物联网产品和服务供应商...
  • 因为公司有一个物联网项目需要使用到亚马逊到AWS-IOT服务,通过iot服务来控制物联网设备,国内和国外都没什么人用,连google都极少有跟这个有关帖子,所以做一个踩坑总结: 先放一个官方博客关于Amazon IoT 安卓SDK ...
  • IoT

    千次阅读 2016-06-21 16:36:15
    背景对IoT(Internet of Things, 物联网)平台进行调研,调研对象有:亚马逊的AWS IoT 和 阿里智能AWS IoT 主页: https://aws.amazon.com/cn/iot/ 相关报道: http://news.3snews.net/2015/1009/39528.html AWS ...
  • AmazonIoT之路

    2018-03-26 00:00:00
    ” 学习和理解AmazonIoT路径,可以带来诸多的启发。如果团队在一个复杂的项目上取得成功, 就需要了解实现的步骤和可交付成果、必要的资源和实际作用以及每一个固有的风险和依赖性。 就Amazon 而言,建立一个...
  • 国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。 AWS IoT可支持数十亿台设备和数万亿条消息,并且可以对这些消息...
  • * @param certificateArn 证书必须已经在亚马逊iot管理后台存在 * @param thingName (事物就是独立设备)事物必须已经在亚马逊iot管理后台存在 * @return */ private static boolean certificateAttachThing...
  • * @param certificateArn 证书Arn必须已经在亚马逊iot管理后台存在 * @param policyName 策略已经在亚马逊iot管理后台存在 * @param accessKey * @param secretAccessKey * @return */ private static boolean...
  • ESP32通过AWS IOT物联网平台接入物联网,Alexa亚马逊音箱触发Lambda对乐鑫ESP32进行...https://docs.aws.amazon.com/zh_cn/iot/latest/developerguide/create-aws-thing.html 2、环境搭建 使用启明云端WT-ESP32-DevKitC
  • 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT可支持数十亿台设备和数万亿条消息,并且可以对这些...使用AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Mac
  • 使用Python,Nodejs和使用Amazon的AWS IoT Core开发的环境监控站 开展学校项目是为了对Amazon的AWS服务有深入的了解,并有机会深入研究nodejs / python。 我们的项目组很幸运,可以配备nVidia Jetson Nano,用作我们...
  • 亚马逊云物联网AWS IoT初体验

    千次阅读 2017-09-14 09:16:52
    AWS IoT 是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。AWS IoT 可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。借助 ...
  • 了解如何使用Arduino IoT Cloud和Amazon Alexa与您的传感器进行交互。
  • 亚马逊AWS-IoT:从架构到开发

    千次阅读 2018-06-13 11:17:29
    本来很早就想写一个关于AWS,MS这些老牌云服务商的IOT支持介绍的,一直犯懒。昨天参加了AWS的一个线下活动,很接地气的活动,... 下面转摘马智同学在博客园上的文章:《国外物联网平台初探(一):亚马逊AWS IoT》...
  • 原文链接:http://www.cnblogs.com/ibrahim/p/amazon-aws-iot.html 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。 AWS IoT可支持数十亿台设备和数万亿条消息,...
  • 立即购买:亚马逊、京东 Lan构架 相关文档可以参考这里: 一步步搭建物联网系统 系统框架图: 物联网相关资料收集 Android App:《教你设计物联网》 Design Internet of Things A Minimum IOT with arduino and ...
  • AWS IOT

    2018-07-14 17:25:03
    ... https://amazonaws-china.com/blogs/iot/using-continuous-jobs-with-aws-iot-device-managem...
  • 北京技术峰会,基于 AWS IoT 开发 Amazon Alexa Smart Home 智慧家庭。
  • Amazon AWS- Google IoT Core- IBM Watson IoT- Microsoft Azure IoT-Microsoft Azure IoT 德州仪器-德州仪器 意法半导体-意法半导体 乐鑫系统-乐鑫系统 文件,支援 和 发牌 Mongoose OS是开源的,并且具有双重...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,981
精华内容 2,792
关键字:

亚马逊iot