zhangyanjiao пре 7 година
родитељ
комит
ad22d280c6

+ 3 - 0
examples/wifi/espnow/README.md

@@ -44,6 +44,9 @@ make menuconfig
   The sending device and the recving device must be on the same channel.
 * Set Send count and Send delay under Example Configuration Options.
 * Set Send len under Example Configuration Options.
+* Set Enable Long Range Options.
+  When this parameter is enabled, the ESP32 device will send data at the PHY rate of 512Kbps or 256Kbps
+  then the data can be transmitted over long range between two ESP32 devices. 
 
 ### Build and Flash
 

+ 7 - 1
examples/wifi/espnow/main/Kconfig.projbuild

@@ -48,8 +48,14 @@ config ESPNOW_SEND_DELAY
 config ESPNOW_SEND_LEN
     int "Send len"
     range 10 250
-    default 200
+    default 10
     help
         Length of ESPNOW data to be sent, unit: byte.
 
+config ENABLE_LONG_RANGE
+    bool "Enable Long Range"
+    default "n"
+    help 
+        When enable long range, the PHY rate of ESP32 will be 512Kbps or 256Kbps
+
 endmenu

+ 4 - 0
examples/wifi/espnow/main/espnow_example_main.c

@@ -67,6 +67,10 @@ static void example_wifi_init(void)
      * been already on the same channel.
      */
     ESP_ERROR_CHECK( esp_wifi_set_channel(CONFIG_ESPNOW_CHANNEL, 0) );
+
+#if CONFIG_ENABLE_LONG_RANGE
+    ESP_ERROR_CHECK( esp_wifi_set_protocol(ESPNOW_WIFI_IF, WIFI_PROTOCOL_11B|WIFI_PROTOCOL_11G|WIFI_PROTOCOL_11N|WIFI_PROTOCOL_LR) );
+#endif
 }
 
 /* ESPNOW sending or receiving callback function is called in WiFi task.