用ChatGPT写代码学物联网,10分钟模拟设备并查看数据

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、查看数据

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

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

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

本文链接:https://my.lmcjl.com/post/1984.html

展开阅读全文

4 评论

留下您的评论.