【ESP8266-01】MQTT连接百度云-进阶(物可视)

上一章 【ESP8266-01】MQTT连接百度云(天工物接入)

ESP8266-01 MQTT连接百度云-进阶(物可视)

前言

前边我们讲了MQTT连接百度云了,也学会了如何上传数据,那么我们要玩一些更高大上的,让这些数据用模型替代出来,同时看起来也更加的美观,就像下图所示。
在这里插入图片描述
好了,本章节我们就来学习如何让数据可视化起来。

1.创建工程

1.1 打开“物联网数据可视化”

在这里插入图片描述

1.2 创建工作区

在这里插入图片描述
工作区的名称自行命名;我这里命名为“hello”;

1.3 创建仪表盘

在这里插入图片描述
为仪表盘命名,下边有多个模板可以选择,像前边那么高大上的可以直接选择模板,这里演示选择空白模板,方便大家学习。
在这里插入图片描述

1.4 工作区

在上边操作完成之后,我们就能看到下面的区域。
在这里插入图片描述
左侧区域的模型或者元件可以直接拖放到画面显示区域,右侧进行参数配置,我们模型的数据绑定也在右侧进行,我们后边再讲。

2.创建我们的第一个模型

2.1放置一个按钮

如图所示,放置一个仪表盘。在这里插入图片描述

2.2对按钮进行参数设置

单击刚才放置的仪表盘,右侧是不是又如图所示的属性,
在这里插入图片描述
在这里边,我们可以给仪表命名,可以修改颜色,可以修改范围、角度等信息。
比如我们要将仪表名字改为“室内温度”,范围改为-20~60℃,我们就可以按照下图操作
在这里插入图片描述
在这里插入图片描述
最终的效果就如图所示
在这里插入图片描述

3 .为仪表绑定数据

仪表创建好了,那么怎么样让他动起来呢,我们就需要为他绑定我们上传的数据,具体怎样操作呢,下边我们来详细介绍。

3.1 选择数据绑定

我们单击仪表盘,在右侧可以看到如图所示的参数,我们可以给这么多信息绑定数据,但是要想让他动起来,怎样搞呢
在这里插入图片描述

3.2 选择数据源

单击指标值后边的类似与链接的按钮在这里插入图片描述
我们选择数据表,出现了“无匹配结果”,这是为啥呢,哎,因为我们没有选择物影子,不知道匹配谁去,那怎么搞呢?
在刚才页面的顶部,我们选择数据
在这里插入图片描述
在新建的页面里选择“新建”
在这里插入图片描述
新建完成后,我们为我们的数据选择参数
在这里插入图片描述

名称:随意命名
类型:选择“设备影子”
区域:如果你设备影子选的北京就选北京,如果选的广州,那么这里也要选广州
物影子列表:选择自己创建的物影子,可查看上一章

在这里插入图片描述就如图所示,点击“下一步”
在这里插入图片描述
这里一定要勾选上你的属性,要不然没法用。点击“确定”
在这里插入图片描述
可以看到数据表已经创建好了。
再返回画布那里选择数据绑定
在这里插入图片描述
是不是我们刚刚创建的数据表已经显示出来了,剩下的咱们开始走起
在这里插入图片描述
我们选择数据表,选择完成后,我直接讲beep_time属性当温度值使了。读者可以依据自身情况选择。点击“运行”,然后“确定”,是不是发现仪表盘的指针变化了。在这里插入图片描述
这个完成后,算是已经创建好了

4.发布和分享

我们返回仪表盘,我们看到下边又几个按钮,分别是发布、分享啥的,
在这里插入图片描述

4.1 发布

我们点击发布,会有下边的窗口,如果需要加密,那就勾选,如果不需要,直接点击确认发布
在这里插入图片描述

4.2 分享

点击分享,我们能看到如图所示的链接,这个链接我们用任意的浏览器就能显示。
在这里插入图片描述
在这里插入图片描述
我们用esp8266或者MQTTx发送json信息,更改beep_time的值,我们的仪表盘也能跟着动起来了。
完毕

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤来连接ESP8266-01S与阿里云的MQTT服务: 1. 配置阿里云IoT平台: - 在阿里云控制台上创建一个联网实例。 - 在联网实例中创建设备,获取设备的三元组信息(DeviceName、DeviceSecret和ProductKey)。 2. 编写Arduino代码: - 在Arduino IDE中打开一个新的Sketch。 - 引入ESP8266WiFi库和PubSubClient库。 - 设置WiFi连接信息。 - 定义阿里云MQTT服务器的地址和端口。 - 定义设备的三元组信息。 - 在setup()函数中连接WiFi和阿里云MQTT服务器。 - 在loop()函数中保持MQTT连接,并处理订阅和发布消息的逻辑。 下面是一个简单的示例代码: ```cpp #include <ESP8266WiFi.h> #include <PubSubClient.h> const char* ssid = "your_wifi_ssid"; const char* password = "your_wifi_password"; const char* mqtt_server = "your_mqtt_server"; const int mqtt_port = 1883; const char* product_key = "your_product_key"; const char* device_name = "your_device_name"; const char* device_secret = "your_device_secret"; WiFiClient espClient; PubSubClient client(espClient); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); client.setServer(mqtt_server, mqtt_port); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message received: "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } void reconnect() { while (!client.connected()) { String clientId = "ESP8266Client-"; clientId += String(random(0xffff), HEX); if (client.connect(clientId.c_str(), device_name, device_secret)) { Serial.println("Connected to MQTT server"); client.subscribe("your_topic"); } else { Serial.print("Failed to connect to MQTT server, rc="); Serial.print(client.state()); Serial.println(" retrying in 5 seconds..."); delay(5000); } } } void loop() { if (!client.connected()) { reconnect(); } client.loop(); } ``` 3. 替换示例代码中的`your_wifi_ssid`和`your_wifi_password`为你的WiFi网络的名称和密码。 替换`your_mqtt_server`为你的阿里云MQTT服务器地址。 替换`your_product_key`、`your_device_name`和`your_device_secret`为你的设备三元组信息。 4. 将代码上传到ESP8266-01S开发板。 这样,你的ESP8266-01S就可以连接到阿里云的MQTT服务了。记得根据你的实际需求修改代码中的订阅和发布逻辑。希望对你有帮助!如果有任何问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值