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

泰州模板开发建站网站建设中备案

泰州模板开发建站,网站建设中备案,游戏推广群,个人智慧团建网站学物联网#xff0c;来万物简单IoT物联网#xff01;#xff01; bluetooth 介绍 该模块为板上的蓝牙控制器提供了相关接口。目前支持低功耗蓝牙 (BLE)的Central#xff08;中央#xff09;, Peripheral#xff08;外设#xff09;, Broadcaster#xff08;广播者来万物简单IoT物联网 bluetooth 介绍 该模块为板上的蓝牙控制器提供了相关接口。目前支持低功耗蓝牙 (BLE)的Central中央, Peripheral外设, Broadcaster广播者, 和Observer 观察者角色以及 GATT 的服务器Server和客户端Client。 注意事项: 当前该模块只支持低功耗蓝牙BLE经典蓝牙部分暂时不支持。 接口说明 BLE - 创建BLE对象 bluetooth.BLE 类功能 该类为低功耗蓝牙BLE是bluetooth模块中主要的类。 函数功能: 创建BLE对象。函数原型:ble bluetooth.BLE()参数说明: 无返回值: BLE对象成功返回单例的BLE对象BLE对象创建失败返回None示例代码: import bluetooth ble bluetooth.BLE()active - 启动/关闭BLE 函数功能: 启动或关闭BLE并返回当前状态。注意事项: 在使用此类上的任何其他方法之前必须打开BLE。函数原型BLE.active(status)参数说明: 参数类型必选参数说明status布尔型是True打开BLE False: 关闭BLE 返回值: 无示例 import bluetooth ble bluetooth.BLE() ble.active(True)config - 获取或配置BLE相关参数 函数功能: 获取或设置 BLE 接口的配置值。要获得一个值参数名称应为一个字符串并且一次只查询一个参数。要设置值请使用关键字语法并且一次可以设置一个或多个参数。 注意事项: 需确保BLE打开。如果不使用此函数配置将使用空值或默认值。 函数原型BLE.config(‘param’ ) BLE.config(*, paramvalue, …) 参数说明: 当前支持的值是 ‘mac’当前使用的地址取决于当前的地址模式。这将返回一个元组。(addr_type, addr) ‘addr_mode’: 设置地址模式。值可以是 0x00 - PUBLIC - 使用控制器的公共地址。 0x01 - RANDOM - 使用生成的静态地址。 0x02 - RPA - 使用可解析的私有地址。 0x03 - NRPA - 使用不可解析的私有地址。 默认情况下使用 PUBLIC 地址否则将使用 RANDOM 地址。 ‘gap_name’: 获取/设置服务0x1800使用的GAP设备名称特征0x2a00。这可以随时设置并多次更改。 ‘rxbuf’获取/设置用于存储传入事件的内部缓冲区的大小以字节为单位。该缓冲区对整个 BLE 驱动程序是全局的。此项配置值改大可以更好地处理突发传入数据例如扫描结果和接收更大特征值的能力。 ‘mtu’获取/设置将在 ATT MTU 交换期间使用的 MTU。生成的 MTU 将是该 MTU 和远程设备的 MTU 中的最小值。ATT MTU 交换不会自动发生除非远程设备通过gattc_exchange_mtu启动它。 ‘bond’设置配对时是否启用绑定。启用后配对请求将设置“绑定”标志并且密钥将由两个设备存储。 ‘mitm’: 设置配对是否需要 MITM 保护。 ‘io’设置此设备的 I/O 功能。 可用选项有 _IO_CAPABILITY_DISPLAY_ONLY const(0) _IO_CAPABILITY_DISPLAY_YESNO const(1) _IO_CAPABILITY_KEYBOARD_ONLY const(2) _IO_CAPABILITY_NO_INPUT_OUTPUT const(3) _IO_CAPABILITY_KEYBOARD_DISPLAY const(4) ‘le_secure’设置是否需要“LE Secure”配对。默认为 false即允许“传统配对”。 返回值: 无 示例 import bluetooth ble bluetooth.BLE() ble.active(True) ble.config(rxbuf1024)irq - 事件处理 函数功能: 注册一个BLE协议栈的事件回调。回调函数带两个参数: event - 事件码 和 data - 事件值的元组类型。注意事项: 在元组中的addr adv_datachar_datanotify_data和uuid 是只读的指向bluetooth的内部ringbuffer并且仅在IRQ处理函数的调用期间有效。如果程序需要保存这些值以在 IRQ 处理程序返回后访问例如通过将其保存在类实例或全局变量中那么它需要通过使用bytes() 或bluetooth.UUID()等方式获取数据的副本像这样 connected_addr bytes(addr) # equivalently: adv_data, char_data, or notify_data matched_uuid bluetooth.UUID(uuid) 例如扫描结果的 IRQ 处理程序可能会检查adv_data 以决定它是否是正确的设备然后才复制地址数据以在程序的其他地方使用。并且需要从 IRQ 处理程序中打印数据 print(bytes(addr))。 函数原型BLE.irq(handler)参数说明 参数类型必选参数说明handler函数型是函数带两个输入参数event和data 返回值: 无示例 def bt_irq(event, data): if event _IRQ_CENTRAL_CONNECT: # A central has connected to this peripheral. conn_handle, addr_type, addr data elif event _IRQ_CENTRAL_DISCONNECT: # A central has disconnected from this peripheral. conn_handle, addr_type, addr data elif event _IRQ_SCAN_RESULT: # A single scan result. addr_type, addr, adv_type, rssi, adv_data data elif event _IRQ_SCAN_DONE: # Scan duration finished or manually stopped. pass elif event _IRQ_PERIPHERAL_CONNECT: # A successful gap_connect(). conn_handle, addr_type, addr data elif event _IRQ_PERIPHERAL_DISCONNECT: # Connected peripheral has disconnected. conn_handle, addr_type, addr data BLE.irq(bt_irq)事件代码是 from micropython import const _IRQ_CENTRAL_CONNECT const(1) _IRQ_CENTRAL_DISCONNECT const(2) _IRQ_GATTS_WRITE const(3) _IRQ_GATTS_READ_REQUEST const(4) _IRQ_SCAN_RESULT const(5) _IRQ_SCAN_DONE const(6) _IRQ_PERIPHERAL_CONNECT const(7) _IRQ_PERIPHERAL_DISCONNECT const(8) _IRQ_GATTC_SERVICE_RESULT const(9) _IRQ_GATTC_SERVICE_DONE const(10) _IRQ_GATTC_CHARACTERISTIC_RESULT const(11) _IRQ_GATTC_CHARACTERISTIC_DONE const(12) _IRQ_GATTC_DESCRIPTOR_RESULT const(13) _IRQ_GATTC_DESCRIPTOR_DONE const(14) _IRQ_GATTC_READ_RESULT const(15) _IRQ_GATTC_READ_DONE const(16) _IRQ_GATTC_WRITE_DONE const(17) _IRQ_GATTC_NOTIFY const(18) _IRQ_GATTC_INDICATE const(19) _IRQ_GATTS_INDICATE_DONE const(20) _IRQ_MTU_EXCHANGED const(21) _IRQ_L2CAP_ACCEPT const(22) _IRQ_L2CAP_CONNECT const(23) _IRQ_L2CAP_DISCONNECT const(24) _IRQ_L2CAP_RECV const(25) _IRQ_L2CAP_SEND_READY const(26) _IRQ_CONNECTION_UPDATE const(27) _IRQ_ENCRYPTION_UPDATE const(28) _IRQ_GET_SECRET const(29) _IRQ_SET_SECRET const(30)gap_advertise - 开启或关闭BLE广播 函数功能: 设置一个特定的广播间隔单位是微秒开启BLE广播此间隔最低为625us。 关闭BLE广播时将广播间隔参数interval_us设为None。注意事项 广播者角色时使用函数原型*BLE.gap_advertise(interval_us, adv_dataNone, , resp_dataNone, connectableTrue)参数说明: 参数类型必选参数说明interval_us整型是广播间隔为None时关闭广播adv_datastring否adv_data可指向实现缓冲协议的任何类型例如bytesbytearraystr为None时则使用上一次调用时候的值resp_datastring否resp_data可指向实现缓冲协议的任何类型例如bytesbytearraystr为None时则使用上一次调用时候的值connectable布尔型否表示是否可连接 返回值: 无示例 import bluetooth ble bluetooth.BLE() ble.active(True) # payload 需要具体定义 ble.gap_advertise(500000, adv_datapayload)gap_scan - BLE扫描 函数功能: 以一个特定的间隔interval_us和 窗口window_us执行BLE扫描操作; 扫描器将每interval_us微秒运行window_us 微秒总共持续duration_ms毫秒。默认间隔和窗口分别为 1.28 秒和 11.25 毫秒后台扫描注意事项: 对于每个扫描结果将触发_IRQ_SCAN_RESULT事件并带有事件数据(addr_type, addr, adv_type, rssi, adv_data)。 当扫描停止时由于持续时间完成或明确停止将触发_IRQ_SCAN_DONE事件。 观察者角色时使用。 addr_type 值表示公共或随机地址 0x00 - 公共 0x01 - RANDOM静态、RPA 或 NRPA类型在地址本身中编码 adv_type 值对应于蓝牙规范 0x00 - ADV_IND - 可连接和可扫描的无向广告 0x01 - ADV_DIRECT_IND - 可连接的定向广告 0x02 - ADV_SCAN_IND - 可扫描的无向广告 0x03 - ADV_NONCONN_IND - 不可连接的无向广告 0x04 - SCAN_RSP - 扫描响应 函数原型:BLE.gap_scan( duration_ms , interval_us1280000 , window_us11250 , activeFalse )参数说明: 参数类型必选参数说明duration_ms整型是扫描持续时间单位为毫秒当设为0时无限期扫描当设为None时停止扫描interval_us整型否扫描间隔时间单位为微秒window_us整型否扫描窗口时间单位为微秒active布尔型否设为True时表示要在结果中接受扫描响应scan_rsp,默认为False 返回值: 无示例 import bluetooth ble bluetooth.BLE() ble.active(True)ble.gap_scan(2000, 30000, 20000)gap_connect - 连接BLE外围设备 函数功能: 连接BLE外围设备注意事项: 中央设备Central以观察者角色通过gap_scan方法获得外围设备信息或者已知外围设备地址, 之后可通过设备信息触发BLE连接请求。 成功后将触发_IRQ_PERIPHERAL_CONNECT事件该事件data中带有连接句柄。函数原型BLE.gap_connect( addr_type , addr , scan_duration_ms2000 , min_conn_interval_usNone , max_conn_interval_usNone )参数说明: 参数类型必选参数说明addr_type枚举型是0x00 - 公共地址0x01 - 随机地址addrstring是要连接的设备地址scan_duration_ms整型否设备将等待最多scan_duration_ms以从设备接收广播负载min_conn_interval_us整型否连接间隔的最小值单位为微秒max_conn_interval_us整型否连接间隔的最大值单位为微秒 返回值: 无示例 import bluetooth ble bluetooth.BLE() ble.active(True) # addr xx:xx:xx:xx:xx:xx ble.connect(0x00, addr)gap_disconnect - 断开BLE外围设备 函数功能: 断开指定连接句柄的BLE连接。可以是从中央设备发起也可是由外围设备发起。 注意事项 成功后将触发_IRQ_PERIPHERAL_DISCONNECT 或者 _IRQ_CENTRAL_DISCONNECT事件 函数原型 BLE.gap_disconnect(conn_handle) 参数说明: 参数类型必选参数说明conn_handle整型是连接句柄 返回值: False: 该连接句柄未连接 True: 表示调用成功 示例 import bluetooth ble bluetooth.BLE() ... ble.gap_disconnect(handle)gatts_register_services - 注册GATT服务 一个 GATT 服务器有一组注册服务。每个服务可能包含一个或多个特性每个特性都有一个值。特征还可以包含描述符描述符本身也具有值。 这些值存储在本地并由服务注册期间生成的“值句柄”访问。它们也可以从远程客户端设备读取或写入。此外服务器可以通过连接句柄主动向连接的客户端“通知”特征。 在大多数情况下外围设备充当GATT 服务器。 函数功能: 使用指定的服务配置服务器注意事项 在注册服务之前必须停BLE广播。每个服务都是一个两个元素的元组其中一个是UUID 另一个是特征值的列表。 每个特征值都是一个两个或三个元素的元组包含一个UUID, 一个标示值另一个可选的描述符列表 每个描述符都一个两个元素的元组包含一个UUID, 一个标示值。 这些标示值是由下面定义的标示按位或的组合他们设置了特征或者描述符的行为及安全和隐私要求。 from micropython import const _FLAG_BROADCAST const(0x0001) _FLAG_READ const(0x0002) _FLAG_WRITE_NO_RESPONSE const(0x0004) _FLAG_WRITE const(0x0008) _FLAG_NOTIFY const(0x0010) _FLAG_INDICATE const(0x0020) _FLAG_AUTHENTICATED_SIGNED_WRITE const(0x0040)_FLAG_AUX_WRITE const(0x0100) _FLAG_READ_ENCRYPTED const(0x0200) _FLAG_READ_AUTHENTICATED const(0x0400) _FLAG_READ_AUTHORIZED const(0x0800) _FLAG_WRITE_ENCRYPTED const(0x1000) _FLAG_WRITE_AUTHENTICATED const(0x2000) _FLAG_WRITE_AUTHORIZED const(0x4000)函数原型BLE.gatts_register_services( services_definition )参数说明: 参数类型必选参数说明services_definition列表是服务列表 返回值: 一个元组列表, 每个元组代表一个服务元组中的每个元素对应一个值句柄特征和描述符句柄按照定义的顺序平展为同一个元组。 以下示例注册了两个服务HR 和 UART这三个值句柄hr, tx, rx可用于gatts_read, gatts_write, gatts_notify和gatts_indicate。示例 HR_UUID bluetooth.UUID(0x180D) HR_CHAR (bluetooth.UUID(0x2A37), bluetooth.FLAG_READ | bluetooth.FLAG_NOTIFY,) HR_SERVICE (HR_UUID, (HR_CHAR,),) UART_UUID bluetooth.UUID(6E400001-B5A3-F393-E0A9-E50E24DCCA9E) UART_TX (bluetooth.UUID(6E400003-B5A3-F393-E0A9-E50E24DCCA9E), bluetooth.FLAG_READ | bluetooth.FLAG_NOTIFY,) UART_RX (bluetooth.UUID(6E400002-B5A3-F393-E0A9-E50E24DCCA9E), bluetooth.FLAG_WRITE,) UART_SERVICE (UART_UUID, (UART_TX, UART_RX,),) SERVICES (HR_SERVICE, UART_SERVICE,) ( (hr,), (tx, rx,), ) bt.gatts_register_services(SERVICES)gatts_read - 读取本地值 函数功能: 读取本地GATT服务中的特征值注意事项 这个值可能是通过本地gatts_write写入的也可能是通过远程客户端写入的。函数原型BLE.gatts_read(value_handle)参数说明: 参数类型必选参数说明value_handle整型是值句柄 返回值: 无示例 无 gatts_write - 写入本地值 函数功能: 写入本地GATT服务中的特征值注意事项 写入后客户端可以读取该值。函数原型BLE.gatts_write( value_handle , data , send_updateFalse )参数说明: 参数类型必选参数说明value_handle整型是值句柄datastring是写入数据send_update布尔型否为True时任何订阅此值的此客户端都将收到该特征值写入的通知 返回值: 无示例 无 gatts_notify - 发送通知请求 函数功能: 向连接的客户端发送通知请求注意事项 无论客户端是否订阅了此特征值都会发送通知。函数原型BLE.gatts_notify( conn_handle , value_handle , dataNone )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄value_handle整型是值句柄datastring否如果data不为None,则将该值发送给客户端本地值不会被修改。如果data为None,则将发送当前本地值给客户端 返回值: 无示例 无 gatts_indicate - 发送指示请求 函数功能: 向连接的客户端发送指示请求注意事项 无论客户端是否订阅了此特征值都会发送通知。 在确认或失败如超时时将触发_IRQ_GATTS_INDICATE_DONE 事件函数原型BLE.gatts_indicate( conn_handle , value_handle )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄value_handle整型是值句柄 返回值: 无示例 无 gatts_set_buffer - 设置缓冲区 函数功能: 设置值的内部缓冲区大小与Byte为单位默认值是20.注意事项 无函数原型BLE.gatts_set_buffer ( value_handle , len , append False)参数说明: 参数类型必选参数说明value_handle整型是值句柄len整型是缓冲区大小append布尔值否为True时将使所有远程写入追加到当前值而不是覆盖当前值执行gatts_read读取值后该值清零 返回值: 无示例 无 gattc_discover_services - 查询服务 GATT 客户端Client可发现和读取/写入远程GATT服务上的特征。 一般情况下Central 角色充当GATT 客户端。 函数功能: 查询已连接GATT服务器的服务注意事项 每发现一个服务都将触发 _IRQ_GATTC_SERVICE_RESULT 事件服务操作完毕后将触发_IRQ_GATTC_SERVICE_DONE 事件。函数原型BLE.gattc_discover_services( conn_handle , uuidNone )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄uuidstring否指定服务的uuid, 当uuid不为None时仅查询该服务 返回值: 无示例 无 gattc_discover_characteristics - 查询特征 函数功能: 查询连接的服务器以获取指定范围内的特征注意事项 每发现一个特征都将触发 _IRQ_GATTC_CHARACTERISTIC_RESULT 事件发现特征操作完毕后将触发 _IRQ_GATTC_CHARACTERISTIC_DONE 事件。函数原型BLE.gattc_discover_characteristics( conn_handle , start_handle , end_handle , uuidNone )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄start_handle整型是起始的特征句柄end_handle整型是结束的特征句柄uuidstring否指定特征的uuid, 当uuid不为None时仅查询该特征 返回值: 无示例 无 gattc_discover_descriptors - 查询描述符 函数功能: 向连接的服务器查询指定范围内的描述符注意事项 每发现一个描述符都将触发 _IRQ_GATTC_DESCRIPTOR_RESULT 事件发现描述符操作结束后将触发 _IRQ_GATTC_DESCRIPTOR_DONE 事件。函数原型BLE.gattc_discover_descriptors( conn_handle , start_handle , end_handle )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄start_handle整型是起始的特征句柄end_handle整型是结束的特征句柄 返回值: 无示例 无 gattc_read - GATT远程读操作 函数功能: 向连接的服务器发出远程读取注意事项 当值可用时将触发 _IRQ_GATTC_READ_RESULT 事件里面带有读取的结果。此外读取完毕将触发_IRQ_GATTC_READ_DONE 事件。函数原型BLE.gattc_read( conn_handle , value_handle )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄value_handle整型是要读取的特征的句柄 返回值: 无示例 无 gattc_write - GATT远程写操作 函数功能: 向连接的服务器发出远程写注意事项 如果收到来自远程服务器的响应将触发 _IRQ_GATTC_WRITE_DONE 事件。函数原型BLE.gattc_write( conn_handle , value_handle , data , mode0 )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄value_handle整型是要写的特征的句柄mode整型是mode0默认值是无响应写入对方不返回确认也不会触发任何事件 mode1是 write-with-response远程服务器发送它收到数据的响应/确认 返回值: 无示例 无 gattc_exchange_mtu - 交换MTU 函数功能: 触发MTU交换流程使用之前config的MTU值。注意事项 当MTU交换完成后将触发 _IRQ_MTU_EXCHANGED 事件。 MTU交换通常由Central 角色设备发起。有些底层协议栈不支持MTU交换功能。函数原型BLE.gattc_exchange_mtu( conn_handle )参数说明: 参数类型必选参数说明conn_handle整型是连接句柄 返回值: 无示例 无 bluetooth.UUID 类功能 创建具有指定值的UUID实例。注意事项 UUID可以是一个16位整数例如 0x2908; 也可以是128位的UUID字符例如’6E400001-B5A3-F393-E0A9-E50E24DCCA9E‘示例 HR_UUID bluetooth.UUID(0x180D) HR_CHAR (bluetooth.UUID(0x2A37), bluetooth.FLAG_READ | bluetooth.FLAG_NOTIFY,) HR_SERVICE (HR_UUID, (HR_CHAR,),) UART_UUID bluetooth.UUID(6E400001-B5A3-F393-E0A9-E50E24DCCA9E) UART_TX (bluetooth.UUID(6E400003-B5A3-F393-E0A9-E50E24DCCA9E), bluetooth.FLAG_READ | bluetooth.FLAG_NOTIFY,) UART_RX (bluetooth.UUID(6E400002-B5A3-F393-E0A9-E50E24DCCA9E), bluetooth.FLAG_WRITE,) UART_SERVICE (UART_UUID, (UART_TX, UART_RX,),) SERVICES (HR_SERVICE, UART_SERVICE,) ( (hr,), (tx, rx,), ) bt.gatts_register_services(SERVICES)
http://www.huolong8.cn/news/435823/

相关文章:

  • 天津泰达建设集团网站网站管理系统有哪些
  • 在网站做的pdf有水印如何删除网页制作软件dw还需要什么
  • 网站seo跟短视频2345浏览器网站
  • 西安建设网站首页网络营销推广的三斧
  • 电子商务网站建设实训心得体会seo咨询服务
  • seo与网站优化2019年开公司做网站可以吗
  • 网站建设 部署与发布iis 设置网站不能访问
  • 如何做网站上抓视频wordpress 5.0中文
  • 如何组做网站网站建设 代理
  • 培训机构网站建设三站合一网站
  • 济南地产行业网站开发wordpress 婚礼主题
  • 乌兰察布做网站公司微分销系统哪个好
  • 做快餐 承包食堂的公司网站常用的erp系统
  • 棋牌游戏在哪做网站Net网站开发招聘
  • 自己的网站怎么建立免费咨询刑事辩护在线律师
  • 点点站长工具加强学校网站建设的要求
  • 7天精通网站建设实录简介242网站建设公司江西
  • 厚瑜网站建设VR网站建设价格
  • 天津做网站的网络公司长沙房地产
  • 签订网站建设合同需要注意什么多用户网上商城系统
  • 网站的整体风格wordpress 影楼
  • 德州手机网站建设电话苏州高端网站制作机构
  • 代刷网站只做软件吗建设网站需要什么样的服务器
  • asp.net做网站教程美食网站建设策划书
  • app官网网站建设狼们求个没封的免费网站
  • 江阴网站制作公司有什么做公众号封面图的网站
  • 购物网站设计欣赏网络推广关键词优化公司
  • 私人做医院的网站wordpress突然很卡
  • 成功的网站不仅仅是优化排阳江北京网站建设
  • 网站上打广告手机会员卡管理系统