本帖最后由 太空虫虫 于 2016-7-13 22:47 编辑
写在最前面:本帖是介绍与EV3进行蓝牙通信的基本原理,所以可能需要一点计算机及编程语言方法的知识来帮助理解。另外,本帖不涉及如何编写手机APP等方面的知识,也没有现成的软件供下载,如果是有这方面需求的小伙伴,可以去搜搜论坛的其他帖子。谢谢~-----------------------------------------------------------------------------------------------------------------------最近,想实现通过手机蓝牙控制EV3。在论坛找了一圈,发现掌握这方面知识的前辈蛮多了,但是无一例外都是在介绍自己编写的手机APP,对于如何与EV3进行蓝牙通信均没有介绍,虽然有些前辈愿意开源自己的APP源码,但如果没有一定的Java编程经验以及相应的开发软件的话,要解读起来还挺麻烦,所以,小弟通过官方的文档和反编译其他前辈的APP,了解了一点EV3进行蓝牙通信的基本原理。和大家分享一下,希望对大家有用。
直接上图,我们先拿EV3间的通信为对象来进行研究。下图就是EV3间通信的基本框图
图片1.jpg (8.96 KB, 下载次数: 3)
2016-7-11 22:53 上传
通过图大家可以发现一个叫mailbox的东西,MailBox是EV3自身底层操作系统虚拟出来的东西。 根据我的研究EV3上跑的用户程序要和外界通信,无论发送或接收都是通过这个MailBox来完成的。
图片2.jpg (13.13 KB, 下载次数: 4)
2016-7-11 22:52 上传
写过EV3之间蓝牙通信的小伙伴都应该用过上面这个指令,这个命令就是对MailBox进行读或写操作的指令。
而一个比较麻烦的问题是,在EV3的眼中,外界的其他设备也都是EV3。也就是说,当它想发送信息给目标设备时,也只会把这个数据往自己的“MailBox”里面丢,当目标设备想发