(续上)
现在将上次通过UART串口实现控制LED的程序移植过来,得到如下代码:
打开我们手机的蓝牙,在搜索到的设备列表里就可以找到"MyBLE"(如果你没有通过AT指令更改过的话默认"HC-06")。关于手机连接蓝牙的操作,因为每个人的手机型号不同,差异很大,我这里无法详述,请大家在网上自行搜索。选中后配对,要求PIN码时输入对应PIN码(如果没更改过默认为1234)。
再打开手机上的蓝牙串口APP,由于我们的蓝牙模块是属于SPP(Serial Port Profile)的蓝牙设备,HC-06支持是SPP的协议,点击左上角的"连接":
设备列表中会有之前配对的蓝牙设备,我们选中它,进行连接。连接成功后会有个提示,并返回到聊天的那个页面:
好了,回到电脑上将之前的程序用HexTerminal发动到uPyBoard中先运行,程序首先会通过UART1向外发送一个信息:"Please enter led command:",之后程序主循环会一直等待数据传输进来,如果之前手机蓝牙的操作没有问题,就可以在手机屏幕上看到我们输出的信息,不过遗憾的是,信息显示成多少段落,这是我们无法控制的事,这个APP软件我没有发现可以调整时间参数的地方。
不必理会他,我们可以在下方直接输入我们的自定义命令,如led1=on并发送试试。这里提供一个省事的办法。这个APP有个功能,可以预建一个消息列表,这样就能直接发送一条命令而不需要反复输入了。具体在右上角那3个点的菜单:
选择"首选项",并在首选项中,选择"消息管理器":
点击右上角"+"号新建消息,并将我们的自定义命令输入:
将需要的命令全部输入完成:
退回到聊天窗口,再次点击右上角的三个点菜单,这回我们选择"消息":
就可以看到刚才预置的命令了:
选择命令可以看到效果了。另外这个APP还有个"开关"界面应该可以直接设置开关按钮对应发送的消息,这样就能直接点击开关按键控制LED灯了。
手机端APP的实验结果截图如下:
电脑端的HexTerminal中会收到手机蓝牙发送过来的命令,并执行:
我想大家也能看到uPyBoard上LED在手机的控制下产生的效果吧。至此,我们已经具备了使用手机控制uPyBoard的一切条件,接下来就发挥你的想象吧。