找到11280个回复
  • [网页插件] hu60bot: 立即与openai 对话
    439453点击 / 2023-03-19发布 / 2023-04-02回复 / /
    Screenshot_20230402_101318_com.microsoft.emmx.jpg(414.24 KB)这个为啥不支持?手机屏幕太小?
  • 没用过文心一言,但是如果他用的Vue框架,那么直接改变Value 是不会绑定数据的,可以看看这个方案,https://blog.csdn.net/JCM_ZZ/article/details/126076520
  • @c,html转markdown的功能需要调整

  • @老虎会游泳,这代码不对啊。。
    掌缘生灭(白)

  • FFmpeg 的 -shortest 为啥不生效?
    84244点击 / 2023-04-01发布 / 2023-04-01回复 / /
    @无名啊,没有遇到过
  • FFmpeg 的 -shortest 为啥不生效?
    84244点击 / 2023-04-01发布 / 2023-04-01回复 / /

    @tasy5kg,你碰到过这个事情吗?还是说,我 FFmpeg 写错用错了?

  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-04-01回复 / /

    @胡图图,哈哈哈

  • include <Wire.h>

    include "MAX30105.h"

    include "spo2_algorithm.h"

    include <WiFi.h> // 引入WiFi 库

    // WiFi 参数
    const char ssid = "64412";
    const char
    password = "32323433";

    WiFiServer server(80); // 在端口80上创建一个web服务器

    MAX30105 particleSensor;

    define MAX_BRIGHTNESS 255

    if defined(AVR_ATmega328P) || defined(AVR_ATmega168)

    //Arduino Uno不具备足够的SRAM来存储32位格式的50个红外LED数据和红色LED数据。
    //为了解决这个问题,采样数据的16位MSB将被截断。样品变成16位数据。
    uint16_t irBuffer[50]; //红外LED传感器数据
    uint16_t redBuffer[50]; //红色LED传感器数据

    else

    uint32_t irBuffer[50]; //红外LED传感器数据
    uint32_t redBuffer[50]; //红色LED传感器数据

    endif

    int32_t spo2; //SPO2值
    int8_t validSPO2; //指示SPO2计算是否有效
    int32_t heartRate; //心率值
    int8_t validHeartRate; //指示心率计算是否有效

    bool sensorEnabled = false; //标志位,表示传感器是否启用

    void setup()
    {
    Serial.begin(115200); // 以115200比特/秒初始化串行通信:

    // 初始化WIFI连接
    Serial.println();
    Serial.println();
    Serial.print("连接到 ");
    Serial.println(ssid);
    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
    }

    Serial.println("");
    Serial.println("WiFi 连接成功");
    Serial.println(WiFi.localIP());

    // 初始化Web服务器
    server.begin();
    Serial.println("Web服务器已启动");

    // 初始化传感器
    Wire.begin(4, 5); // SDA = GPIO 4, SCL = GPIO 5
    if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) //使用默认的I2C端口,400kHz的速度
    {
    Serial.println(F("未找到MAX30105。 请检查布线/电源。"));
    while (1);
    }

    particleSensor.setup(55, 4, 2, 200, 411, 4096); //使用这些设置配置传感器

    // 初始化结束后关闭传感器模块
    particleSensor.shutDown();
    sensorEnabled = false;
    }

    long lastActiveTime = 0;

    void loop()
    {
    // 等待Web客户端连接
    WiFiClient client = server.available();
    if (client) {
    Serial.println("New Client.");
    String currentLine = "";
    while (client.connected()) {
    if (client.available()) {
    char c = client.read();
    Serial.write(c);
    if (c == '\n') {
    if (currentLine.length() == 0) {
    // 发送HTTP头部
    client.println("HTTP/1.1 200 OK");
    client.println("Content-type:text/html");
    client.println();

            // 发送HTML内容
            client.println("&lt;html>");
            client.println("&lt;head>&lt;title>MAX30102 控制&lt;/title>&lt;/head>");
            client.println("&lt;body>");
            client.println("&lt;h1>MAX30102 控制&lt;/h1>");
            client.println("&lt;p>当前状态: " + String(sensorEnabled ? "已打开" : "已关闭") + "&lt;/p>");
            client.println("&lt;form method=\"POST\">");
            if (sensorEnabled) {
              client.println("&lt;input type=\"submit\" name=\"action\" value=\"关闭传感器\"/>");
            } else {
              client.println("&lt;input type=\"submit\" name=\"action\" value=\"打开传感器\"/>");
            }
            client.println("&lt;/form>");
            client.println("&lt;/body>");
            client.println("&lt;/html>");
    
            // 处理命令
            if (currentLine.indexOf("GET /?action=打开传感器") != -1) {
              if (!sensorEnabled) {
                // 打开传感器模块
                particleSensor.wakeUp();
                delay(500); // 给传感器启动一些时间
                sensorEnabled = true;
              }
            } else if (currentLine.indexOf("GET /?action=关闭传感器") != -1) {
              if (sensorEnabled) {
                // 关闭传感器模块
                particleSensor.shutDown();
                sensorEnabled = false;
              }
            }
    
            break;
          } else {
            currentLine = "";
          }
        } else if (c != '\r') {
          currentLine += c;
        }
      }
    }
    
    // 断开连接
    client.stop();
    Serial.println("Client Disconnected.");

    }

    // 检查传感器是否需要关闭
    if (sensorEnabled && (millis() - lastActiveTime > 60000)) {
    particleSensor.shutDown();
    sensorEnabled = false;
    }

    //读取前50个样本,并确定信号范围
    for (byte i = 0 ; i < 50 ; i++)
    {
    while (particleSensor.available() == false) //是否有新数据?
    particleSensor.check(); //检查传感器是否有新数据

    redBuffer<span style="font-style:italic"> = particleSensor.getRed();
    irBuffer<span style="font-style:italic"> = particleSensor.getIR();
    particleSensor.nextSample(); //处理完当前样本后,转到下一个样本
    Serial.print(F("红光="));
    Serial.print(redBuffer<span style="font-style:italic">, DEC);
    Serial.print(F(", 红外="));
    Serial.println(irBuffer<span style="font-style:italic">, DEC);

    }

    //在前50个样本之后计算心率和SpO2(前4秒的样本)
    maxim_heart_rate_and_oxygen_saturation(irBuffer, 50, redBuffer, &spo2, &validSPO2, &heartRate, &validHeartRate);

    //无线循环地从MAX30102中采样。每1秒计算一次心率和SpO2
    while (1)
    {
    //将内存中的前25个样本丢弃,并将最后25个样本移动到顶部
    for (byte i = 25; i < 50; i++)
    {
    redBuffer[i - 25] = redBuffer;
    irBuffer[i - 25] = irBuffer;
    }

    //在计算心率之前,采取25个样本集。
    for (byte i = 25; i &lt; 50; i++)
    {
      while (particleSensor.available() == false) //是否有新数据?
        particleSensor.check(); //检查传感器是否有新数据
    
      redBuffer<span style="font-style:italic"> = particleSensor.getRed();
      irBuffer<span style="font-style:italic"> = particleSensor.getIR();
      particleSensor.nextSample(); //处理完当前样本后,转到下一个样本
      Serial.print(F("红光="));
      Serial.print(redBuffer<span style="font-style:italic">, DEC);
      Serial.print(F(", 红外="));
      Serial.print(irBuffer<span style="font-style:italic">, DEC);
    
      Serial.print(F(", 心率="));
      Serial.print(heartRate, DEC);
    
      Serial.print(F(", HRvalid="));
      Serial.print(validHeartRate, DEC);
    
      Serial.print(F(", 血氧饱和度="));
      Serial.print(spo2, DEC);
    
      Serial.print(F(", SPO2Valid="));
      Serial.println(validSPO2, DEC);
    
    }
    
    //收集25个新样本后,重新计算HR和SP02
    maxim_heart_rate_and_oxygen_saturation(irBuffer, 50, redBuffer, &spo2, &validSPO2, &heartRate, &validHeartRate);
    printToSerial();

    }
    }

    void printToSerial() {
    if(validSPO2 && validHeartRate) {
    Serial.print(F("心率: ")); Serial.println(heartRate, DEC);
    Serial.print(F("血氧饱和度: ")); Serial.println(spo2, DEC);
    } else {
    Serial.println(F("无效"));
    }
    }

    // 如果需要关闭传感器模块,则可以使用以下函数
    void shutDownSensorModule() {
    if (sensorEnabled) {
    particleSensor.shutDown();
    sensorEnabled = false;
    }
    }
    这段代码中Web服务器,传感器的采样和计算代码在一个无限循环中会崩溃,帮我修改一下
    手机

  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-04-01回复 / /
    两边都反馈一下,说他错了,再看哪边改了,另一边就是对的
  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-04-01回复 / /

    @零玖@㝶芾厶眵攴䭡@希望自己长胖胖@咯叽,是家里那边说星期天扫墓,我就看一下,发现有点不准确
    黑屋屋👾

  • ChatGPT关于医学方面个例
    17251点击 / 2023-03-30发布 / 2023-03-31回复 / /
    这玩意会一本正经的胡说八道
    我是晨曦,我喂自己袋盐!
  • ChatGPT关于医学方面个例
    17251点击 / 2023-03-30发布 / 2023-03-31回复 / /

    看我的
    小米MIX2s(白)

  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-03-31回复 / /


    小米MIX2s(白)

  • [网页插件][更新] @提醒(1.0.4)
    375037点击 / 2023-02-25发布 / 2023-03-31回复 / /

    @cherrydra,如果因为连接数上限关闭连接,能不能响应一个错误信息

  • [网页插件][更新] @提醒(1.0.4)
    375037点击 / 2023-02-25发布 / 2023-03-31回复 / /
    @cherrydra,可能与连接数量有关,当我打开2-3个网页时,再刷新的快点(其实也不是很快,正常浏览)就会提示这个了。
  • [网页插件][更新] @提醒(1.0.4)
    375037点击 / 2023-02-25发布 / 2023-03-31回复 / /
    @无名啊,我看错了,以为是你刚回复的,可以忽略。 
  • [网页插件][更新] @提醒(1.0.4)
    375037点击 / 2023-02-25发布 / 2023-03-31回复 / /

    @残缘,服务器已经稳定运行 25h小时了,所以不是进程退出导致的。应该是,网络问题或者到达用户连接数上限,大概率是达用户连接数上限。看老虎怎么说

  • [网页插件][更新] @提醒(1.0.4)
    375037点击 / 2023-02-25发布 / 2023-03-31回复 / /
    @老虎会游泳@cherrydra
    似乎服务太不稳定。
    image.png(122.21 KB)
  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-03-31回复 / /

    @咯叽 所以那个小红本本叫啥名字,我们家那边也有,但是我叫不出名字 我更好奇出版方是谁
    ~~~

  • 【楼主删除了该帖】
    334点击 / 2023-03-31发布 / 2023-03-31回复 / /
    这个传统已被抛弃。