首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Google Cloud IoT 平台入门:基础架构与示例详解

  • 25-04-18 18:21
  • 3719
  • 9550
juejin.cn

Google Cloud 的 IoT 平台是一个完整的解决方案,帮助我们连接、管理和分析大量物联网设备。它不仅支持设备通过 MQTT 和 HTTPS 协议发送数据,还提供设备身份认证、配置管理、数据处理和告警等功能。下面用最简单的语言介绍其核心知识点,并配上示例代码,方便理解和应用。

1. 什么是 IoT 平台?

IoT 平台是一个集中的系统,帮助你管理各种类型的设备。相比单独的 MQTT 代理,它提供了更多功能,比如设备注册、身份验证、配置更新和数据规则管理。它能让你轻松管理成千上万的设备,并实时处理设备数据。

2. 主要组成部分和功能

功能模块作用说明
设备连接端点支持 MQTT 和 HTTPS,设备通过它们发送数据。
设备凭据存储安全存储设备身份认证信息(如证书、密码)。
设备身份验证确认设备身份,保证数据安全传输。
设备配置管理远程更新设备配置和软件。
设备注册表设备信息的数据库,方便管理和查询。
规则引擎根据设备数据自动触发操作或告警。
遥测数据存储与分析保存设备数据,支持数据可视化和分析。

3. 设备如何连接到 IoT 平台?

MQTT 协议

  • MQTT 是一种轻量级的消息传输协议,适合物联网设备。
  • IoT 平台会部署一个 MQTT 代理,设备通过它发送和接收消息。
  • 支持 QoS(服务质量)等级,保证消息传递的可靠性。

HTTPS 协议

  • HTTPS 适合移动设备和浏览器,虽然开销比 MQTT 大,但兼容性更好。
  • 适用于某些设备或应用场景。

CoAP 协议(补充)

  • 适合资源受限的嵌入式设备,开销小,适合传感器等。

4. 设备身份验证方式

方式说明适用场景
X.509 证书认证使用证书进行双向 TLS 加密,安全性最高。高安全要求设备
JWT(JSON Web Token)通过令牌认证,资源占用较小。资源受限设备
用户名和密码简单认证方式,需配合加密连接使用。轻量级设备或测试环境

5. 设备管理功能

  • 固件和软件更新:远程推送和回滚设备软件。
  • 配置管理:远程修改设备参数。
  • 凭据管理:生成、分发、撤销设备安全凭据。
  • 规则引擎:设置自动化规则,如温度超过阈值时报警。

6. 典型应用场景

  • 智能家电管理:管理洗碗机、咖啡机等设备,监控状态和更新软件。
  • 物流与资产追踪:实时跟踪货物位置和状态,收集环境数据(温度、湿度等)。

7. 简单示例:设备通过 MQTT 发送数据到 Google Cloud IoT Core

下面示例展示了如何用 Python 通过 MQTT 向 Google Cloud IoT 平台发送数据。

python
代码解读
复制代码
import jwt import time import paho.mqtt.client as mqtt # 设备信息 project_id = 'your-gcp-project-id' cloud_region = 'your-region' registry_id = 'your-registry-id' device_id = 'your-device-id' private_key_file = 'path/to/private_key.pem' algorithm = 'RS256' # 或 ES256 # 生成 JWT 令牌(有效期1小时) def create_jwt(): token = { 'iat': time.time(), 'exp': time.time() + 3600, 'aud': project_id } with open(private_key_file, 'r') as f: private_key = f.read() return jwt.encode(token, private_key, algorithm=algorithm) # MQTT 连接参数 mqtt_bridge_hostname = 'mqtt.googleapis.com' mqtt_bridge_port = 8883 client = mqtt.Client(client_id=f'projects/{project_id}/locations/{cloud_region}/registries/{registry_id}/devices/{device_id}') client.username_pw_set(username='unused', password=create_jwt()) client.tls_set() # 使用TLS加密连接 def on_connect(client, userdata, flags, rc): print(f'连接结果: {rc}') # 连接成功后发布消息 client.publish(f'/devices/{device_id}/events', payload='{"temperature": 23}', qos=1) client.on_connect = on_connect client.connect(mqtt_bridge_hostname, mqtt_bridge_port) client.loop_forever()
  • 该代码生成一个 JWT 令牌用于身份验证。
  • 通过 MQTT 安全通道连接到 Google Cloud IoT Core。
  • 发送一条包含温度数据的消息。

8. 设备数据如何处理?

  • 设备数据进入 IoT 平台后,会发布到 Google Cloud Pub/Sub。
  • 你可以用 Dataflow、Cloud Functions 等服务处理数据,比如存储到 BigQuery 进行分析,或者触发告警。
  • 规则引擎可以根据数据自动执行操作。

9. 总结

Google Cloud IoT 平台是一个功能丰富的物联网管理系统,支持设备连接、身份认证、配置管理和数据处理。它适合需要管理大量异构设备和复杂业务逻辑的场景。通过 MQTT 和 HTTPS 协议,设备可以安全地与云端通信,平台提供了完善的设备生命周期管理和数据分析能力。

通过理解以上基础知识和示例代码,您可以快速上手 Google Cloud IoT 平台,构建安全、高效的物联网应用。

注:本文转载自juejin.cn的程序员小jobleap的文章"https://juejin.cn/post/7493912833991491595"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

133
开发工具
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top