草庐IT

BLE特性

全部标签

ESP32连接BLE设备具体实现的说明

文章目录一、基础概念二、相关API参数与使用说明三、整体连接流程总结本篇文章以ESP32C3平台作为主机连接血糖仪蓝牙设备的过程为例,对代码的实现进行分析与理解。一、基础概念在上手撕代码之前,让我们准备好砍柴刀,先使用nRFConnectAPP连接血糖仪对Gatt协议概念以及各层次进行理解,APP下载链接自行百度,这里就不贴出来了,废话不多说,打开手机蓝牙连接血糖仪蓝牙设备,左图为血糖仪的所有服务项,分别是GenericAccess、DeviceInformation、UnknownService、UnknownService四项服务(Service),右图是UUID为0x1000的Unkno

聊聊JDK19特性之虚拟线程

1.前言在读《深入理解JVM虚拟机》这本书前两章的时候整理了JDK从1.0到最新版本发展史,其中记录了JDK这么多年来演进过程中的一些趣闻及引人注目的一些特性,在调研JDK19新增特性的时候了解到了虚拟线程这个概念,于是对虚拟线程进行学习整理内容如下。2.虚拟线程介绍?虚拟线程(VirtualThreads)就犹如名字一样,并非传统意义上的JAVA线程。传统意义上的JAVA线程(以下称为平台线程)跟操作系统的内核线程是一一映射的关系(如图1所示)。而对于平台线程的创建和销毁所带来的开销是非常大的,所以JAVA采用线程池的方式来维护平台线程而避免线程的反复创建和销毁。然而平台线程也会占用内存、C

HarmonyOS API版本特性解析:移动端开发

引言:HarmonyOS是华为公司自主研发的分布式操作系统,旨在为各种设备提供统一的开发平台。本文将介绍HarmonyOSAPI的版本特性,并提供相关的移动端开发示例代码。一、简介HarmonyOSAPI是开发者用于创建应用程序的一组软件接口。它提供了访问HarmonyOS系统功能和服务的方法,使开发者能够创建功能丰富、高效的移动应用程序。下面将介绍几个重要的HarmonyOSAPI版本特性。二、分布式能力HarmonyOSAPI提供了强大的分布式能力,使开发者能够在多个设备之间共享数据和执行任务。下面是一个使用分布式能力的示例代码:importohos.distributedschedule

ESP32经典蓝牙和BLE的使用 (基于Arduino)

ESP32蓝牙和BLE简述和基本使用方法文章目录ESP32蓝牙和BLE简述和基本使用方法经典蓝牙串口通信低功耗蓝牙BLE(常用)BLE服务器和客户端通信经典蓝牙串口通信#include"BluetoothSerial.h"//引入蓝牙函数库#if!defined(CONFIG_BT_ENABLED)||!defined(CONFIG_BLUEDROID_ENABLED)#errorBluetoothisnotenabled!Pleaserun`makemenuconfig`toandenableit#endif//判断蓝牙是否启用constintled=2;BluetoothSerialSer

RCR低通滤波器电路幅频、增益、相移特性分析

一、前言    笔者负责开发的产品用于电力系统测控方面,所以在ADC电路的前级用到了RCR低通滤波器,以滤除通过PT/CT互感器串进来的高频干扰信号。与此同时,滤波电路也会对高次谐波的幅值、相位产生影响,导致我们的测量结果有偏差,因此我们需要计算滤波器特性,在软件上对测量结果进行补偿,从而得出较为精确的谐波数据。二、滤波器电路分析    如下图,AIN1是PT/CT的感应电流经过采样电阻产生的电压信号,AGND为模拟参考地,接在互感器一端引脚上,因此AIN是交流且具有正负方向的信号。AD1和AD1GND为ADC芯片(AD7616)输入端。    假设输入信号(AIN1和AGND)为Vin,输出

Flutter/Dart第10天:Dart高级特性Pattern模式的全部类型(共15种)

Dart官方文档:https://dart.dev/language/pattern-types重要说明:本博客基于Dart官网文档,但并不是简单的对官网进行翻译,在覆盖核心功能情况下,我会根据个人研发经验,加入自己的一些扩展问题和场景验证。和操作符一样,模式运算也遵循一定的优先级规则,我们可以通过增加括号()让低优先级规则的模式优先运算:逻辑或模式低于逻辑与模式,逻辑与模式低于关系模式:逻辑或。一元模式优先级相同:值转换、空检测、空断言。其他的模式都具有最高的优先级,集合类型(List列表、Map映射和Record记录)和对象模式包含了其他数据,因此作为外部模式优先运算。逻辑或模式(Logi

学习鸿蒙OS:探索鸿蒙操作系统的特性与示例代码

鸿蒙OS是华为公司推出的一款面向全场景的分布式操作系统。它具备统一、高效、安全的特性,适用于各类设备,包括智能手机、平板电脑、智能手表、物联网设备等。本文将介绍鸿蒙OS的一些关键特性,并提供一些示例代码,帮助您进一步理解和学习鸿蒙OS。一、分布式架构鸿蒙OS采用分布式架构,支持多设备之间实现无缝协同工作。开发者可以使用分布式能力,实现设备之间的数据共享、任务协同和资源互通。下面是一个简单示例,演示了如何在鸿蒙OS中实现设备之间的消息传递://发送消息DataAbilityHelperdataAbilityHelper=DataAbilityHelper.creator(context,"dev

PHP特性之CTF中常见的PHP绕过

目录一、关于md5()和sha1()的常见绕过1、使用数组绕过2、使用特殊字符串绕过二、strcmp绕过三、switch绕过四、intval绕过一、关于md5()和sha1()的常见绕过知识介绍:1、对于php强比较和弱比较:md5(),sha1()函数无法处理数组,如果传入的为数组,会返回NULL,两个数组经过加密后得到的都是NULL,也就是相等的。2、对于某些特殊的字符串加密后得到的密文以0e开头,PHP会当作科学计数法来处理,也就是0的n次方,得到的值比较的时候都相同。下面是常见的加密后密文以0e开头的字符串:md5:240610708:0e46209743190650901956298

2023_Spark_实验八:Scala高级特性实验

1、什么是泛型类和Java或者C++一样,类和特质可以带类型参数。在Scala中,使用方括号来定义类型参数,如下所示:/*这里的T就是泛类型,可以代表任意类型,_表示可以是任意类型*/class GenericClass[T]{//定义一个变量privatevar content:T=_//定义变量的get和set方法def set(value:T)={content=value}def get():T={content}}//测试object GenericClass{def main(args:Array[String]): Unit ={//定义一个Int整数类型的泛型类对象var in

Java并发编程权威指南 本文详细介绍了Java并发编程的核心机制和特性,包括线程创建、启动、同步、死锁队列、线程池、定时执行、 interrupts等内容,并用实例代码展示了这些机制的使用方式

作者:禅与计算机程序设计艺术1.简介1995年,Sun公司推出了首款商用的多核处理器,从此改变了软件开发的模式。而在如今这个高速发展的时代,软件开发者经过几十年的进化,不得不面临新的并行开发挑战。由于多个线程同时运行的需求越来越强烈,系统架构也需要相应地进行调整。如果没有正确处理并发性问题,软件将无法有效地利用多核CPU的优势,最终可能导致性能下降或系统崩溃。因此,掌握Java并发编程技巧,对于一个高效率的软件工程师来说,至关重要。20世纪90年代末,Sun公司发布了J2SE(Java2Platform,StandardEdition)的第一个版本,提供了对多线程的支持。为了能够充分利用多线程