This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/CC2652R:如何在 Ubuntu 16.04 x64位上运行 ZigBee-linux-sensor-on-cloud_1.0.0

Guru**** 2297390 points
Other Parts Discussed in Thread: LAUNCHXL-CC26X2R1, Z-STACK, CC2531EMK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/758205/linux-cc2652r-how-to-run-zigbee-linux-sensor-to-cloud_1-0-0-on-ubuntu-16-04-x64-bit

器件型号:CC2652R
主题中讨论的其他器件:LAUNCHXL-CC26X2R1Z-STACKCC2531EMK

工具/软件:Linux

大家好、

如何 在 Ubuntu 16.04 x64位上运行 ZigBee-linux-sensor-to cloud_1.0.0?

如何修改 ZigBee-linux-sensor-to cloud_1.0.0?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对此有任何更新吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、YK、我们仍在进行此项工作、但发现了一些线索:

    zcl_port.c 的 zcl_nv_actions 存在栈损坏问题 memcpy (buf、pActionRsp->payload.data、len);应替换为 memcpy (buf、pActionRsp->payload.data、pActionRsp->payload.len);

    PB_utils.c 中的 PROTOBUF_C_TYPE_MESSAGE 正在将 pBuf 地址转换为 SUB_MESSAGE 中的 UINT32数据=(uint8_t *) LIT_ENDIAN_BUSE_TO_UINT32 (pBuf);这对于64位操作系统不正确、我们正在讨论如何将 gcc 设置为32位的所有内容进行编译。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,YK,

    我通过以下步骤让 Zigbee Linux 网关在 Ubuntu 18.04 64位上可靠运行:

    1.使用 提供的说明克隆并安装 github.com/.../protobuf,确保配置安装位置($./configure --prefix=/usr)
    同样适用于 github.com/.../protobuf-c
    3.从 www.ti.com/.../ZIGBEE-LINUX-SENSOR-TO-CLOUD 下载、运行和安装网关软件包
    4.在 ti/Zigbe_3_0_linux_Gateway_1_0_0/source/projects/Zstack/linux/protobuf-c/lib 中创建 x86文件夹,并从/usr/lib 复制 libprotobuf-c.a/la/so.1/so1.0.0,同时创建用于放置 libprotobuf-pc .pc 的 pkgconfig 文件夹
    5.转至 ti/Zigbe_3_0_linux_Gateway_1_0_0/source/projects/Zstack/linux/haggateway/zcl_port.c 并将 memcpy (buf、pActionRsp->payload.data、perayload)替换为 memcpy (buf、pActionRsp->payload.data); pActionRsp->payload.len);
    6.转至 ti/Zigbe_3_0_linux_Gateway_1_0_0/source/scripts/package_builder 并将 target_platform 分别更改为 x86和 libprotobuf-c.so.0/0.0.0至 libprotobuf-c.so.1/1.0.0。
    7.将 ti/Zigbe_3_0_Linux_Gateway_1_0_0/source/setup.sh 分别从 libprotobuf-c.so.0.0.0更改为 libprotobuf-c.so.1/1.0.0。
    8.按照用户指南运行网关设置($ sudo ./setup.sh)、然后运行本地应用程序($ sudo ./start_local.sh)
    9.(可选)如果希望仅编译32位、请从 ti/Zigbe_3_0_Linux_Gateway_1_0_0/source/projects/Zstack/linux/向以下 Makefiles 中添加"-m32":
     a.演示/项目:都是@$(CC)
     b. RemoTI-Linux-master/projects/tools/LinuxHost:(OBJS)/NPI_lnx_server 的@$(COMPiLO):$(Server_OBJS)
     c. zstackserverznp:@(编译器)$(libs)
     d.网关/nwkmgr/otaserver: $ (OBJS)/[gateway/NWKMGR/OTA]_Srvr_x86的@$(COMPiLO):$(app_OBJS)


    如果您获得类似的成功、请告诉我。

    此致、
    Ryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在执行步骤2并尝试配置 protobuf-c ( ./configure --prefix=/usr)时、遇到以下问题。

    配置:错误:未满足封装要求(protobuf >=2.6.0):

    已请求'protobuf >=2.6.0'、但协议缓冲区的版本为2.5.0

    如果您需要、请考虑调整 PKG_CONFIG_PATH 环境变量
    已安装的软件具有非标准前缀。

    或者、您可以设置环境变量 protobuf_CFLAGS
    和 protobuf_libs、以避免调用 pkg-config。
    有关更多详细信息,请参见 pkg-config 手册页。

    我也不清楚要在步骤4中复制的文件。 您能否列出需要复制的确切文件名(在哪个文件夹下)?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在我重新安装全新的 Ubuntu 18.04 64位版本并从头开始执行所有操作后、我可以使其正常工作。 感谢您的帮助!