UbuduMeshSDK 1.0.2

UbuduMeshSDK 1.0.2

许可证 BSD
发布最新发布2015年12月

Jean-Baptiste QuesneyJean Felix TRANTomasz ZiolkowskiFrancois Kruta维护。



IOS-Mesh-SDK

ubudu Mesh SDK for iOS允许设备连接到网状网络,以便创建双向通信。

以下详细说明了将网状功能添加到您的iOS应用中的步骤。

为了进一步帮助您,我们提供了一个示例,其中包含一些实现代码。

系统和硬件要求

对于iBeacon相关功能

  • iOS 7.0或更高版本(推荐使用IOS 7.1.2或iOS 8.0+)。

  • iPhone 4S / iPad第三代 / iPad mini / iPod touch第五代,或任何更晚的设备。

配置您的网状网络

首先,您需要准备您的uBeacon Mesh设备,并从ubudu Manager设置网状网络属性。如果按照ubudu知识库中的逐步说明,则您应该已经完成了此步骤。直接进入下一章。

否则

登录后,转到“设备”标签,然后“编辑”您要配置的信标。之后,您将到达页面底部的“网状网络设置”。现在,您可以设置以下内容:

  • 网状网络的UUID
  • 网状网络设置
  • 网状网络中的信标ID
  • 指明节点是否连接到互联网

向项目中添加SDK

在iOS原生应用上设置ubudu Mesh SDK只需要几分钟时间,您可以使用CocoaPods(推荐)或手动操作。

手动

如果您不想使用CocoaPods,您可以手动安装SDK

  1. UbuduMeshSDK.framework文件夹拖放到XCode项目中“框架”文件夹中。如果需要,请检查“将项目复制到目标组文件夹”选项。

  2. 将以下框架和库列表添加到您的项目中,如果尚未显示。

    • "Foundation"
    • "CoreBluetooth"
  3. 在项目设置中,按照以下步骤操作:"General" > "您的目标" > "Build Settings" > "(All)" > "Other Linker Flags"。然后,添加标志 -ObjC

导入SDK

在头文件中导入SDK。

#import <UbuduMeshSDK/UbuduMeshSDK.h>

启动/停止服务

要在您的应用中使用Mesh,您需要启动服务:UBeaconMeshManager * meshManager

可以通过调用 [self.meshManager startScanning] 来实现。

startScanning方法启动对已启用Mesh信标的搜索。

要停止搜索Mesh信标,请调用stopScanning方法。

发现附近的Mesh信标

UBUMeshBeaconManagerDelegate提供了回调方法,您可以实现并接收来自ubudu管理器的事件。

实现以下方法以接收与您的应用相关的事件
- (void)meshManager:(UBUMeshBeaconManager *)meshManager didUpdateVisibleAndConnectableNodes:(NSArray *)meshNodes;

meshManager回调方法

  • meshNodes:对象数组,这些对象是UBUMeshBeacon

发送信息

要通过Mesh网络发送信息,请使用以下方法

- (void)sendMeshMessage:(NSString *)meshMessage
              networkId:(NSUUID *)networkId
               toDevice:(uint16_t)address
       withConfirmation:(BOOL)confirmation
   disconnectImmediatly:(BOOL)disconnect
           successBlock:(UBeaconMeshManagerSuccessBlock)successBlock
          progressBlock:(UBeaconMeshManagerProgressBlock)progressBlock
            failedBlock:(UBeaconMeshManagerFailedBlock)failedBlock;

sendMeshMessage方法参数

  • meshMessage是包含要发送的Mesh信息的字符串。它的长度不应超过16字节。

  • networkId是包含Mesh网络UUID的字符串。meshId应包含在网络中。

  • address可以是目标Mesh信标的地址(十进制格式)。其值应在1-32767之间。

sendMeshMessage方法回调

  • successBlock指示信息是否已发送
  • progressBlock指示失败后的重试次数(10次)
  • failedBlock指示发送信息失败。失败可以是由超时/附近节点不可连接/缺少mesh服务引起的。

接收信息

如果iOS设备连接到mesh信标,它将通过代理方法- (void)meshManager:(UBUMeshBeaconManager *)meshManager didReceiveMeshData:(NSData *)meshData from:(NSData *)sourceAddress;通知有关传入的信息。

  • meshData是接收到的数据包
  • sourceAddress是发送者的地址