【CypressBLE】9.手机App远程控制

作者: tjcfeng
上传时间为: 2015-05-29 02:56 PM
2015-05-29
阅读:

   Cypress公司的东西不错,使用起来很方便,尤其是PSoC Creator,可以自动生成驱动代码,自己只要写逻辑控制的代码就可以了。不过呢,这次试验居然栽在了Cypress官网提供的App上。

    App有两个,一个是Android的,一个是ios的。Android的App不论在什么版本上安装直接报错,说是安装包解析错误,好在我还有iPhone的手机,还是装ios的吧。iPhone4安装没问题,但是4的蓝牙硬件不是4.0的,所以App提示不支持,正常。只有从4S开始才是蓝牙4.0的,所以我又在6Plus上安装。安装同样没有问题,能够进入程序,也能够搜索到这个蓝牙套件,但是始终不能连接上,马上就断开,然后报超时,看来ios8.x还是有改动的,鬼知道又改了什么东西。

    无奈之下只能翻出5来试一试,结果终于正常了,下面开始用手机控制开发板。

    简单起见,工程建立的过程省略掉。之前的那些工程都删掉了,实在抱歉,这次特意保留了工程,在后面附件里,当作参考吧 

    一个蓝牙组件,这是必须的,远程连接就靠它了。还有三个控制灯的引脚,用它来显示控制状态。

    

    先设置蓝牙的,双击后弹出设置界面

    从最简单的开始,Find ME,不用加密之类的东西

    

    按照图上的设置

    

    都选好后保存。

    

    再来设置引脚,这个就简单多了,用程序来控制所以要把HW connection的勾去掉,初始高电平

    三个同样的设置,设置好后保存。

    

    分配引脚,P2_6、P3_6、P3_7,红绿蓝三色,哪个脚对应什么颜色我也忘了,能亮就行:-)

    

    设置好后先编译一下,自动生成代码,以便写程序。

    开始写逻辑控制的代码,在main.c中。

    

    这里主要有三部分内容,
    第一部分是初始化,在main函数中调用相关的函数(参照附件工程中的代码)
    第二部分是蓝牙协议栈的回调函数,用于检测连接的断开事件
    第三部分是接收App发送的控制指令,数据放在了Flag变量中,Transed变量是标识是否有新数据传输

    

全部工程完成,再次编译并烧写到开发板中准备测试

    打开手机上的CypressBLE App,能够发现开发板,如果没有向下拉动屏幕进行刷新。

    

    点击找到的设备,运行的是Find Me,和蓝牙组件中设置的是一样的

    此时蓝牙已经连接上了,可以看到板子上的三色灯全亮。点击Find Me进入

     

    在下拉框中选择不同的指令

    

    每一个指令对应的灯亮起

    


退出Find Me后,板子检测到连接断开,所有的灯灭掉,试验成功。

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示