如何检查esp现在的slave是否失去连接?

问题描述 投票:0回答:3

我想使用 esp_now 协议从主机向从机 esp32 发送数据。问题是,我希望在 esp-now master 打开并连接时运行一个单独的函数,并且当 master 关闭时,它应该运行不同的代码。

esp32
3个回答
1
投票

esp_now 是无连接的。 没有连接,因此无法知道连接是否已丢失。 您只需发送消息,并使用回调来告知消息是否已收到。 你无法先验地检测到这一点。

您有用户指南吗? https://www.espressif.com/en/products/software/esp-now/resources


0
投票

发送您的程序未使用的变量 例如你想从 发送方到接收方,假设您没有使用 char 'z' 在您的程序中,然后在发送者程序中 循环每次迭代都会发送“z”, 现在在接收器程序循环中继续检查 char 'z',所以只要收到char 'z',那么 发件人还活着,如果您没有收到字符“z” 那么发送器已关闭或未连接。


0
投票

文档中有一个关于消息传递的简单函数。

void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {
  Serial.print("\r\nLast Packet Send Status:\t");
  Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");
}

您还可以让接收器在收到一系列消息后向发送器发送一些内容。 ESP-NOW 是完全双向的通信。

© www.soinside.com 2019 - 2024. All rights reserved.