发布温度-虚拟IoT硬件和RaspberryPi


文档摘要

发布温度 - 虚拟IoT硬件和Raspberry Pi 在本课程的部分内容中,您将通过MQTT发布由Raspberry Pi或虚拟IoT设备检测到的温度值,以便稍后用于计算GDD。 发布温度 一旦读取了温度值,就可以通过MQTT将其发布到某个“服务器”代码中,该代码将读取这些值,并准备好用于GDD计算。 任务 - 发布温度 编程设备以发布温度数据。 如果尚未打开,请打开 应用程序项目。 重复第4课中的步骤以连接到MQTT并发送遥测数据。您将使用相同的公共Mosquitto代理。 这些步骤如下: 添加MQTT pip包 添加连接到MQTT代理的代码 添加发布遥测数据的代码 ⚠️ 如有需要,请参阅连接到MQTT的说明以及第4课中发送遥测数据的说明。

发布温度 - 虚拟IoT硬件和Raspberry Pi

在本课程的部分内容中,您将通过MQTT发布由Raspberry Pi或虚拟IoT设备检测到的温度值,以便稍后用于计算GDD。

发布温度

一旦读取了温度值,就可以通过MQTT将其发布到某个“服务器”代码中,该代码将读取这些值,并准备好用于GDD计算。

任务 - 发布温度

编程设备以发布温度数据。

  1. 如果尚未打开,请打开temperature-sensor应用程序项目。

  2. 重复第4课中的步骤以连接到MQTT并发送遥测数据。您将使用相同的公共Mosquitto代理。

    这些步骤如下:

    • 添加MQTT pip包
    • 添加连接到MQTT代理的代码
    • 添加发布遥测数据的代码

    ⚠️ 如有需要,请参阅连接到MQTT的说明以及第4课中发送遥测数据的说明

  3. 确保client_name反映了此项目的名称:

    client_name = id + 'temperature_sensor_client'
  4. 对于遥测数据,不要发送光值,而是发送从DHT传感器读取的温度值,并在JSON文档的名为temperature的属性中传递:

    _, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
  5. 温度值不需要频繁读取——短时间内不会变化太多,因此将time.sleep设置为10分钟:

    time.sleep(10 * 60);

    sleep函数接受秒数作为参数,为了便于阅读,这里传递的是一个计算结果。每分钟有60秒,所以10乘以(每分钟60秒)给出了10分钟的延迟。

  6. 按照上一部分作业中的方式运行代码。如果您正在使用虚拟IoT设备,请确保CounterFit应用程序正在运行,并且湿度和温度传感器已创建在正确的引脚上。

    pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}

您可以在code-publish-temperature/virtual-device文件夹或code-publish-temperature/pi文件夹中找到此代码。

您已经成功地从设备发布了温度遥测数据。

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。


作者与出处
原作者: microsoft
来源:microsoft
许可证:MIT
整理: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: microsoft 转发
评论区 (0)
U