- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
米思齐的手机蓝牙之路
刘晓静滕永丰
图形化编程工具可以降低学习的难度,Mixly(全称为Mixly_Arduino,中文名为米思齐)因此应运而生,它是由北京师范大学教育学部创客教育实验室傅骞教授团队开发的图形化编程软件。
教师做桌面创客到了一定的阶段,难免想尝试物联网,想与手机、WIFI相连,但没有一定的C语言功底是不行的,不过不用灰心。Mixly现有版本,支持手机蓝牙与Arduino的连接,这里笔者就以安卓手机结合Arduino控制器,利用Mixly和AppInventor编程,实现手机控制板载LED灯的亮灭。
用Mixly为Arduino控制器编程,用AppInventor编写一款手机控制软件,二者通过蓝牙配对,实现手机控制板载LED灯。
(1)Arduino控制器及USB:本例中用Dfrobot公司的RomeoBLE多合一控制器,它自带了蓝牙模块的接口APC220,而且这个主控板可以驱动电机,做蓝牙遥控车也很方便。
(2)蓝牙模块:AppInventor里面的蓝牙功能对应的是蓝牙2.0,尽管笔者的RomeoBLE控制器自带蓝牙4.0,但受AppInventor的限制,必须换用蓝牙模块2.0标准。
蓝牙模块的选择有两种:一种是Dfrobot生产的,与RomeoBLE控制器相匹配,连接起来相当省事的DF-BluetoothV3蓝牙串口模块(如图1),注意它的蓝牙协议是BluetoothSpecificationv2.0+EDR,符合笔者的要求,缺点是价格小贵。
另一种是BT06蓝牙串口模块(如图2),兼容HC-06,蓝牙协议为BluetoothSpecificationV2.1+EDR,也符合要求。优点是价格低,缺点是连接要用到四根一头公、一头母的杜邦线,还要注意接法,本例用的就是这种普通的BT-06蓝牙串口模块。
RomeoBLE多合一控制器上有APC220接口专门用于连接蓝牙接口,BT06蓝牙串口模块有四个引脚,其中VCC接5V,GND接GND,TXD接控制器APC220的RX,RXD接控制器APC220的TX,APC220共有七个接口,用了四个,余下三个空着即可(如图3)。
Mixly:0.984版本。
Mixly的编程如图4所示。
AppInventor的編程:从“通信连接”拖入一个蓝牙客户端,用于与Arduino通信。拖入一个列表选择框,用于选择需要连接的蓝牙设备。拖入两个标签用于显示蓝牙状态。拖入一个按钮用以断开蓝牙,拖入两个按钮用于发送开灯命令和关灯命令以控制板载的LED灯,界面完成后如图5所示。组件设计完毕,接下来进行程序的编写,总程序如下页图6所示。
现在对程序分别进行说明。
当screen1初始化的时候,将“断开连接按钮”的“启用”属性设置为“false”,由于刚开始运行时蓝牙设备并未连接,因此“断开连接”按钮需要设置为假。蓝牙BT06模块要先成为已配对设备,然后就可以打开列表进行选择,因此第二句的作用是把已配对蓝牙列表显示出来供用户选择。
蓝牙使用的标准流程即配对→连接,配对只在新设备第一次连接时用一次,连接则是每次都需要操作的。因此,蓝牙BT06模块在加电以后,在手机上先要配对成功,这样在“已配对列表中”就可以找到了(如下页图7、图8)。
本例中,蓝牙BT06模块,从模式、初始密码1234、串口缺省波特率为9600bps,这三者可根据所用模块的资料进行相应的修改,需要专门的串口调试模块,此处不再展开,本文所用均为缺省值。
状态指示LED:用于指示蓝牙模块所处状态,LED灯闪烁方式与蓝牙模块状态对应如下页表所示。
接下来,当用户点击了列表中的选项后,就需要连接蓝牙了,首先断开原来连接的蓝牙设备,接下来连接用户选择的蓝牙设备,此处有地址、唯一编号两个参数(如下页图9)。“地址”:Arduino设备上的蓝牙模块对应的MAC地址,也就是上一步操作后的“选中项”;“唯一编号”:0000-1000-8000-00805F9B34FB。
此处的唯一编号即UUID,因为笔者使用的是蓝牙串口与Arduino通信,因此使用这个编号,此编号不可以变。
UUID是“UniversallyUniqueIdentifier”的缩写,通用唯一识别码的意思。对于蓝牙设备,每个服务都有一个与它对应的UUID(唯一的)。连接蓝牙这个动作会返回連接成功还是失败,成功即为true,失败即为false,此处可以使用如果判断来判断蓝牙连接成功或者失败,如果连接成功就显示“已连接”,同时让“断开连接”按钮可使用,否则连接失败就显示“未连接”,同时让“断开连接”按钮不能使用。
接下来,笔者介绍一下三个按钮的功能:①“断开连接”按钮点击后断开连接,同时设置一下蓝牙状态和按钮禁用;②开灯按钮点击后发
您可能关注的文档
最近下载
- 运动生理学完整.docx
- 北师大版(2019)高中数学必修2第二章4.1单位圆与任意角的正弦函数、余弦函数定义.pptx VIP
- 22G101与16G101钢筋平法图集对比变化汇总.docx VIP
- 运动生理学个人完整讲义.pdf
- 锅炉改造项目可行性研究报告.docx VIP
- 2024年中医药大学系统解剖学期末考试题及答案.docx
- 情绪管理塑造阳光心态课件.pptx VIP
- 2025年苏州信息职业技术学院单招职业适应性测试题库及答案一套.docx VIP
- 2024年苏州信息职业技术学院单招职业技能测试题库(名校卷).docx VIP
- 2024年苏州信息职业技术学院单招职业技能测试题库(夺分金卷).docx VIP
文档评论(0)