如何将bin文件传输到Android中启用Alljoyn的板

如何将bin文件传输到Android中启用Alljoyn的板,android,iot,alljoyn,Android,Iot,Alljoyn,我需要从Android将bin文件发送到支持Alljoyn的板。通过Alljoyn传输文件的标准方式是什么。AJ有有效负载限制,因此文件需要分块发送。您可以看到如何在该C++示例中使用Alelyn信号实现它: 过去,在其他论坛上也曾对此进行过一些讨论。大家的共识似乎是通过AllJoyn发出信号 有一个javaFileTransferModule库和相应的FileTransferSample android应用程序,它是几年前向AllSeen联盟提供的(这个git repo现在处于归档状态)。它通

我需要从Android将bin文件发送到支持Alljoyn的板。通过Alljoyn传输文件的标准方式是什么。

AJ有有效负载限制,因此文件需要分块发送。您可以看到如何在该C++示例中使用Alelyn信号实现它:

过去,在其他论坛上也曾对此进行过一些讨论。大家的共识似乎是通过AllJoyn发出信号

有一个javaFileTransferModule库和相应的FileTransferSample android应用程序,它是几年前向AllSeen联盟提供的(这个git repo现在处于归档状态)。它通过分块传输文件,并通过AllJoyn信号发送分块。这个项目已经有一段时间没有更新了,也没有在安卓6上运行,所以我分叉并修复了它。你可以在我的github上找到分叉版本

以下是更新的FileTransferModule库的链接:

此库的所有受支持功能都将通过FileTransferModule类进行访问。以下是FileTransferModule.java文件注释中对其功能的简要说明:

文件传输模块是一个库,它为应用程序开发人员提供了一个简单的框架,他们可以使用该框架在AllJoyn会话中与不同的对等方发送和接收文件。该模块设计用于任何现有AllJoyn应用程序,几乎不需要修改。该框架为应用程序开发人员提供了许多不同的操作,包括:向会话对等方宣布/取消宣布文件、向其他对等方请求文件通知、按文件ID和绝对路径请求文件、取消/暂停文件传输,以及向指定对等方提供文件。还有一系列监听器,允许在发生各种事件时在应用程序级别通知开发人员;此类示例包括:会话对等方收到的公告、文件传输已完成、会话对等方已向您提供文件或已收到路径文件请求。侦听器允许开发人员相应地响应各种事件。此外,通过更改与文件传输相关的当前AllJoyn会话,用户具有极大的灵活性。这允许用户实例化文件传输模块的多个实例,并为每个实例指定不同的AllJoyn会话

<强>边注:>在AlyJunCype中使用了一些基本的C++和IOS文件传输示例,但是这些代码已经被删除。如果你想,你可以回头看看这些旧的AllJoyn发布分支,看看它们的算法是如何比较的

RB14.06
alljoyn_core/samples/FileTransfer/

RB15.04
alljoyn_objc/samples/iOS/FileTransferClient/
alljoyn_objc/samples/iOS/FileTransferServer/

谢谢,但我需要Android的小样本。Android样本可能不存在,但想法是一样的:将文件分割成块,并将每个块作为单独的带有“ay”签名(字节数组)的信号发送。Krystian,信号将从电路板接收。我在AirPurifier接口中添加了一个方法@BusMethod public void SendSoftwareUpgradeFileWithCurrentIndex(int index,byte[]data)引发BusException;上面的方法显示这些错误1。2. @Robin,该错误似乎暗示消费者正试图通过过时的总线名称与生产者通信。我怀疑生产商已重新连接到总线,现在有了不同的总线名称,而消费者仍在尝试使用以前的总线名称。@Robin,当消费者移动到wifi网络之外并收到丢失的广告时,我也看到了类似的错误(使用AllJoyn Ping),然后重新进入wifi网络,但没有收到找到的广告。消费者的AllJoyn网关在其列表中不再具有该总线名称,因此如果消费者稍后尝试使用该总线名称进行通信(即使生产者实际上仍在使用该总线名称),将声称该总线名称不存在。这一失败可能仅限于AllJoyn Ping。