android - 通过蓝牙将 2 个 arduino 连接到同一个 Android Flutter 应用程序
问题描述
我想使用 BLE 将 2 个 Arduino 连接到同一个移动应用程序 我有一个 Arduino 连接的代码 如何管理它,以便我可以连接两个 Arduino 是否可以将两个 Arduino 与 BLE 连接到同一个应用程序?或者我应该找到另一种选择
void _connectBLE() {
setState(() {
temperatureStr = 'Loading';
});
_disconnect();
_subscription = _ble.scanForDevices(
withServices: [],
scanMode: ScanMode.lowLatency,
requireLocationServicesEnabled: true).listen((device) {
if (device.name == 'Arduino3') {
print('NiclaSenseME found!');
_connection = _ble
.connectToDevice(
id: device.id,
)
.listen((connectionState) async {
// Handle connection state updates
print('connection state:');
print(connectionState.connectionState);
if (connectionState.connectionState ==
DeviceConnectionState.connected) {
Timer.periodic(Duration(milliseconds: 5), (timer) async{
final characteristic = QualifiedCharacteristic(
serviceId: Uuid.parse("181A"),
characteristicId: Uuid.parse("2A6E"),
deviceId: device.id);
final response = await _ble.readCharacteristic(characteristic);
print(response);
setState(() {
temperature = fromBytesToInt32(response[0],response[1],response[2],response[3]);
print(temperature);
temperatureStr = temperature.toString();
});
});
_disconnect();
print('disconnected');
}
}, onError: (dynamic error) {
// Handle a possible error
print(error.toString());
});
}
}, onError: (error) {
print('error!');
print(error.toString());
});
}
解决方案
推荐阅读
- function - 在 Common Lisp 中将 FUNCTION 转换为 STRING 或 SYMBOL
- java - 如何以编程方式更新变量以匹配迭代
- angular - 我可以在模块中声明指令并仅在该模块的组件中使用它吗?
- python - 是否有任何可用的英语词汇数据库,包含谓词-参数(关系-角色)信息?
- java - 导致 StackoverFlow 的正则表达式模式
- c# - SQL 未正确更新
- c - 使用 C open() 函数的 Polyspace 运行时检查警报
- r - 函数 makeFeatSelControlSequential 中 alpha 和 beta 参数的含义(R 中的 MLR 库)
- javascript - 为什么 Momentjs 添加功能不能按我的预期工作?
- c# - 将锁定防止通过反射完成的更改