直流电机和伺服电机是LEGO采用的电机,可以用来驱动LEGO积木组装成的汽车或机器人。电机需要控制器来控制。
LEGO自带的遥控器包括:
1. 红外遥控。
2. EV3控制器,可以通过电脑连接有线控制,或是通过手机APP经过蓝牙控制。
3. Boost控制器,通过手机或平板APP经过蓝牙控制。
Camellia Café 不建议大家在室外环境下使用红外控制器,尤其是在日光特别强的条件下,红外线会受到极大的干扰。
在这里,Camellia Café 讲述同时与多个低功耗蓝牙设备的连接及通迅,在Android和iOS中的开发,以方便你在自己的手机上开发控制程序和设计用户界面(UI)和用户体验(UX),控制你的LEGO模型,特别是MOC。注意重点是多设备!
Camellia Café 也设计了自己的控制器,包括单片机(MCU)和嵌入式(ARM)两种,都可以控制LEGO的各种电机,自己开发的目的一是想向大家讲解这些控制技术,二是更大的自由化MOC,使自己MOC的LEGO汽车或机器人等功能更加强大,这些都将在后续展示,今天还是先回到蓝牙技术,敬请点击观看视频:
低功耗蓝牙(Bluetooth Low Energy)技术被广泛地使用在智能手表、运动手环、健康监测、共享单车、智能家电等设备的通讯中,使智能设备轻松地与手机、平板和电脑等交换数据信息。
蓝牙(Bluetooth)
公元935-985年间的丹麦和挪威的国王 Harald Blatand 非常爱吃蓝莓,因此牙齿被染成蓝色。Harald Blatand 国王骁勇善战,统治丹麦期间,持续对外征战,统一了今天的挪威、瑞典和丹麦广大北欧地区。早年,他曾是北欧海盗精神的发扬者,而当时北欧地区的主要信仰是奥丁神(Odin),即“众神之王”。
蓝牙技术联盟 SIG(Special Interest Group)行业协会,用这个似乎古怪的名字来体现和映衬 SIG
希望统一无线技术领域的雄心壮志。
蓝牙的图标取自 Harald Blatand 国王名字的两个首字母 H 和 B 的古北欧字母的结合。
低功耗蓝牙(Bluetooth Low Energy)
与经典(Classic)蓝牙相比较,低功耗蓝牙:
其实低功耗蓝牙技术是新蓝牙(4.0及以后)技术的一部分。目前,我们使用的手机中的蓝牙都是双模方式,即同时具备经典蓝牙和低功耗蓝牙;运动手表、健康监测设备等都是单一的低功耗蓝牙。
最新的蓝牙(5.1)技术,将具备厘米级的定位功能。
Received Signal Strength Indicator + Angle of Arrival and Angle of Departure which are used for location and tracking of devices.
多设备网络结构(Swarm Network Topology)
中心设备 Central:手机、平板或电脑
外围设备 Peripheral:机器人模型、智能手表、运动手环、健康监测设备、共享单车、智能家电 ……
GATT
低功耗蓝牙的连接都是建立在 GATT(Generic Attribute Profile)协议之上。
UUID(Universally Unique IDentifier) 是一个采用128位的2进制数字表示的唯一识别码,在蓝牙通讯中,用来标识不同的服务和特征值等。
每个安卓版本就是一道美味零食
苹果永远是被咬了一口的苹果
Central in Android with Java
android.bluetooth
( 点击图片查看详细内容 )
1 - 建立管理变量
2 - 扫描设备
3 - 绑定安卓系统的活动和服务
此服务是指安卓系统的后台服务(Service),与蓝牙协议中的服务(GATT),是不同的概念。
4 - 连接到设备
5 - 查找蓝牙外围设备的服务和特征值
每台设备都有自己的服务,每个服务都有自己的特征值。
6 - 发送数据
7 - 读取数据
方式一:读取后,回调(自动触发)。
方式二:特征值变化时,回调(自动触发)。
安卓的后台服务通过广播形式把读取到的数据发送到前台活动。
7 - 断开连接,解除安卓系统的活动和服务的绑定
Central in iOS with Swift
CoreBluetooth
( 点击图片查看详细内容 )
1 - 建立变量
由于需要操作多设备,每台外围设备都需要有自己的地址、服务、读、写等特性。
2 - 搜索外围设备
3 - 连接外围设备
首先连接到外围设备。
接着搜索连接到的每台外围设备的服务,其中"XXXX"为每个服务的UUID。
最后搜索每台外围设备的每个服务的特征值,其中"XXXX"为每个特征值的UUID。
4 - 发送数据到外围设备
5 - 读取外围设备的数据
6 - 断开连接
希望上述思路有助于大家开发自己的蓝牙控制程序,更好地控制你们自己的MOC。