本文共 995 字,大约阅读时间需要 3 分钟。
在上一篇文章中我们已经分析出使用BTstack是解决问题的办法,但当时还没有进行具体的测试。 那么经过几天的研究,终于实现了BTstack与iOS的通信,也因此事实上证明了方法的可行。 下面将初步介绍一下方法。更具体的源代码将经过整理后放出。 Step 1:越狱你的iOS设备。BTstack支持iOS 7,但暂时不支持64位系统,也就是说iPhone5S,iPad Air,iPad Mini Retina是用不了的。 Step 2:在iOS设备上从Cydia下载BTstack。iOS设备只有安装BTstack才能运行。 Step 3:在Mac上下载BTstack的源代码。这个官网上有介绍。 下载的方式有两种。一种就是通过Terminal 输入命令实现。另一种通过Xcode 4 SVN管理代码下载。参考 Step 4:在Mac上配置BTstack。这一步我怀疑是否需要。因为我自己貌似没有配置成功,但照样可以运行。 Step 4.1 在Xcode中下载Command Line Tool Step 4.2 安装 GNU M4。最新版本是1.4.17。我装了1.4.16 Step 4.3 同上安装Autoconf和Automake还有libtool Step 4.4 运行BTstack中的config-iPhone.sh。我反正没完全成功。不管 Step 5:打开BTstack文件中Cocoatouch的工程,从iOS设备中找到libBTstack.dylib动态库(用iFile找)拷进工程,运行。不出意外可以成功。这个工程已经实现了蓝牙的搜索。记住要将系统的蓝牙关闭才能运行成功。 Step 6:研究BTstack中的rfcomm_cat.h文件。EV3是用RFCOMM协议进行通信的。将部分内容copy进cocoatouch例子中的BTDiscoveryViewController.并部分修改代码。然后根据EV3源代码c_com.h中介绍的数据格式要求编写通信数据生成方法。经测试可以与EV3连接并传输Message给EV3显示。 基本方法就是这样。由于cocoatouch这个例子是作者09年编写的,很老旧,并且不支持ARC。因此有必要对代码进行改写从而适用于新建的工程。从某种意义上讲。就是编写一个基于objc的BTstack库。这个工作将在接下来完成。 未完待续。 |
转载地址:http://fhapi.baihongyu.com/