环境

开发板:RK3568,HI3861

背景:HI3861使用3.1release,跳过HiChain认证,进行内存裁剪和和flash裁剪,lwip库重新编译,新增demo程序(作为软总线应用client侧),RK3568使用3.2.2.5Beta1,跳过Hichain认证,新增demo程序。两块开发板连接到同一个网络下并组网成功。

操作步骤

  1. 测试成功的用例:

    1. 单向数据发送验证:HI3861上面OpenSession,RK3568上面不去OpenSession,这样可以将HI3861数据发送给RK3568;

    2. 单向数据发送验证:RK3568上面OpenSession,HI3861上面不去OpenSession,这样可以将RK3568数据发送给HI3861;

    3. 半双工数据发送验证:HI3861上面OpenSession,3568上面不去OpenSession,3861主动发送数据给RK3568, RK3568在收到数据的OnBytesReceived回调函数中,再调用SendBytes接口,给HI3861发送数据,HI3861可以收到。

  2. 测试失败的用例:

    全双工(双向)数据发送验证:HI3861和RK3568上面均调用OpenSession接口,然后各自给对方发送数据,发现只有一边可以成功,要么是HI3861可以给RK3568发送数据(此时RK3568无法给HI3861发送数据),要么是RK3568可以给HI3861发送数据(此时HI3861无法给RK3568发送数据)。

结论

  1. L0和L2端各自CreateSessionServer后,OpenSession建立两个单工的session通道,主动发送方通过本端建立的sessionId通过SendBytes进行数据发送;

  2. CreateSessionServer的第一个参数为应用名,第二个参数为本端session名;

  3. OpenSession第一个参数为本端session名(即CreateSessionServer所创建的session名),第二个参数为对端session名,第三个参数为对端设备的networkId,第四个参数为群组名。注意群组名不要重复。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐