esp32通过micropython-->MQTT--上传至腾讯云,实时显示温湿度数据保姆级教程(下)

  • 1. 测试MQTT连接腾讯云:
  • 1.1下载MQTTfx
  • 1.2连接腾讯云
  • 1.3测试订阅和发送:
  • 发送
  • 订阅
  • 上传温湿度数据的python代码



ps:如果您还没看上,请您先观看阅读“上”后再开始操作

1. 测试MQTT连接腾讯云:

1.1下载MQTTfx

因为目前该软件5.00版本收费,建议您下载1.7.1版本的,在这里给出连接:

阿里云盘MQTTFX下载连接 下载完成后,属于傻瓜式安装,点下一步,更换安装路径即可。安装完成后运行程序:

ESP32图传的原理 esp32做图传_数据

1.2连接腾讯云

1.点击上面右方的设置图标:

ESP32图传的原理 esp32做图传_数据_02


点击+新建一个测试:

ESP32图传的原理 esp32做图传_腾讯云_03


填写 Connection Profile 相关信息和 General 信息。

对应着上篇的三元组信息设备id信息进行填写:

ESP32图传的原理 esp32做图传_ESP32图传的原理 esp32做图传_04


ESP32图传的原理 esp32做图传_数据_05

对应着:

ESP32图传的原理 esp32做图传_python_06


ESP32图传的原理 esp32做图传_python_07


ESP32图传的原理 esp32做图传_腾讯云_08


点开MQQTX的User Credentials填写上面三元组信息:

ESP32图传的原理 esp32做图传_python_09


确认无误后点击Apply后者ok

点击connect即可,如果右上角按钮从灰色变绿色,则代表连接成功:

ESP32图传的原理 esp32做图传_ESP32图传的原理 esp32做图传_10

1.3测试订阅和发送:

发送

点击publish给主题发送数据

ESP32图传的原理 esp32做图传_腾讯云_11


ESP32图传的原理 esp32做图传_腾讯云_12


成功接收到数据:

ESP32图传的原理 esp32做图传_嵌入式硬件_13

订阅

打开MQTTFX的Subscribe订阅设备的主题

ESP32图传的原理 esp32做图传_嵌入式硬件_14


ESP32图传的原理 esp32做图传_python_15

测试腾讯云给订阅的MQTTFX发消息:

进入管理:

ESP32图传的原理 esp32做图传_数据_16


找到在线调试:

ESP32图传的原理 esp32做图传_ESP32图传的原理 esp32做图传_17


ESP32图传的原理 esp32做图传_数据_18


接收消息成功:

ESP32图传的原理 esp32做图传_腾讯云_19


至此:测试完毕~~~~~~~~~~~~~~~

上传温湿度数据的python代码

打开Thonny 导入代码:

from umqtt.simple import MQTTClient
from machine import Pin
import network
import time
import machine
import dht
from machine import Timer
 
SSID="xxxxxxxxx"#你的wifi名称
PASSWORD="xxxxxxxxx"#你的wifi密码
 #三元组信息
SERVER ='xxxxxxxx.iotcloud.tencentdevices.com'  #MQTT Server: 网址LGSODS81VJ.iotcloud.tencentdevices.com
CLIENT_ID = "xxxxxxxxesp32_DHT11"   #设备ID
PORT=1883#端口号
#三元组的
username='xxxxxxxxesp32_DHT11;12010126;f6060;1674921600'
password='xxxxxxxxx5f925516ce186d8c41b962c4;hmacsha256'
 #主题
publish_TOPIC = 'xxxxxxxx/esp32_DHT11/data'
subscribe_TOPIC ='xxxxxxxx/esp32_DHT11/data'
d=dht.DHT11(Pin(13))#连接引脚
#以json发送温湿度数据:
def pubdata(temp,hum):#
    message='{"temperture":%d,"humidity":%d}'%(temp,hum)
    return message
#wifi连接配置
def do_connect():
    import network
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    start_time=time.time()
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect(SSID, PASSWORD)
        while not wlan.isconnected():
            
            pass
            if time.time()-start_time>15:
                print("WIFI Connected Timeout!")
                break
    if wlan.isconnected():
        print('network config:', wlan.ifconfig())
        return True
    else:
        return False

#定义mqqt发送数据

def MQTT_Send(tim):
    d.measure()
    #发送温湿度
    client.publish(publish_TOPIC,pubdata(d.temperature(),d.humidity()))

#连接上wifi后判断是否连接上MQTT

if do_connect():
    client=MQTTClient(CLIENT_ID,SERVER,PORT,username,password,60)
    client.connect()
    tim=Timer(-1)
    tim.init(period=10000,mode=Timer.PERIODIC,callback=MQTT_Send)

点击上传至esp32后:
打开腾讯云 云日志–》内容日志即可查看温湿度数据信息:

ESP32图传的原理 esp32做图传_腾讯云_20

ESP32图传的原理 esp32做图传_腾讯云_21


至此就已经全部完成,如果对您有帮助,请您看完后记得一键三联哦,如果有问题,可以在留言区交流谈论!

-------------------------------------------------------------