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

建设银行天津招聘网站欧模网室内设计网

建设银行天津招聘网站,欧模网室内设计网,wordpress dux3.0主题,html网站简易模板文章目录 1. 概念介绍2. 具体细节2.1 发现服务2.2 发现特征值2.3 发送数据2.4 接收数据 3. 代码与效果3.13.2 运行效果 4. 经验总结 我们在上一章回中介绍了连接蓝牙设备的细节相关的内容#xff0c;本章回中将介绍通过蓝牙发送数据的细节.闲话休提#xff0c;让… 文章目录 1. 概念介绍2. 具体细节2.1 发现服务2.2 发现特征值2.3 发送数据2.4 接收数据 3. 代码与效果3.13.2 运行效果 4. 经验总结 我们在上一章回中介绍了连接蓝牙设备的细节相关的内容本章回中将介绍通过蓝牙发送数据的细节.闲话休提让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的通过蓝牙设备发送数据仍然使用flutter_blue_plus包提供的接口我们在第一百一十九回章回中介过通过蓝牙发送数据的方法不过还有一些 细节问题需要注意本章回中将详细介绍通过蓝牙发送数据的细节内容。 2. 具体细节 通过蓝牙发送数据的细节主要包含发现服务(BluetoothService)和特征值(Characteristic)发送数据和接收数据。我们把这些内容分成各个小节来介绍。 2.1 发现服务 发现服务使用包中的discoverServices()方法就可以不过蓝牙设备的服务比较多需要进行遍历操作在遍历过程中找到需要操作的服务通常是通过服务的uuid 来判断服务是否是我们需要操作的某个服务。此外蓝牙设备的服务具有读写特性也可以依据读写特性来区分服务。 2.2 发现特征值 发现特征值不需要专门的方法通过服务的characteristics属性就可以获取到该服务的特征值该属性是一个列表包含服务中的多个特征值。我们需要对特征值列表 进行遍历操作在遍历过程中找到需要操作的特征值通常是通过特征值的uuid来判断特征值是否是我们需要操作的某个特征值。此外蓝牙设备的特征值类似服务也 具有读写特性也可以依据读写特性来区分不同的特征值。 2.3 发送数据 2.4 接收数据 通过蓝牙设备读写数据有两种方法一种是读写Characteristics另外一种是读写Descriptor.我们在本章回中介绍的读写数据本质上是读写Characteristics。 flutter_blue_plus包提供了相关的接口去读写Characteristics本章回中将介绍如何使用这些接口去读写数据。 获取服务,通过包中的discoverServices()方法来获取服务通过服务的characteristics属性获取characteristics使用characteristics中的read()和write()方法来读写数据使用characteristics中的onValueReceived属性监听读写结果该属性是Stream类型和蓝牙连接状态的监听方法一样 3. 代码与效果 3.1 上面小节中介绍的实现方法比较抽象接下来我们通过具体的代码来演示如何给蓝牙设备读写数据 FutureListBluetoothService discoverServices(BluetoothDevice device) async {ListBluetoothService services await device.discoverServices();ListBluetoothCharacteristic characteristics;StreamListint readValueChanged;StreamListint writeValueChanged;for (var element in services) {// log.i(service: ${element.toString()});characteristics element.characteristics;for(var char in characteristics) {if(char.properties.read) {readValueChanged char.onValueReceived;readValueChanged.listen((event) {log.i(read chara feedback: ${event.toString()});});readCharacteristics(char);}if(char.properties.write) {writeValueChanged char.onValueReceived;writeValueChanged.listen((event) {log.i(write chara feedback: ${getNiceHexArray(event)});},onError:(e){log.i(write chara error: ${e.toString()});},onDone: () log.i(write chara done),);writeCharacteristics(char);}}}return services;}///依据指定的UUID读取特征值void readCharacteristics (BluetoothCharacteristic characteristic) async{if(PrivateKey.searchServiceUuid ! characteristic.characteristicUuid.toString()) {return null;}Listint value await characteristic.read();log.w(read characteristic: ${value.toString()});}///依据指定的UUID写入特征值void writeCharacteristics (BluetoothCharacteristic characteristic) async{if(PrivateKey.writeCharacteristicUuid ! characteristic.characteristicUuid.toString()) {return null;}Listint value [12,13,14];await characteristic.write(value,withoutResponse: false);log.w(write characteristic: ${value.toString()});}3.2 运行效果 上面示例代码中把读写操作封装成了独立的方法这样可以降低代码的耦合性。同时还指定了characteristic的uuid。这样可以对特定uuid的characteristic进 行读写操作。 我们还在代码中监听了读写操作的结果以便我们了解读写操作的情况。不过 写操作的write方法可以通过withoutResponse属性来控制是否返回结果 该属性的默认值是false表示写操作有返回结果。 4. 经验总结 Service,Characteristic和Descriptor都是蓝牙设备的属性而且每个蓝牙都有这些属性Service,Characteristic和Descriptor环环相扣:获取到Service后才能获取Characteristic,获取到Characteristic后才能获取Descriptor;一个蓝牙设备可能会有多个service我们可以通过它的uuid来区分不同的service;一个serice可能会有多个characteristic,我们可以通过它的uuid来区分不同的characteristic;一个characteristic可以具备读写属性中的任意一种或者二种属性都具备 分享完这些经验后我们回头再看看代码中的各种for循环和if条件判断语句它们都是为了遍历多个值. 看官们与通过蓝牙发送数据的细节相关的内容就介绍到这里欢迎大家在评论区交流与讨论!
http://www.yutouwan.com/news/157978/

相关文章:

  • 织梦cms发布侵权网站清单wordpress登陆不上
  • 北京响应式网站建设公司7款优秀网站设计欣赏
  • 公司做网站会计分录0wordpress tint-k主题
  • 网站内容如何管理重庆市建设厅官网
  • 定制开发网站多少钱wordpress上传模板
  • 海南网站制做的公司网上申请营业执照入口
  • 江苏建设网官方网站赣榆区城乡建设局网站
  • 做的好的ppt下载网站有哪些网站的登录弹窗怎么做
  • 论坛做视频网站知乎推广合作
  • 网站建设好后怎么制作网页网站页面布局和样式设计
  • 监控网站开发南京网络营销课程培训
  • 免费站长工具wordpress快捷键
  • 想学网络营销网站建设南阳微网站开发
  • 福建建设执业中心网站嘉兴网络推广
  • 威海网站制作使用腾讯云建设网站教程
  • 商城网站建设企业物流相关网站
  • 建设部职业资格注册中心网站免费做网站的好不好
  • 优客逸家网站建设wordpress html地图
  • mysql做wp网站滨州做网站的公司
  • 新乡手机网站建设服务动漫制作工资一般多少
  • 无锡市建设局网站律师网站开发
  • 上海网站策划网站建设的市场定位
  • wordpress站点标题副标题换行中国执行信息公开网信息查询
  • 网站建设需求书开户推广竞价开户
  • 手机网站开发标准贵州企业网站
  • 开网店 建网站要钱吗照片制作
  • 为什么要建立企业网站京津冀协同发展存在的突出问题
  • 泊头市网站建设价格国家企业网
  • 郑州网站建设公司 排行做网站 学php哪一部分
  • 哪个公司网站建设好网站开发排期表模板