电子网首页 > 开源与设计

【AAS-AQS-UNO板卡使用】APP查看PM25数据

2025-12-02 22:31 | 来源:电子世界报

APP查看传感器数据逻辑实现

本次的传感器只有一个灰尘传感器,因为板载的只有一个串口,其中的实现是将本地的串口接入到arduinoR4WiFi实现,接收串口灰尘的数据,将其中的消息上传到云平台,最后通过app来查看数据。

UNO代码实现

我们串口数据可以看到

image-20251201223701972

其中前面的数字就是PM25的数据,所以我们可以将其中的串口获取出来,将其中的串口数据作为我们的收发的数据

R4代码实现
#include <Wire.h>
#include "SHTSensor.h"
#include "WiFiS3.h"  
#include <AliyunIoTSDK.h>  // 引入阿里云 IoT SDK

// 设置产品和设备信息
#define PRODUCT_KEY "k1pkwhcnphr"
#define DEVICE_NAME "desk"
#define DEVICE_SECRET "you"
#define REGION_ID "cn-shanghai"

// WiFi 信息
#define WIFI_SSID "12345678"
#define WIFI_PASSWD "12345678.."

// 订阅Topic
#define topic_Set "/sys/k1pkwhcnphr/desk/thing/service/property/set"

static WiFiClient espClient;

void setup() {
 Serial.begin(115200);      // 串口0: 输出到电脑监视器
 Serial1.begin(115200);     // 串口1: 接收外部模块的数据

 wifiInit(WIFI_SSID, WIFI_PASSWD);
 AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);
 
 if(AliyunIoTSDK::subscribe(topic_Set,0))
     Serial.println("订阅成功");
}

void loop() {
 // ⭐重点:检测 Serial1 是否有数据,收到就打印到 Serial0
 if (Serial1.available()) {
   String recv = Serial1.readStringUntil('\n'); // 读取一整行 例: "4,Green"
   recv.trim(); // 去空格换行

   Serial.print("[Serial1 Rx] ");
   Serial.println(recv);  // 输出调试

   // ====== 阅读全文

推荐技术

返回顶部