使用蓝牙2,当您从OS X(使用Mac的内置蓝牙硬件)与外部BT设备配对时,您会看到一个名为dev / cu.HC-05-DevB的串行COM端口/ tty.HC-05_DevB - 因为BT 2启用SPP服务,可由Mac的内置BT适配器使用。支持串行的程序,对我来说主要是Arduino IDE和Processing,可以使用该端口进行外部设备的串行通信。使用Windows的类似情况。
但是,如果您希望PC / Mac和手机应用程序与设备串行通信,那么您将需要BLE连接。到目前为止,我在Windows或OS X上都找不到使用内置BLE适配器制作串行COM端口的方法 - 例如与Arduino上的HM-10模块等设备通信。当然,各种手机应用程序可以与连接到Arduino的HM-10模块进行双向通信。但如果您还希望PC / Mac能够连接,那就不那么简单了。
我可以使用Mac上的LightBlue等应用程序通过内置BLE读取/写入字节,与安装到Arduino的HM-10模块进行通信。但是这个繁琐的界面只对测试很有用,与我在Processing中获得的GUI不相上下。如果我在Mac上使用USB-TTL串行加密狗,连接到第二个HM-10模块(在中央ROLE中),则2个模块可以连接,并且应该能够进行2路通信。但是在许多尝试中,许多模块配置,使用各种串行设备(微处理器和USB-TTL加密狗),我只能获得中央通信的外围设备 - 从未让中央HM-10发送到外围设备。即使我可以像这样做2路通信,我也不愿意让这些额外的2个设备。是不是可以将PC / Mac的板载BLE硬件用于常规程序可以使用的串口?
我的临时解决方案在Arduino上使用双模BT2 / BLE模块(H3或HM-12),然后在PC或Mac上使用SPP与模块的BT 2端口配对。对于各种iPhone应用程序,我可以使用模块的BLE模式与Arduino进行通信 - 当然,其中只有一种模式可以使用。这有效,但似乎比它需要的更复杂。
[这个问题的标语How do I read Bluetooth Low Energy transmitted data programmatically on Mac OS X 10.9.5?被建议使用“贵族”#39; Node.js模块,但由于我没有Xcode或Node.js的经验,所以希望找到更简单的解决方案。]