从 0 到 1 实现一款玩转 Fingerbot 的 iOS App

更新时间Invalid date

概况

最近有一款出自 Adaprox 的 Fingerbot 在国内外引领热潮。Fingerbot 支持通过应用程序开灯关灯,通过语音激活并远程开启你的办公电脑。可以说任何开关和按钮的远程控制功能,通过Fingerbot 都可以实现。

Fingerbot 最让人印象深刻的一点是它可以让原来非智能设备低成本地变得智能

物料清单

硬件 (2)软件 (1) 其它 (1)
  • 智能网关

    数量:1

    网关最基本的功能是转换通信协议,实现不同协议设备间的通信。联云能力和协议类型为网关两个基本属性。查看详情

  • 手指机器人

    数量:1

    手指机器人是 Adaprox 研制的一款智能硬件设备。它支持远程控制、语音控制和定时控制等功能,能够低沉本的将非智能设备改造为智能设备。查看详情

步骤

准备工作

  • 智能网关
  • Fingerbot

步骤一:获取 App SDK 密钥信息

在涂鸦 IoT 平台创建 App,获取对应 App SDK 的 AppKey,AppSecret,安全图片等密钥信息。

  1. 登录 IoT 工作台
  2. 单击左侧导航栏中的 App
  3. App > App SDK > SDK 开发页面,点击创建 App
    1. 填写 App 信息。
      • 应用名称:填写您的 App 名称。
      • iOS 应用包名:填写您的 iOS App 包名,示例 com.testapp.smartiot
      • 安卓应用包名:填写您的安卓 App 包名,示例 com.testapp.smartiot
      • 渠道标识符:可选,不填写系统会根据包名自动生成。
    2. 点击确定
    3. 在选择的 App SDK 详情页面,单击获取密钥,查看 AppKeyAppSecret安全图片

步骤二: 配置 Sample 文件

根据密钥信息配置 Sample 文件并安装第三方库。

  1. 在 Terminal 运行 sudo gem install cocoapods && pod setup,安装 CocoaPods。

  2. 下载 iOS 版 Github Sample 项目 tuya-ios-fingerbot-demo

  3. 通过 Terminal 在 Podifle 所在目录执行 Pod install,安装第三方库。
    image.png

  4. 通过 Xcode 打开 Sample 中的 tuya-fingerbot-ios-objc.xcworkspace 文件。

  5. Signing & Capabilities>Bundle Identifier 填写 iOS 应用包名。
    image.png

  6. 将 App SDK 密钥信息中的 iOS 安全图片命名为 t_s.bmp,并保存在 tuya-ios-fingerbot-objc 目录。

  7. tuya-ios-fingerbot-objc>Example for tuya-ios-fingerbot-objc>AppKey.h , 根据 App SDK 的 AppKeyAppSecret 配置 APP_KEYAPP_SECRET_KEY
    image.png

步骤三:通过网关远程控制手指机器人

将手指机器人关联至网关后,即可通过 App 实现对手指机器人的远程控制。

  1. 在 Xcode,运行 Sample。
    image.png

  2. 注册账号并登录 Fingerbot Sample

  3. 选择家庭。

    1. 当前家庭 新建家庭。
    2. 当前家庭,选择目标家庭。
  4. 选择 蓝牙 BLE 模式 ,将手指机器人设备和网关设备接入 Fingerbot Sample App 。

  5. 关联手指机器人,操作流程如下视频。

操作结果

完成以上操作后你就可以通过 App 实现对手指机器人的远程控制。

  • 开关模式关闭时(点击模式):点按开关手指机器人会进行点按操作。
  • 开关模式开启时(开关模式):点按开关手指机器人会上升或下降。
  • 上升/下降:控制手指机器人的运行范围。
  • 持续时间:点击模式时手指机器人在下方停留的时间。

设备控制实现流程

  1. 登录 涂鸦 IoT 平台,创建手指机器人产品后,在功能定义页面,点击导出功能,获取 DP 信息。

    说明:创建产品方法参见创建产品

    image.png
    image.png

  2. 通过 deviceID 获取相应的 TuyaSmartDevice。属性 TuyaSmartDeviceModel 中的 schemaArray 中储存了DP 点的信息,执行 DP 点相关操作等。

    image.png

  3. 控制面板接收到 DP 的信号变更后,向设备发送变更的信息。

    image.png

  4. 实现 TuyaSmartHomeDelegate,在设备改变更新数据时(由于手动操作设备或者 DP 点联动改变)同步更新控制面板。

    image.png