• 主页
  • 随笔
  • 技术笔记
  • 全部文章
标签 友链 关于我

  • 主页
  • 随笔
  • 技术笔记
  • 全部文章

IOS开发之HomeKit(四)

阅读数:次 2019-04-11
字数统计: 1k字   |   阅读时长≈ 3分

书接上文,上一篇文章我们介绍了一下如何使用APP搜索获取到智能硬件的对象。那么这篇文章需要介绍一下智能硬件模拟器的使用以及如何对智能硬件进行简单的控制。

一 HomeKit Accessory Simulator的使用

如何下载这个模拟器在第一篇文章中已经介绍过了,这里不再赘述。打开HomeKit Accessory Simulator的主界面如下图:

avatar

左下角的黄色圆圈内有一个➕,点击创建一个新的智能设备。这时会弹出一个选项列表:

avatar

添加桥接这个先不做介绍,先点击第一个创建一个新的智能设备。接下来填写设备信息:

avatar

名字随便起一个,我这里是新加了一个灯泡的智能硬件。添加好之后如下图所示:

avatar

这里会显示出刚才创建的灯泡的基本信息
点击下方的Add Service为灯泡这个智能硬件添加一个服务,弹出一个配置信息的框,选择填写配置信息:

avatar

这三个框service是选择的,name和UUID是自己填写的,也可不填使用默认的。我们这里service选择switch,即我们为灯泡添加一个开关的服务。添加好之后会出现在主界面上

avatar

这就是这个模拟器的基本使用了,还有很多功能大家自己可以研究一下,这里不多做介绍了。

二 使用APP实现对硬件对象的基本控制

打开APP在“我家”这个home中有一个“卧室”这个room点击卧室进入房间的界面,点击添加配件按钮,之后可以看到搜索到了灯泡这个设备已经添加到我们的列表之中了。点击灯泡将灯泡添加进卧室。

avatar

我这里为了更加清楚的表达,我把获取到的外设对象传值到一个新的界面中来进行操作。在这里创建一个collectionView把外设展示出来,我这里因为就刚才添加了一个外设所以就显示了一个。

avatar

这里偷个懒(减少一下控件的使用),我们实现一下这个功能。直接点击这个cell就完成灯泡的开关操作,那么怎么知道灯泡的开关情况呢?
看模拟器的主界面,我们刚才添加的开关服务。下面我们在APP上点击灯泡之后下图中YES和NO前面的小黑点会根据我们的操作自动选择对应的位置。这样来模拟我们实际硬件的开关情况。

avatar

为了偷懒我把一坨代码全部写到didSelectItemAtIndexPath这个代理方法里边了:

avatar

avatar

到这里就完成了对该灯泡外设的简单开关的操作了,我们通过APP点击上上上图中的呢个绿色名字为灯泡的cell,我们会看到模拟器中显示的开关状态可以根据我们的操作进行改变了。
那么还有一个问题,如果我们操作硬件APP中显示的硬件的状态也应该改变才对啊。别忘了我们刚才设置了硬件的代理:

avatar

此时我们就需要用到它的代理回调了:

avatar

当我们操作硬件的时候,如果硬件的特征值改变的话。系统会自动调用这个方法,我们就可以看到特征值改变的情况,那么我们拿到这个特征值之后,就可以去更新UI了,来保证APP显示的状态和硬件的实际状态是一致的。

到这里就告一段落了,这就是homekit这个库的基本使用了。还有很多其他的东西,这里就不不再做介绍了,感兴趣的小伙伴们可以再深挖一下。期待智能硬件真正爆发的那一天。写的有不对的地方,恳请大家批评指正。一起努力,共同进步!

  • 本文作者: Grx
  • 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2019/04/11/IOS开发之HomeKit(四)/
  • 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
  • 智能家居

扫一扫,分享到微信

2018-2019年注册GOOGLE账号 最新做法
IOS开发之HomeKit(三)
  1. 1. 书接上文,上一篇文章我们介绍了一下如何使用APP搜索获取到智能硬件的对象。那么这篇文章需要介绍一下智能硬件模拟器的使用以及如何对智能硬件进行简单的控制。
  • 一 HomeKit Accessory Simulator的使用
    1. 0.1. 如何下载这个模拟器在第一篇文章中已经介绍过了,这里不再赘述。打开HomeKit Accessory Simulator的主界面如下图:
    2. 0.2. 左下角的黄色圆圈内有一个➕,点击创建一个新的智能设备。这时会弹出一个选项列表:
    3. 0.3. 添加桥接这个先不做介绍,先点击第一个创建一个新的智能设备。接下来填写设备信息:
    4. 0.4. 名字随便起一个,我这里是新加了一个灯泡的智能硬件。添加好之后如下图所示:
    5. 0.5. 这里会显示出刚才创建的灯泡的基本信息
    6. 0.6. 点击下方的Add Service为灯泡这个智能硬件添加一个服务,弹出一个配置信息的框,选择填写配置信息:
    7. 0.7. 这三个框service是选择的,name和UUID是自己填写的,也可不填使用默认的。我们这里service选择switch,即我们为灯泡添加一个开关的服务。添加好之后会出现在主界面上
    8. 0.8. 这就是这个模拟器的基本使用了,还有很多功能大家自己可以研究一下,这里不多做介绍了。
  • 二 使用APP实现对硬件对象的基本控制
    1. 0.1. 打开APP在“我家”这个home中有一个“卧室”这个room点击卧室进入房间的界面,点击添加配件按钮,之后可以看到搜索到了灯泡这个设备已经添加到我们的列表之中了。点击灯泡将灯泡添加进卧室。
    2. 0.2. 我这里为了更加清楚的表达,我把获取到的外设对象传值到一个新的界面中来进行操作。在这里创建一个collectionView把外设展示出来,我这里因为就刚才添加了一个外设所以就显示了一个。
    3. 0.3. 这里偷个懒(减少一下控件的使用),我们实现一下这个功能。直接点击这个cell就完成灯泡的开关操作,那么怎么知道灯泡的开关情况呢?
    4. 0.4. 看模拟器的主界面,我们刚才添加的开关服务。下面我们在APP上点击灯泡之后下图中YES和NO前面的小黑点会根据我们的操作自动选择对应的位置。这样来模拟我们实际硬件的开关情况。
    5. 0.5. 为了偷懒我把一坨代码全部写到didSelectItemAtIndexPath这个代理方法里边了:
    6. 0.6. 到这里就完成了对该灯泡外设的简单开关的操作了,我们通过APP点击上上上图中的呢个绿色名字为灯泡的cell,我们会看到模拟器中显示的开关状态可以根据我们的操作进行改变了。
    7. 0.7. 那么还有一个问题,如果我们操作硬件APP中显示的硬件的状态也应该改变才对啊。别忘了我们刚才设置了硬件的代理:
    8. 0.8. 此时我们就需要用到它的代理回调了:
    9. 0.9. 当我们操作硬件的时候,如果硬件的特征值改变的话。系统会自动调用这个方法,我们就可以看到特征值改变的情况,那么我们拿到这个特征值之后,就可以去更新UI了,来保证APP显示的状态和硬件的实际状态是一致的。
  • 1. 到这里就告一段落了,这就是homekit这个库的基本使用了。还有很多其他的东西,这里就不不再做介绍了,感兴趣的小伙伴们可以再深挖一下。期待智能硬件真正爆发的那一天。写的有不对的地方,恳请大家批评指正。一起努力,共同进步!
  • © 2014-2024 Grx
    GitHub:hexo-theme-yilia-plus by Litten
    本站总访问量次 | 本站访客数人
    • 标签
    • 友链
    • 关于我

    tag:

    • life
    • OC
    • Google
    • Fastlane
    • Flutter
    • hexo
    • 智能家居
    • Apple Watch
    • 逆向
    • Lottie
    • PHP
    • cocos2d
    • Mac
    • MonkeyKing
    • RN
    • Swift
    • RAC
    • WKWebView
    • WebView
    • Xcode
    • xcode
    • ios
    • Android
    • appledoc
    • MMKV
    • LLVM
    • FreamWork






      
      

    • 唐巧的博客
    • 王巍(喵神)OneVsDen
    • 阿里“念纪“
    • 滴滴-戴铭
    • 郭曜源(ibireme)
    • 阿里”南栀倾寒“
    • 蘑菇街李忠
    • 码农人生
    • 玉令天下
    • bang
    • Ian的博客
    这里是Grx的个人博客:
    iOS开发工程师一枚
    联系方式:
    QQ:1217255509
    Email:grx0917@sina.com
    知识管理,时间管理,自我管理,架构即未来
    欢迎技术交流!