完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用 ESPNOW 协议配置了 2 个 ESP-12E 卡。
我的第一次尝试是成功的。但不知何故,我现在遇到了消息传递问题。 当我插入发送板时:发送成功 当我按下发送板上的重置按钮时:发送失败 为什么现在我的重置按钮出现故障? 代码:全选#include // Set your Board ID (ESP8266 Sender #1 = BOARD_ID 1, ESP8266 Sender #2 = BOARD_ID 2, etc) #define BOARD_ID 1 //MAC Address of the receiver -- ESP-12E uint8_t broadcastAddress[] = {0x99, 0x99, 0x99, 0x99, 0x99, 0x99}; //Structure example to send data //Must match the receiver structure typedef struct struct_message { int topic; char payload[2]; } struct_message; //Create a struct_message called myData struct_message myData; // Callback when data is sent void OnDataSent(uint8_t *mac_addr, uint8_t sendStatus) { Serial.print("Last Packet Send Status: "); if (sendStatus == 0){ Serial.println("Delivery success\n"); } else{ Serial.println("Delivery fail\n" + String(sendStatus)); } } void setup() { //Init Serial Monitor Serial.begin(9600); delay(10); // Init ESP-NOW if (esp_now_init() != 0) { Serial.println("Error initializing ESP-NOW"); return; } // Once ESPNow is successfully Init, we will register for Send CB to // get the status of Trasnmitted packet esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); // Once ESPNow is successfully Init, we will register for Send CB to // get the status of Trasnmitted packet esp_now_set_self_role(ESP_NOW_ROLE_CONTROLLER); esp_now_register_send_cb(OnDataSent); //Préparer les données à transmettre myData.topic = BOARD_ID; strcpy(myData.payload, "&1"); Serial.println("\nMyData : " ); Serial.println(*((uint8_t *) &myData.topic)); Serial.println(*((uint8_t *) &myData.payload)); Serial.println("\n"); //Send data esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData)); } void loop() { } 代码:全选#include #include // Structure example to receive data // Must match the sender structure typedef struct struct_message { int topic; char payload[2]; } struct_message; struct_message incomingReadings; // callback function that will be executed when data is received void OnDataRecv(uint8_t * mac_addr, uint8_t *incomingData, uint8_t len) { // send the received data to the Raspberry Pi // copier les résultats en mémoire memcpy(&incomingReadings, incomingData, sizeof(incomingReadings)); //cout< |
|
相关推荐
1个回答
|
|
很难确定故障的原因,因为你没有给出任何错误信息或日志。但是,以下是一些可能的原因:
1.重置按钮可能已经损坏或失效,需要更换。 2.重置按钮可能没有正确地连接到ESP-12E卡上,需要检查连接。 3.重置按钮可能造成电子干扰,导致ESP-12E卡在按下按钮时出现错误,需要重新安排电线和元件。 4.发送板上的其他元件可能导致ESP-12E卡出现错误,需要检查和排除故障。 5.代码可能存在问题,需要仔细检查和调试。 请注意,在未发生错误的情况下,重置按钮可能会在发送消息时干扰协议的操作。建议在测试消息传递时不要使用重置按钮,以避免干扰。 |
|
|
|
只有小组成员才能发言,加入小组>>
528浏览 6评论
438浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
425浏览 5评论
422浏览 4评论
398浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 11:31 , Processed in 0.842851 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号