esp mesh_lite无法加入现有IDF的工程中

waroyal
Posts: 6
Joined: Wed Mar 22, 2023 3:00 am

esp mesh_lite无法加入现有IDF的工程中

Postby waroyal » Wed Mar 22, 2023 3:21 am

将下载的esp mesh_lite,版本号V0.1.1压缩包里 components里的mesh_lite放到自己工程里的components里,

mesh_lite里的idf_component.yml文件内容如下

dependencies:
espressif/cmake_utilities:
version: 0.*
espressif/iot_bridge:
version: 0.*
idf:
version: '>=4.4'
description: A lite version Wi-Fi Mesh, each node can access the network over the
IP layer.
url: https://github.com/espressif/esp-mesh-l ... /mesh_lite
version: 0.1.1


--------------------------------------------------------------------------------------------------------------------------



运行menuconfig后报错

[SDK Configuration Editor]
Solving dependencies requirements
Updating lock file at D:/esp_prj/esp32_roic\dependencies.lock
Processing 3 dependencies:
[1/3] espressif/cmake_utilities (0.4.2)
[2/3] espressif/iot_bridge (0.4.0)
[3/3] idf (4.4.0)

[SDK Configuration Editor]
2 problems were found in the manifest file D:\esp_prj\esp32_roic\managed_components\espressif__cmake_utilities\idf_component.yml:
Invalid manifest format
Unknown keys: issues

[SDK Configuration Editor]
---------------------------ERROR--------------------------




dependencies.lock里的内容如下
dependencies:
espressif/cmake_utilities:
component_hash: aaadeaf0997594781e7fd91cccbfe61cde0d5f9fb8ad4afb215c0c84fa61bef7
source:
service_url: https://api.components.espressif.com/
type: service
version: 0.4.2
espressif/iot_bridge:
component_hash: 0aa9ad420993af4104810fad3a5d56044a7c542b7073e30c7c11fbabd3eca95c
source:
service_url: https://api.components.espressif.com/
type: service
version: 0.4.0
idf:
component_hash: null
source:
type: idf
version: 4.4.0
manifest_hash: 36a398f72debe905d77349318bd6f960c93366621497064571150259648a3897
target: esp32
version: 1.0.0

---------------------------------------------------------------------------


请问这个该怎么解决啊?

ESP_XCGuang
Posts: 25
Joined: Fri Aug 31, 2018 7:34 am

Re: esp mesh_lite无法加入现有IDF的工程中

Postby ESP_XCGuang » Tue Apr 11, 2023 7:41 am

试试: python -m pip install --upgrade idf-component-manager ,然后删除 build,重新编译

waroyal
Posts: 6
Joined: Wed Mar 22, 2023 3:00 am

Re: esp mesh_lite无法加入现有IDF的工程中

Postby waroyal » Fri May 05, 2023 7:39 am

你好,按照这个进行操作后

并使用idf命令添加mesh lite

调用menuconfig,还是有错
错误如下:

[SDK Configuration Editor]
-- Found Git: C:/Program Files/Git/cmd/git.exe (found version "2.38.1.windows.1")

[SDK Configuration Editor]
-- ccache will be used for faster recompilation

[SDK Configuration Editor]
-- The C compiler identification is GNU 8.4.0

[SDK Configuration Editor]
-- The CXX compiler identification is GNU 8.4.0

[SDK Configuration Editor]
-- The ASM compiler identification is GNU

[SDK Configuration Editor]
-- Found assembler: C:/6608/Espressif/esp-env/tools/riscv32-esp-elf/esp-2021r1-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc.exe

[SDK Configuration Editor]
-- Detecting C compiler ABI info

[SDK Configuration Editor]
-- Detecting C compiler ABI info - done

[SDK Configuration Editor]
-- Check for working C compiler: C:/6608/Espressif/esp-env/tools/riscv32-esp-elf/esp-2021r1-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc.exe - skipped

[SDK Configuration Editor]
-- Detecting C compile features

[SDK Configuration Editor]
-- Detecting C compile features - done

[SDK Configuration Editor]
-- Detecting CXX compiler ABI info

[SDK Configuration Editor]
-- Detecting CXX compiler ABI info - done

[SDK Configuration Editor]
-- Check for working CXX compiler: C:/6608/Espressif/esp-env/tools/riscv32-esp-elf/esp-2021r1-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++.exe - skipped

[SDK Configuration Editor]
-- Detecting CXX compile features

[SDK Configuration Editor]
-- Detecting CXX compile features - done

[SDK Configuration Editor]
-- Building ESP-IDF components for target esp32c3

[SDK Configuration Editor]
Processing 5 dependencies:

[SDK Configuration Editor]
[1/5] espressif/cmake_utilities (0.4.7)

[SDK Configuration Editor]
[2/5] espressif/esp_modem (1.0.0)

[SDK Configuration Editor]
[3/5] espressif/iot_bridge (0.5.0)

[SDK Configuration Editor]
[4/5] espressif/mesh_lite (0.1.2)

[SDK Configuration Editor]
[5/5] idf (4.4.0)

[SDK Configuration Editor]
-- Project sdkconfig file D:/esp_prj/Waroyal_32_c3/sdkconfig

[SDK Configuration Editor]
---------------------------ERROR--------------------------

warning: the int symbol BRIDGE_SOFTAP_MAX_CONNECT_NUMBER (defined at D:/esp_prj/Waroyal_32_c3/managed_components/espressif__iot_bridge/Kconfig:60) has a non-int default BRIDGE_CUSTOM_MAX_CONNECT_NUMBER (undefined)

-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
-- Found PythonInterp: C:/6608/Espressif/esp-env/python_env/idf5.0_py3.8_env/Scripts/python.exe (found version "3.8.7")

[SDK Configuration Editor]
-- Could NOT find Perl (missing: PERL_EXECUTABLE)

[SDK Configuration Editor]
-- App "waroyal_32_c3" version: 0.0.4

[SDK Configuration Editor]
-- Adding linker script D:/esp_prj/Waroyal_32_c3/build/esp-idf/esp_system/ld/memory.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_system/ld/esp32c3/sections.ld.in

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.version.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom/esp32c3/ld/esp32c3.rom.eco3.ld

[SDK Configuration Editor]
-- Adding linker script C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/soc/esp32c3/ld/esp32c3.peripherals.ld

[SDK Configuration Editor]
---------------------------ERROR--------------------------

fatal: not a git repository (or any of the parent directories): .git

-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
-- IOT_BRIDGE: 0.5.0

[SDK Configuration Editor]
-- MESH_LITE: 0.1.2

[SDK Configuration Editor]
---------------------------ERROR--------------------------

CMake Error at managed_components/espressif__cmake_utilities/package_manager.cmake:43 (target_compile_options):
target_compile_options may only set INTERFACE properties on INTERFACE
targets
Call Stack (most recent call first):
managed_components/espressif__mesh_lite/CMakeLists.txt:25 (cu_pkg_define_version)



-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
-- Components: Logic app_trace app_update asio bootloader bootloader_support bsp bt cbor cmock coap console cxx driver efuse esp-tls esp32c3 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_ipc esp_lcd esp_local_ctrl esp_netif esp_phy esp_pm esp_ringbuf esp_rom esp_serial_slave_link esp_system esp_timer esp_websocket_client esp_wifi espcoredump espressif__cmake_utilities espressif__esp_modem espressif__iot_bridge espressif__mesh_lite esptool_py expat fatfs freemodbus freertos hal heap idf_test ieee802154 jsmn json libsodium log lwip main mbedtls mdns mqtt network newlib nghttp nvs_flash openssl openthread ota partition_table protobuf-c protocol_examples_common protocomm pthread riscv sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter tinyusb unity usb vTasks_Normal vfs wear_levelling wifi_provisioning wpa_supplicant
-- Component paths: D:/esp_prj/Waroyal_32_c3/components/Logic C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/app_trace C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/app_update C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/asio C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/bootloader C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/bootloader_support D:/esp_prj/Waroyal_32_c3/components/bsp C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/bt C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/cbor C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/cmock C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/coap C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/console C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/cxx C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/driver C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/efuse C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp-tls C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp32c3 C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_adc_cal C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_common C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_eth C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_event C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_gdbstub C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_hid C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_http_client C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_http_server C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_https_ota C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_https_server C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_hw_support C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_ipc C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_lcd C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_local_ctrl C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_netif C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_phy C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_pm C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_ringbuf C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_rom C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_serial_slave_link C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_system C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_timer C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_websocket_client C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esp_wifi C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/espcoredump D:/esp_prj/Waroyal_32_c3/managed_components/espressif__cmake_utilities D:/esp_prj/Waroyal_32_c3/managed_components/espressif__esp_modem D:/esp_prj/Waroyal_32_c3/managed_components/espressif__iot_bridge D:/esp_prj/Waroyal_32_c3/managed_components/espressif__mesh_lite C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/esptool_py C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/expat C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/fatfs C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/freemodbus C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/freertos C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/hal C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/heap C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/idf_test C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/ieee802154 C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/jsmn C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/json C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/libsodium C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/log C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/lwip D:/esp_prj/Waroyal_32_c3/main C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/mbedtls C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/mdns C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/mqtt D:/esp_prj/Waroyal_32_c3/components/network C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/newlib C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/nghttp C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/nvs_flash C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/openssl C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/openthread D:/esp_prj/Waroyal_32_c3/components/ota C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/partition_table C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/protobuf-c C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/examples/common_components/protocol_examples_common C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/protocomm C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/pthread C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/riscv C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/sdmmc C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/soc C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/spi_flash D:/esp_prj/Waroyal_32_c3/components/spiffs C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/tcp_transport C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/tcpip_adapter C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/tinyusb C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/unity C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/usb D:/esp_prj/Waroyal_32_c3/components/vTasks_Normal C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/vfs C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/wear_levelling C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/wifi_provisioning C:/6608/Espressif/esp-sdk/esp-idf/esp-idf-v5.0-dev/components/wpa_supplicant

[SDK Configuration Editor]
-- Configuring incomplete, errors occurred!
See also "D:/esp_prj/Waroyal_32_c3/build/CMakeFiles/CMakeOutput.log".
See also "D:/esp_prj/Waroyal_32_c3/build/CMakeFiles/CMakeError.log".

[SDK Configuration Editor]
---------------------------ERROR--------------------------

cmake failed with exit code 1

-----------------------END OF ERROR-----------------------
[SDK Configuration Editor]
Executing action: confserver
Running cmake in directory d:\esp_prj\waroyal_32_c3\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 d:\esp_prj\waroyal_32_c3"...

[SDK Configuration Editor]
---------------------------ERROR--------------------------

SDK Configuration editor confserver process exited with code: 2
-----------------------END OF ERROR-----------------------

不清楚应该如何进行操作了

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

Re: esp mesh_lite无法加入现有IDF的工程中

Postby ESP_TianSW » Tue Jun 06, 2023 8:42 am

是不是没有开 CONFIG_MESH_LITE_ENABLE 这个配置项。没开这个配置项会导致编译失败,后面我们会进行 bugfix。

waroyal
Posts: 6
Joined: Wed Mar 22, 2023 3:00 am

Re: esp mesh_lite无法加入现有IDF的工程中

Postby waroyal » Mon Jun 19, 2023 7:33 am

请问如何开启 CONFIG_MESH_LITE_ENABLE 这个配置项

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

Re: esp mesh_lite无法加入现有IDF的工程中

Postby ESP_TianSW » Wed Jul 19, 2023 2:15 am

https://github.com/espressif/esp-mesh-l ... /mesh_lite
您好,请将 mesh_lite 组件替换为最新的,最新的 master 已经修复了该问题。

waroyal
Posts: 6
Joined: Wed Mar 22, 2023 3:00 am

Re: esp mesh_lite无法加入现有IDF的工程中

Postby waroyal » Mon Jul 31, 2023 11:01 am

你好,请问root节点使用,esp_err_t esp_mesh_lite_send_broadcast_msg_to_child(const char* payload)函数,子节点在什么地方可以接收到信息。mesh_lite 0.4.0版本显示的api没有接收处理函数。
在调用该函数给子节点发送信息时,子节点重启

//--------------------------------显示错误信息
Guru Meditation Error: Core 0 panic'ed (Load access fault). Exception was unhandled.

Core 0 register dump:
MEPC : 0x40058c20 RA : 0x4200e578 SP : 0x3fcae850 GP : 0x3fc8f600
0x4200e578: esp_mesh_lite_msg_action_process at /builds/ae_group/esp-mesh-lite-priv/esp-mesh-lite/components/mesh_lite/priv_src/esp_mesh_lite_comm.c:1458

//----------------------------------------
目前esp_mesh_lite_comm.c应该是官方封装的a库,看不到实现代码,这样如何进行mesh通信呢?

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

Re: esp mesh_lite无法加入现有IDF的工程中

Postby ESP_TianSW » Tue Aug 01, 2023 6:28 am

实现内部通信需要先注册 msg_action_list,具体可以参考以下的说明。
https://github.com/espressif/esp-mesh-l ... ite.c#L216
https://github.com/espressif/esp-mesh-l ... ore.h#L133

waroyal
Posts: 6
Joined: Wed Mar 22, 2023 3:00 am

Re: esp mesh_lite无法加入现有IDF的工程中

Postby waroyal » Fri Aug 04, 2023 1:19 pm

发送问题已经读懂函数的使用。另外,请问一下,共三个设备,一个允许layer为1(根节点),两个不允许layer为1(非根节点)。根节点使用广播发送给child,非根节点使用单播发送给root。meshlite设置为允许没加入路由器router也能建立mesh网络。
发现的现象是,当如果根节点连接到普通家用路由器router时,根节点广播给非根节点child通信正常,不会多次发送数据(能收到child的ack,因此不会多次发送),非根节点单播给根节点root通信正常。当将普通家用路由器router断电后,根节点广播发送给child的信息,相似没有回应,会多次发送。非根节点单播给根节点root的信息,根节点无法收到。
这种情况正常吗,那如果路由器断电,那么这个mesh网络也就不存在了吗?
如果不连接路由器有办法进行mesh网络内部信息交换吗?

ESP_TianSW
Posts: 52
Joined: Wed Sep 23, 2020 12:19 pm

Re: esp mesh_lite无法加入现有IDF的工程中

Postby ESP_TianSW » Tue Aug 08, 2023 7:34 am

请检查下子节点是否正常连接根节点的热点,正常情况下,根节点在和路由器断开后,重连四次路由器失败后会定时 10s 扫描一次,扫描的过程中可能会对发送信息有影响,别的时间段通信应该是正常的。如果可以的话,可以将三个设备的日志提供下。

Who is online

Users browsing this forum: No registered users and 18 guests