mirror of
https://github.com/alexandrebobkov/ESP-Nodes.git
synced 2025-08-08 12:11:00 +00:00
55 lines
1.6 KiB
ReStructuredText
55 lines
1.6 KiB
ReStructuredText
RECEIVER
|
|
========
|
|
|
|
Configuration Variables
|
|
-----------------------
|
|
|
|
.. code-block:: c
|
|
|
|
uint8_t transmitter_mac[ESP_NOW_ETH_ALEN] = {0x9C, 0x9E, 0x6E, 0x14, 0xB5, 0x54};
|
|
|
|
Receiving & De-Ecapsulating Data
|
|
--------------------------------
|
|
|
|
.. code-block:: c
|
|
|
|
void onDataReceived (const uint8_t *mac_addr, const uint8_t *data, uint8_t data_len) {
|
|
ESP_LOGI(TAG, "Data received from: %02x:%02x:%02x:%02x:%02x:%02x, len=%d", mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5], data_len);
|
|
memcpy(&buf, data, sizeof(buf));
|
|
|
|
x_axis = buf.x_axis;
|
|
y_axis = buf.y_axis
|
|
}
|
|
|
|
Main Function
|
|
-------------
|
|
|
|
.. code-block:: c
|
|
|
|
#include <string.h>
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "nvs_flash.h"
|
|
#include "esp_err.h"
|
|
|
|
void app_main(void) {
|
|
// Initialize NVS
|
|
esp_err_t ret = nvs_flash_init();
|
|
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
|
|
ESP_ERROR_CHECK( nvs_flash_erase() );
|
|
ret = nvs_flash_init();
|
|
}
|
|
ESP_ERROR_CHECK( ret );
|
|
wifi_init();
|
|
ESP_ERROR_CHECK(esp_now_init());
|
|
|
|
esp_now_peer_info_t transmitterInfo = {0};
|
|
memcpy(transmitterInfo.peer_addr, transmitter_mac, ESP_NOW_ETH_ALEN);
|
|
transmitterInfo.channel = 0; // Current WiFi channel
|
|
transmitterInfo.ifidx = ESP_IF_WIFI_STA;
|
|
transmitterInfo.encrypt = false;
|
|
ESP_ERROR_CHECK(esp_now_add_peer(&transmitterInfo));
|
|
|
|
ESP_ERROR_CHECK(esp_now_register_recv_cb((void*)onDataReceived));
|
|
|
|
system_led_init();
|
|
} |