当前位置:   article > 正文

W5100S-EVB-Pico & DHT11:实时数据传输_w5100s使用教程

w5100s使用教程

转发: W5100S-EVB-Pico & DHT11: Real-time Data Transmission

项目介绍

0.简介

这是一个关于如何使用带有 w5100s-evb-pico 板的 DHT11 传感器将温度和湿度数据发送到 Beebotte 云的教程。 该教程涵盖了导入必要的库、为 DHT11 传感器设置引脚号以及为 Beebotte 云连接更新令牌值。 w5100s-evb-pico开发板发送的实时温湿度数据可以在仪表盘上进行监控。

1.硬件

1.1. 必需的组件

  • W5100S-EVB-Pico
  • DHT11
  • 面包板
  • 以太网线
  • USB 线

1.2. 硬件接线

连接 W5100S-EVB-Pico 和 DHT11 湿度和温度传感器。 如下连接引脚。 在此示例中,我们将电路板上的 GP22 引脚连接到传感器上的数据引脚,但您也可以使用其他 GPIO 引脚。

W5100S-EVB-Pico | DHT11

3.3V                           | VCC

GND                           | GND

GP22                          | DATA

将电源和以太网电缆连接到板上后,它应该如下图所示。

2. 云设置

2.1. 创建频道

访问 Beebotte 云,登录并创建频道。 在通道下添加传感器资源。 将温度和湿度注册为数字类型。

创建通道后,将发行令牌。 您可以使用此令牌将数据发送到云。

2.2. 创建仪表板

转到“仪表板”菜单,创建一个新的仪表板,然后选择“基本值”小部件和“时间线图表”小部件。 通过选择资源从创建的频道添加资源,并将小部件添加到仪表板。

3. Arduino IDE

3.1.配置 Arduino 集成开发环境

在 Arduino IDE 上安装 Arduino IDE 即可使用 W5100S-EVB-PICO 开发板。

3.1.1. 添加看板经理 URL

转到 Arduino IDE 中的文件 - 首选项并将以下链接添加到附加板管理器 URLS。

https://github.com/WIZnet-ArduinoEthernet/arduino-pico/releases/download/global/package_rp2040-ethernet_index.json

3.1.2. 添加 Board Manager

转到 Board Manager 搜索 PICO 并通过 Wiznet 安装 Raspberry PI PICO/RP2040 Ethernet。

进入Tools-Board,可以看到Raspberry PI PICO/RP2040 Ethernet已经添加。 现在您可以在 Arduino IDE 上使用 W5100S-EVB-PICO。

3.1.3. 安装库

您需要安装 3 个库。 转到 Arduino IDE 中的库管理器并安装以下各项:

4. 发送数据到 Beebotte Cloud

4.1. 连接到以太网

使用 USB 5 针电缆将 W5100S-EVB-Pico 板连接到您的计算机。 转到 Arduino IDE 中的工具 - 端口并为开发板选择相应的端口。

4.2. 更新数据并发布

更新来自 DHT11 传感器的温度和湿度数据并将其发布到 Beebotte 云端。

代码基于 beebotte 的 github 上上传的示例文件,并进行了一些修改。 我编写的完整代码已上传到 github 上。

导入必要的库,为 DHT11 传感器设置引脚号,并使用之前获得的值更新 Beebotte 云连接的令牌值。

  1. #include <SPI.h>
  2. #include <Ethernet.h>
  3. #include <PubSubClient.h>
  4. #include <ArduinoJson.h>
  5. #include <DHT.h>
  6. #define DHTPIN 22 // Pin which is connected to the DHT sensor.
  7. #define DHTTYPE DHT11 // DHT 11
  8. #define BBT "mqtt.beebotte.com" // Domain name of Beebotte MQTT service
  9. #define TOKEN "token_xxxxxxxxxxxxxxxx" // Set your channel token here
  10. #define CHANNEL "W5100SEVBPico" // Replace with your device name
  11. #define TEMP_RESOURCE "temperature" // This is where we will store temperature
  12. #define HUMID_RESOURCE "humidity" // This is where we will store humidity
  13. #define WRITE true // indicate if published data should be persisted or not
  14. // Initialize DHT sensor.
  15. DHT dht(DHTPIN, DHTTYPE);//
  16. // Enter a MAC address of your shield
  17. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  18. IPAddress ip(192, xxx, xxx, xxx);
  19. IPAddress myDns(xxx, xxx, xxx, xxx);
  20. IPAddress gateway(xxx, xxx, xxx, xxx);
  21. IPAddress subnet(xxx, xxx,, xxx, xxx);
  22. EthernetClient ethClient;
  23. PubSubClient client(ethClient);

loop() 函数使用 dht.readTemperature() 和 dht.readHumidity() 函数从 DHT11 传感器读取温度和湿度数据。 然后它使用 isnan() 函数检查数据是否有效。 如果数据有效,它会通过发布包含温度和湿度值的 JSON 负载将数据更新到 Beebotte 云。 数据也打印到串行监视器以用于调试目的。 delay() 函数用于在数据更新之间添加 5 秒的延迟。

  1. void loop() {
  2. // Read data from DHT11 sensor
  3. float temp = dht.readTemperature();
  4. float humid = dht.readHumidity();
  5. // Check if data is valid
  6. if (isnan(temp) || isnan(humid)) {
  7. Serial.println("Failed to read from DHT sensor!");
  8. return;
  9. }
  10. // Update data to Beebotte cloud
  11. char payload[50];
  12. snprintf(payload, sizeof(payload), "{\\"temperature\\": %.2f, \\"humidity\\": %.2f}", temp, humid);
  13. client.publish(channelResource, payload);
  14. // Print data to Serial Monitor
  15. Serial.print("Temperature: ");
  16. Serial.print(temp);
  17. Serial.print("°C, Humidity: ");
  18. Serial.print(humid);
  19. Serial.println("%");
  20. // Delay for 5 seconds
  21. delay(5000);
  22. }

5. Beebotte Dashboard 监控数据

将代码上传到W5100S-EVB-Pico开发板后,即可在Beebotte Dashboard上监控实时温湿度数据。

基本值小部件显示当前温度和湿度值,时间线图表小部件以图形格式显示历史数据。

就是这样! 您已成功设置和配置带有 DHT11 传感器的 W5100S-EVB-Pico 板,以将温度和湿度数据发送到 Beebotte 云并在仪表板上进行监控。

我希望本教程可以帮助您将 DHT11 传感器与 W5100S-EVB-Pico 板一起使用并将数据发送到 Beebotte 云。 如果您有任何疑问或需要进一步说明,请随时提问!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/468154
推荐阅读
相关标签
  

闽ICP备14008679号