找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 10686|回复: 3

开源项目:自编iOS app控制EV3系列之四:iOS通过BTstack与EV3通信成功

  [复制链接]
发表于 2014-2-23 10:24:22 | 显示全部楼层 |阅读模式
在上一篇文章中我们已经分析出使用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的源代码。这个官网上有介绍。
https://code.google.com/p/btstack/
下载的方式有两种。一种就是通过Terminal 输入命令实现。另一种通过Xcode 4 SVN管理代码下载。参考

http://www.cnblogs.com/foxmin/archive/2012/03/17/2402638.html
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库。这个工作将在接下来完成。
未完待续。



如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-3-1 13:33:50 | 显示全部楼层
不错,我也准备搞这个,楼主先搞定了,恭喜!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2014-3-1 16:53:52 | 显示全部楼层
ntwuhui 发表于 2014-3-1 13:33
不错,我也准备搞这个,楼主先搞定了,恭喜!

可以一起搞嘛!我qq是363523441.我已经和另一个网友一起弄了一周
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-3-2 00:07:36 | 显示全部楼层
ev3与ios设备识别后如何配对呢......
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-12-27 12:02 , Processed in 0.100489 second(s), 19 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表