ChatGPT是时下火热的AI自然语言引擎,啥都知道啥都会,今天咱们就使用ChatGPT来写一段python代码,模拟一个温湿度传感器,持续的给服务器发数据,并在物联网管理软件ThingsPanel上显示数据。

我们的工作分为两个部分,首先要写一段代码发数据,然后要配置服务端软件来接收数据,并监控设备数据

具体的步骤
  1. 生成代码

  2. 服务端软件上配置设备

  3. 修改代码参数

  4. 执行代码

  5. 查看数据。

要用到的软件

ChatGPT:要注册并可以登录。

Python:安装好Python,缺乏的库可以在过程中安装。

ThingsPanel:开源物联网平台,用来接收数据,查看数据。

1、生成代码,模拟传感器

首先要登录到https://chat.openai.com/chat,并使用如下的描述来生成代码:

生成一段python代码,模拟一个温度传感器,持续的给MQTT
broker发温湿度数据,需要带上用户名和密码校验,发送到device/attributes这个主题,上报数据格式为json,数据精确到小数点后两位。

请添加图片描述
请添加图片描述

具体的代码复制如下:

import random
import time
import json
import paho.mqtt.client as mqtt

# MQTT broker的地址和端口
MQTT_BROKER = "localhost"
MQTT_PORT = 1883

# MQTT用户名和密码
MQTT_USERNAME = "your-username"
MQTT_PASSWORD = "your-password"

# MQTT client
client = mqtt.Client()

# 设置MQTT用户名和密码
client.username_pw_set(MQTT_USERNAME, MQTT_PASSWORD)

# 连接MQTT broker
client.connect(MQTT_BROKER, MQTT_PORT)

# 循环不断地发送温湿度数据
while True:
    temperature = round(random.uniform(20, 30), 2)
    humidity = round(random.uniform(50, 60), 2)
    data = {
        "temperature": temperature,
        "humidity": humidity
    }
    data_json = json.dumps(data)
    client.publish("device/attributes", data_json)
    print(data_json)
    time.sleep(1)


创建一个名为temperatureHumidity.py文件,并粘贴代码到这个文件中。

2、服务端软件上配置设备

打开网址 dev.thingspanel.cn,使用如下帐号登录:

测试帐号admin@thingspanel.cn 密码 123456

在设备接入页面中创建项目 。

请添加图片描述

点击设备管理进入设备管理页面

请添加图片描述

  1. 输入设备名:温湿度传感器

  2. 选择默认分组

  3. 选择设备

  4. 绑定插件选择【温湿度传感器插件】

  5. 点击【编辑参数】获得设备的推送参数。
    在编辑参数页面中,我们获得如下信息。

请添加图片描述

  1. 是dev.thingspanel.cn(ThingsPanel的官方演示服务器),端口1883。

  2. 记下来粘贴到代码对应的位置。

  3. 复制下来,作为用户名,粘贴到刚复制的代码对应的位置。

  4. 报文格式,一定要按照这个格式发数据,temp和hum不能变。

3、修改代码参数

修改后的代码如下:

请添加图片描述

import random
import time
import json
import paho.mqtt.client as mqtt

# MQTT broker的地址和端口
MQTT_BROKER = "dev.thingspanel.cn"
MQTT_PORT = 1883


# MQTT用户名和密码
MQTT_USERNAME = "202e0140-dbac-0052-933d-7fc094b842cd"
MQTT_PASSWORD = ""

# MQTT client
client = mqtt.Client()

# 设置MQTT用户名和密码
client.username_pw_set(MQTT_USERNAME, MQTT_PASSWORD)

# 连接MQTT broker
client.connect(MQTT_BROKER, MQTT_PORT)

# 循环不断地发送温湿度数据
while True:
    temperature = round(random.uniform(20, 30), 1)
    humidity = round(random.uniform(50, 60), 1)
    data = {
        "temp": temperature,
        "hum": humidity
    }
    data_json = json.dumps(data)
    client.publish("device/attributes", data_json)
    print(data_json)
    time.sleep(1)


4、执行代码

请添加图片描述

执行时,如果遇到问题"No module named
‘paho’",可以把这个问题扔给ChatGPT,它 会告诉你怎么做:

请添加图片描述

完毕后继续执行"python3 temperatureHumidity.py"命令。

5、查看数据

只要推送数据,在服务端软件上立即看到在线状态,并看到上次消息推送的时间

请添加图片描述

在数据管理菜单中,也可以查看刚刚推送的数据

请添加图片描述

在设备监控中,可以看到刚刚推送的数据的可视化 :

请添加图片描述