首页 > 解决方案 > 通过蓝牙将 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());
});

}

标签: androidflutterdartarduinobluetooth-lowenergy

解决方案


推荐阅读