You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud IoT Core技术咨询:温感设备如何接入设备注册表(毕设新手)

连接温度传感器到Google Cloud IoT Core的实操指南

Hey there! 作为刚上手GCP做毕设的新手,肯定会对IoT Core的设备连接有点懵,我来给你一步步捋清楚怎么把温度传感器连到设备注册表:

1. 先把前期准备搞定

  • 确保你已经有GCP账号,并且在控制台里开通了Cloud IoT Core服务(直接搜就能找到入口)
  • 准备好你的温度传感器(比如常见的DS18B20、DHT11),还有一个能联网的边缘设备(比如树莓派、ESP32——毕竟大部分传感器自己没法直接连互联网)
  • 装好必要工具:比如Python(如果用脚本开发)、MQTT客户端库paho-mqtt,或者对应开发板的SDK

2. 创建你的设备注册表

先在GCP控制台操作:

  • 打开Cloud IoT Core控制台,选好你的毕设项目
  • 点击「创建注册表」,填个好记的名称,选离你设备近的区域(减少延迟)
  • 协议选MQTT就行——对温度传感器这种低功耗设备来说,MQTT轻量又好用
  • 配置Cloud Pub/Sub主题:这是IoT Core接收设备数据的通道,你可以新建一个主题,或者用已有的,传感器的温度数据之后都会发到这里
  • 点「创建」,你的设备注册表就搞定了

3. 把温度传感器对应的设备注册进去

在刚创建的注册表页面:

  • 点「添加设备」,给设备起个ID(比如temp-sensor-001,方便后续识别)
  • 认证方式选RS256密钥对就行,你可以本地用openssl生成:openssl req -x509 -newkey rsa:2048 -keyout rsa_private.pem -nodes -out rsa_cert.pem -subj "/CN=unused",然后把生成的公钥上传到控制台
  • 其他配置默认就行,点「添加」,设备就注册成功了,记好设备的完整路径,后面连接要用到

4. 设备端配置(以树莓派+DS18B20+MQTT为例)

这一步是让传感器真的能连上IoT Core:

  • 先确保树莓派连上网,并且能读到传感器的温度(比如用Python的w1thermsensor库就能轻松读取DS18B20的数据)
  • 装MQTT客户端:pip install paho-mqtt
  • 写个简单的连接脚本,核心逻辑是:
    • 导入paho.mqtt.client库
    • 填好你的GCP项目ID、区域、注册表ID、设备ID,还有私钥文件路径
    • 用私钥做SSL认证(GCP IoT Core要求加密连接)
    • 连上IoT Core的MQTT服务器后,定期读温度,然后把数据发到指定主题
    • 给你个极简示例代码:
      import paho.mqtt.client as mqtt
      import ssl
      import time
      from w1thermsensor import W1ThermSensor
      
      # 替换成你自己的配置
      project_id = "你的GCP项目ID"
      cloud_region = "us-central1"  # 换成你选的区域
      registry_id = "你的注册表名称"
      device_id = "temp-sensor-001"
      private_key_file = "rsa_private.pem"
      
      # 初始化温度传感器
      sensor = W1ThermSensor()
      
      def on_connect(client, userdata, flags, rc):
          print(f"连接成功!返回码: {rc}")
      
      # 设置MQTT客户端
      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=None)
      client.tls_set(ca_certs=None, certfile=None, keyfile=private_key_file, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1_2, ciphers=None)
      client.on_connect = on_connect
      
      # 连接到IoT Core的MQTT服务器
      client.connect("mqtt.googleapis.com", 8883, 60)
      
      # 循环发送温度数据
      while True:
          temp = sensor.get_temperature()
          print(f"当前温度: {temp}°C")
          # 把温度数据以JSON格式发送
          client.publish(f"/devices/{device_id}/events", payload=f'{{"temperature": {temp}}}', qos=1)
          time.sleep(10)  # 每10秒发一次
      
  • 运行脚本,如果没报错,你的传感器就成功连上IoT Core了!

5. 验证数据是否真的传上去了

你可以在GCP控制台的Pub/Sub主题里创建一个订阅,然后查看订阅的消息,就能看到传感器发过来的温度数据啦

内容的提问来源于stack exchange,提问作者Khoo Stephanie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:12:57