• 10-QNX与Android双系统通讯之FDBUS(1)


    1. 前言

    TODO

    2. 交叉编译(QNX与Android)

    TODO

    2.1 下载资源

    FDBUS下载V5.4版本:

    gitee:  

    fdbus: Fast Distributed Bus (FDBus) - Gitee.com

    csdn:

    fdbus-v5.4.0 

    PROTOBUF 下载3.20 CPP版本:

    github: 

    https://github.com/protocolbuffers/protobuf/releases/tag/v3.20.2

    github镜像

    Release Protocol Buffers v3.20.2 · protocolbuffers/protobuf · GitHub

    csdn:

    protobuf-v3.20.2 

    2.2 编译

    前面博文有专门摘录编译脚本

    FDBUS NDK与QNX交叉编译

    3. 实操

    3.1 将编译后的文件分别推送到Android与QNX

    3.1.1 ADB push推送到Android

    1. adb root
    2. adb shell mkdir -p data/fdbus
    3. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\fdbxclient data/fdbus/
    4. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\fdbxserver data/fdbus/
    5. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\name_server data/fdbus/
    6. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\lshost data/fdbus/
    7. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\lssvc data/fdbus/
    8. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\host_server data/fdbus/
    9. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\logsvc data/fdbus/
    10. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\logviewer data/fdbus/
    11. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\lsclt data/fdbus/
    12. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\lsevt data/fdbus/
    13. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\bin\ntfcenter data/fdbus/
    14. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\lib\libfdbus.so data/fdbus/
    15. adb push Z:\workspace\thirdlibs\fdbus-v5.4.0\build\android\install\usr\lib\libfdbus-clib.so data/fdbus/
    16. adb push Z:\workspace\thirdlibs\protobuf-3.20.2\build\android\install\lib\libprotobuf.so data/fdbus/

    3.1.2 通过ADB Shell 用busybox ftpput 推送到QNX

    1. busybox ftpput -u root 192.168.1.1 /data/fdbus/fdbxserver
    2. busybox ftpput -u root 192.168.1.1 /data/fdbus/fdbxclient
    3. busybox ftpput -u root 192.168.1.1 /data/fdbus/name_server
    4. busybox ftpput -u root 192.168.1.1 /data/fdbus/lshost
    5. busybox ftpput -u root 192.168.1.1 /data/fdbus/lssvc
    6. busybox ftpput -u root 192.168.1.1 /data/fdbus/host_server
    7. busybox ftpput -u root 192.168.1.1 /data/fdbus/logsvc
    8. busybox ftpput -u root 192.168.1.1 /data/fdbus/logviewer
    9. busybox ftpput -u root 192.168.1.1 /data/fdbus/lsclt
    10. busybox ftpput -u root 192.168.1.1 /data/fdbus/lsevt
    11. busybox ftpput -u root 192.168.1.1 /data/fdbus/ntfcenter
    12. busybox ftpput -u root 192.168.1.1 /data/fdbus/libfdbus-clib.so
    13. busybox ftpput -u root 192.168.1.1 /data/fdbus/libcommon_base.so
    14. busybox ftpput -u root 192.168.1.1 /data/fdbus/libfdbus.so
    15. busybox ftpput -u root 192.168.1.1 /data/fdbus/libprotobuf.so

    3.2 设置环境变量:

    export LD_LIBRARY_PATH=/data/fdbus:$LD_LIBRARY_PATH

    两个系统都需设置

    3.3 实际操作

    3.3.1 QNX启动服务

    #cd /data/fdbus

    # ./name_server &

    # ./host_server &

    # ./fdbxserver &

    3.3.2 Android启动服务

    #cd /data/fdbus

    # ./name_server -u tcp://192.168.1.1:60000 -n android &

    # ./fdbxclient &

    查看接口状态可以通过 ./lssvc来查看 

    3.3.3  测试结果:

    4  总结

    综上,跨系统通讯FDBUS Demo例程算是基本掌握了。

    后面就是如何在FDBUS基础上进行二次开发,定制化开发,让它进化满足产品要求。

  • 相关阅读:
    Python随手记
    如何查看java对象占用内存的信息?
    408 | 【2016年】计算机统考真题 自用回顾知识点整理
    【数据结构与算法】之递归算法
    Java中快速掌握正则表达式
    L1-002 打印沙漏分数 20
    动态拼接 merge 语句
    CVE-2016-3088漏洞复现
    lua入门案例实战123DIY
    236. 二叉树的最近公共祖先
  • 原文地址:https://blog.csdn.net/liaochaoyun/article/details/127817247