admin管理员组

文章数量:1794759

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

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

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

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

具体的步骤
  • 生成代码

  • 服务端软件上配置设备

  • 修改代码参数

  • 执行代码

  • 查看数据。

  • 要用到的软件

    ChatGPT:要注册并可以登录。

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

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

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

    首先要登录到chat.openai/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,使用如下帐号登录:

    测试帐号admin@thingspanel 密码 123456

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

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

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

  • 选择默认分组

  • 选择设备

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

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

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

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

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

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

  • 3、修改代码参数

    修改后的代码如下:

    import random import time import json import paho.mqtt.client as mqtt # MQTT broker的地址和端口 MQTT_BROKER = "dev.thingspanel" 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、查看数据

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

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

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

    本文标签: 代码数据设备chatGPT