bitalino

Last updated:

0 purchases

bitalino Image
bitalino Images
Add to Cart

Description:

bitalino

BITalino #



Open source Flutter plugin that integrates the communication with BITalino devices.
Made by Afonso Raposo.
See the an example app here.
Tested with BITalino Core BT (MCU+BT+PWR) and BITalino Core BLE/BT.

Currently supporting: #
This plugin uses the available native APIs available at https://bitalino.com/en/development/apis.



Plaftorm
Supported
Native Repository
Date




Android

revolution-android-api
Jul 16, 2020


IOS

BITalinoBLE-iOS
Jun 22, 2016



Installation #
Add this plugin to the pubspec.yaml file:
dependencies:
flutter:
sdk: flutter
bitalino: ^1.1.1 // add bitalino plugin
copied to clipboard
Android #
On Android, you must set the minSdkVersion to 18 (or higher) in your android/app/build.gradle file.
minSdkVersion 18
copied to clipboard
IOS #
On IOS, you have to add the following lines to the bottom of the /ios/Runner/Info.plist file:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This application needs access to bluetooth to communicate with BITalino device</string>

<key>NSBluetoothPeripheralUsageDescription</key>
<string>This application needs access to BLE to communicate with BITalino device</string>
copied to clipboard
Examples #
Initialize controller #
Android #
On Android, the user must provide the device MAC address and can choose between BTH or BLE for communication protocols. If available, BTH is advised.
BITalinoController bitalinoController = BITalinoController(
"20:16:07:18:17:02",
CommunicationType.BTH,
);

try {
await bitalinoController.initialize();
} on PlatformException catch (Exception) {
print("Initialization failed: ${Exception.message}");
}
copied to clipboard
IOS #
On IOS, the user must provide the device UUID and can only use BLE regarding communication protocol.
The UUID can be found with this application: Bluetooth Smart Scanner .
On IOS, there is no frame identifier.
BITalinoController bitalinoController = BITalinoController(
"03A1C0AB-018F-5B39-9567-471DDE5B0322",
CommunicationType.BLE,
);

try {
await bitalinoController.initialize(

);
} on PlatformException catch (Exception) {
print("Initialization failed: ${Exception.message}");
}
copied to clipboard
Connect to device #
Connect to a device by providing its address.
await bitalinoController.connect(
onConnectionLost: () {
print("Connection lost");
},
)
copied to clipboard
Start acquisition #
Start acquiring analog channels: A0, A2, A4, and A5, with a Sampling Rate of 10Hz.
onDataAvailable is called everytime the application receives data during recording.
bool success = await bitalinoController.start(
[0, 2, 4, 5],
Frequency.HZ10,
onDataAvailable: (BITalinoFrame frame) {
print(frame.sequence); // [int]
print(frame.analog); // [List<int>]
print(frame.digital); // [List<int>]
},),
);
copied to clipboard
During acquisiton, the onDataAvailable callback is called.
Stop acquisition #
bool success = await bitalinoController.stop();
copied to clipboard
Get the device state #
Android #
BITalinoState state = await bitalinoController.state();
print(state.identifier); // [String]
print(state.battery); // [int]
print(state.batteryThreshold); // [int]
print(state.analog); // [List<int>]
print(state.digital); // [List<int>]
copied to clipboard
IOS #
This method is not available for IOS.
Disconnect from device #
bool success = await bitalinoController.disconnect();
copied to clipboard
Dispose controller #
When you're done using the controller, dispose it.
bool success = await bitalinoController.dispose();
copied to clipboard
More #
You can find all the information regarding this plugin on the API reference page.


Future #
If you have any suggestion or problem, let me know and I'll try to improve or fix it.
Also, feel free to contribute to this project! :)
License #
GNU General Public License v3.0, see the LICENSE.md file for details.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.