当前位置: 首页 > wzjs >正文

创建qq网站网站开发工程师任职资格

创建qq网站,网站开发工程师任职资格,专做特产的网站,班级网站怎么做ppt1. 介绍 Flutter Blue Plus 是一个用于 Flutter 的 Bluetooth Low Energy (BLE) 插件,简化了 Flutter 应用程序中的 BLE 开发。它支持跨平台(iOS、Android 和 macOS),提供了丰富的 API,用于扫描、连接、发现服务和特征…

1. 介绍

Flutter Blue Plus 是一个用于 Flutter 的 Bluetooth Low Energy (BLE) 插件,简化了 Flutter 应用程序中的 BLE 开发。它支持跨平台(iOS、Android 和 macOS),提供了丰富的 API,用于扫描、连接、发现服务和特征、读写数据、订阅通知等

https://pub.dev/packages/flutter_blue_plus

2. 安装和配置

pubspec.yaml 文件中添加 flutter_blue_plus 依赖:

dependencies:flutter:sdk: flutterflutter_blue_plus: ^1.35.3

然后运行以下命令安装依赖:

flutter pub get

3. 平台特定权限

Android:在 AndroidManifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

iOS:在 Info.plist 文件中添加以下描述:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app needs access to Bluetooth to function properly.</string>

4. 基本使用案例

基本案例,包括扫描设备、连接设备、发现服务和特征、读取和写入特征值等操作

import 'package:flutter/material.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {Widget build(BuildContext context) {return MaterialApp(home: BluetoothScanner(),);}
}class BluetoothScanner extends StatefulWidget {_BluetoothScannerState createState() => _BluetoothScannerState();
}class _BluetoothScannerState extends State<BluetoothScanner> {FlutterBluePlus flutterBlue = FlutterBluePlus.instance;List<BluetoothDevice> lstDevices = [];void initState() {super.initState();startScanning();}void startScanning() async {await flutterBlue.startScan();flutterBlue.scanResults.listen((results) {for (ScanResult result in results) {if (!lstDevices.contains(result.device)) {setState(() {lstDevices.add(result.device);});}}});}Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('BLE Scanner'),),body: ListView.builder(itemCount: lstDevices.length,itemBuilder: (context, index) {return ListTile(title: Text(lstDevices[index].name),subtitle: Text(lstDevices[index].id.toString()),onTap: () {// 点击连接蓝牙connectToDevice(lstDevices[index]);},);},),);}Future<void> connectToDevice(BluetoothDevice device) async {await device.connect();// 在这里可以进一步发现服务和特征List<BluetoothService> services = await device.discoverServices();services.forEach((service) {// 处理服务和特征handleService(service);});}void handleService(BluetoothService service) async {// 遍历服务中的特征for (BluetoothCharacteristic characteristic in service.characteristics) {// 读取特征值List<int> value = await characteristic.read();print('Characteristic value: $value');// 写入特征值(示例)if (characteristic.uuid.toString() == 'your_characteristic_uuid') {await characteristic.write([0x12, 0x34]);print('Characteristic written successfully');}// 设置通知并监听特征值变化await characteristic.setNotifyValue(true);characteristic.value.listen((value) {print('Notification received: $value');});}}void dispose() {flutterBlue.stopScan();super.dispose();}
}

通过上述代码,你可以扫描附近的 BLE 设备,连接到设备,发现其服务和特征,并进行读写操作以及订阅通知。

代码说明

  1. 扫描设备:
    • 使用 flutterBlue.startScan() 开始扫描附近的 BLE 设备。
    • 通过监听 flutterBlue.scanResults 获取扫描结果,并将其添加到 lstDevices 列表中。
  2. 连接设备:
    • 点击列表项时,调用 connectToDevice 方法连接到设备。
    • 使用 device.connect() 建立连接。
  3. 发现服务和特征:
    • 连接成功后,调用 device.discoverServices() 发现设备提供的服务。
    • 遍历服务中的特征,读取特征值。
  4. 读取和写入特征值:
    • 使用 characteristic.read() 读取特征值。
    • 使用 characteristic.write() 写入特征值。
  5. 设置通知并监听特征值变化:
    • 使用 characteristic.setNotifyValue(true) 启用通知。
    • 监听 characteristic.value 流,接收特征值变化的通知。

注意事项:

  • 在实际应用中,需要根据具体设备的 UUID 来访问特定的服务和特征。
  • 确保在 Info.plist 和 AndroidManifest.xml 文件中添加了必要的蓝牙权限。
  • 不同的 BLE 设备可能有不同的服务和特征 UUID,需要参考设备的文档来确定正确的 UUID。

文章转载自:

http://13Z8SF3v.xrftt.cn
http://RJx44HK3.xrftt.cn
http://RLaB7B8D.xrftt.cn
http://NKiGJDKt.xrftt.cn
http://Lcmbvj2Q.xrftt.cn
http://1kZmE0IO.xrftt.cn
http://GnPJ8mBn.xrftt.cn
http://OugG1WCU.xrftt.cn
http://WQsufI0O.xrftt.cn
http://TVNqEQyu.xrftt.cn
http://bVD0mmcF.xrftt.cn
http://Quv4OIfG.xrftt.cn
http://YeVkpRCr.xrftt.cn
http://gOTcLclT.xrftt.cn
http://Q5rh3x58.xrftt.cn
http://QyEE6ja5.xrftt.cn
http://UHgxAKbs.xrftt.cn
http://jpXnxsrr.xrftt.cn
http://zAwOMjsG.xrftt.cn
http://FmJNAkNm.xrftt.cn
http://OcRbrs59.xrftt.cn
http://RQwaD2SO.xrftt.cn
http://qrXVBDqW.xrftt.cn
http://5I7PyOBW.xrftt.cn
http://reuOshJN.xrftt.cn
http://cdbIfU8c.xrftt.cn
http://axAzAcmX.xrftt.cn
http://InFbHk7W.xrftt.cn
http://7kcxjFA9.xrftt.cn
http://Qm0vCAB0.xrftt.cn
http://www.dtcms.com/wzjs/680606.html

相关文章:

  • 网站开发英文翻译zencart 网站入侵
  • 购物网站开发的基本介绍开发公司空置房物业费会计科目
  • 专业的定制型网站建设更改网站伪静态
  • 建筑做地图分析的网站国外订房网站怎么和做
  • 做平面设计必知的网站网站设计有哪些公司
  • 做的网站要花钱吗广东新闻联播2011
  • 做网站维护工作难吗整站排名服务
  • 网站可以做的活动推广域名空间做网站
  • 网站如何做实名验证企业网站建设方案渠道
  • 阿里云做网站需要些什么上海营销网站建设
  • 搜索网站建设推广优化做行业分析的网站
  • 网站改版思路北京海淀的保险公司
  • 前端手机网站wordpress 函数教程
  • 网站域名证书软路由做网站
  • 做p2p网站的公司织梦dedecms网站简略标题shorttitle的使用方法
  • 长白山网站学做管理平台wordpress主题 评论
  • 中国旅游网站排名高清图片素材网站免费下载
  • 网站的请求服务做优先级网站中图片加水印
  • 一般网站字体大小高端模版网站
  • 网站通知发送邮件推广策略的概念
  • 东莞公司企业设计网站建设黄冈网站建设效果
  • 网站品牌建设方案佛山网站建设企业
  • 建设职业学校精品网站wordpress模板可以添加注册会员
  • 大气的企业网站安阳河南网站建设
  • 泰安建设信息网站网站设计怎么算侵权
  • 深圳平台网站开发十堰最专业的网站建设公司
  • 做网站推销好做吗wordpress自适应相册
  • 长沙建设工程官方网站手机优化专家下载
  • 做芯片哪个网站推广公司网络推广服务
  • wordpress做seo优化云平台网站优化