国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

物聯(lián)網AI MicroPython學習之語法 bluetooth藍牙

這篇具有很好參考價值的文章主要介紹了物聯(lián)網AI MicroPython學習之語法 bluetooth藍牙。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

學物聯(lián)網,來萬物簡單IoT物聯(lián)網??!micropython bluetooth gap_advertise,ETTPython組件庫,物聯(lián)網,人工智能,學習,python,嵌入式硬件

bluetooth 介紹

該模塊為板上的藍牙控制器提供了相關接口。目前支持低功耗藍牙 (BLE)的Central(中央), Peripheral(外設), Broadcaster(廣播者), 和Observer (觀察者)角色,以及 GATT 的服務器(Server)和客戶端(Client)。

  • 注意事項: 當前該模塊只支持低功耗藍牙(BLE),經典藍牙部分暫時不支持。

接口說明

BLE - 創(chuàng)建BLE對象

bluetooth.BLE
類功能: 該類為低功耗藍牙(BLE),是bluetooth模塊中主要的類。

  • 函數(shù)功能: 創(chuàng)建BLE對象。
  • 函數(shù)原型:ble = bluetooth.BLE()
  • 參數(shù)說明: 無
  • 返回值: BLE對象成功,返回單例的BLE對象;BLE對象創(chuàng)建失敗,返回None
  • 示例代碼:
import bluetooth 
ble = bluetooth.BLE()

active - 啟動/關閉BLE

  • 函數(shù)功能: 啟動或關閉BLE,并返回當前狀態(tài)。
  • 注意事項: 在使用此類上的任何其他方法之前,必須打開BLE。
  • 函數(shù)原型:BLE.active(status)
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
status 布爾型 True:打開BLE
False: 關閉BLE
  • 返回值: 無
  • 示例:
import bluetooth 
ble = bluetooth.BLE() 
ble.active(True)

config - 獲取或配置BLE相關參數(shù)

  • 函數(shù)功能: 獲取或設置 BLE 接口的配置值。要獲得一個值,參數(shù)名稱應為一個字符串,并且一次只查詢一個參數(shù)。要設置值,請使用關鍵字語法,并且一次可以設置一個或多個參數(shù)。

  • 注意事項: 需確保BLE打開。如果不使用此函數(shù)配置將使用空值或默認值。

  • 函數(shù)原型:BLE.config(‘param’ ) BLE.config(*, param=value, …)

  • 參數(shù)說明: 當前支持的值是:
    ‘mac’:當前使用的地址,取決于當前的地址模式。這將返回一個元組。(addr_type, addr)
    ‘addr_mode’: 設置地址模式。值可以是:
    0x00 - PUBLIC - 使用控制器的公共地址。 0x01 - RANDOM - 使用生成的靜態(tài)地址。 0x02 - RPA - 使用可解析的私有地址。 0x03 - NRPA - 使用不可解析的私有地址。 默認情況下使用 PUBLIC 地址,否則將使用 RANDOM 地址。
    ‘gap_name’: 獲取/設置服務0x1800使用的GAP設備名稱,特征0x2a00。這可以隨時設置并多次更改。
    ‘rxbuf’:獲取/設置用于存儲傳入事件的內部緩沖區(qū)的大?。ㄒ宰止?jié)為單位)。該緩沖區(qū)對整個 BLE 驅動程序是全局的。此項配置值改大可以更好地處理突發(fā)傳入數(shù)據(例如掃描結果)和接收更大特征值的能力。
    ‘mtu’:獲取/設置將在 ATT MTU 交換期間使用的 MTU。生成的 MTU 將是該 MTU 和遠程設備的 MTU 中的最小值。ATT MTU 交換不會自動發(fā)生(除非遠程設備通過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(即允許“傳統(tǒng)配對”)。

  • 返回值: 無

  • 示例:

import bluetooth 
ble = bluetooth.BLE() 
ble.active(True) 
ble.config(rxbuf=1024)

irq - 事件處理

  • 函數(shù)功能: 注冊一個BLE協(xié)議棧的事件回調。回調函數(shù)帶兩個參數(shù): event - 事件碼 和 data - 事件值的元組類型。
  • 注意事項: 在元組中的addr, adv_data,char_data,notify_data,和uuid 是只讀的,指向bluetooth的內部ringbuffer,并且僅在IRQ處理函數(shù)的調用期間有效。如果程序需要保存這些值,以在 IRQ 處理程序返回后訪問(例如,通過將其保存在類實例或全局變量中),那么它需要通過使用bytes() 或bluetooth.UUID()等方式獲取數(shù)據的副本,像這樣:

connected_addr = bytes(addr) # equivalently: adv_data, char_data, or notify_data matched_uuid = bluetooth.UUID(uuid)
例如,掃描結果的 IRQ 處理程序可能會檢查adv_data 以決定它是否是正確的設備,然后才復制地址數(shù)據以在程序的其他地方使用。并且需要從 IRQ 處理程序中打印數(shù)據 print(bytes(addr))。

  • 函數(shù)原型:BLE.irq(handler)
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
handler 函數(shù)型 函數(shù)帶兩個輸入參數(shù)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廣播

  • 函數(shù)功能: 設置一個特定的廣播間隔(單位是微秒)開啟BLE廣播,此間隔最低為625us。 關閉BLE廣播時,將廣播間隔參數(shù)(interval_us)設為None。
  • 注意事項: 廣播者角色時使用
  • 函數(shù)原型:*BLE.gap_advertise(interval_us, adv_data=None, , resp_data=None, connectable=True)
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
interval_us 整型 廣播間隔,為None時關閉廣播
adv_data string adv_data可指向實現(xiàn)緩沖協(xié)議的任何類型(例如bytes,bytearray,str),為None時則使用上一次調用時候的值
resp_data string resp_data可指向實現(xiàn)緩沖協(xié)議的任何類型(例如bytes,bytearray,str),為None時則使用上一次調用時候的值
connectable 布爾型 表示是否可連接
  • 返回值: 無
  • 示例:
import bluetooth
ble = bluetooth.BLE()
ble.active(True)
# payload 需要具體定義
ble.gap_advertise(500000, adv_data=payload)

gap_scan - BLE掃描

  • 函數(shù)功能: 以一個特定的間隔(interval_us)和 窗口(window_us)執(zhí)行BLE掃描操作; 掃描器將每interval_us微秒運行window_us 微秒,總共持續(xù)duration_ms毫秒。默認間隔和窗口分別為 1.28 秒和 11.25 毫秒(后臺掃描)
  • 注意事項: 對于每個掃描結果,將觸發(fā)_IRQ_SCAN_RESULT事件,并帶有事件數(shù)據(addr_type, addr, adv_type, rssi, adv_data)。 當掃描停止時(由于持續(xù)時間完成或明確停止),將觸發(fā)_IRQ_SCAN_DONE事件。 觀察者角色時使用。

addr_type 值表示公共或隨機地址:
0x00 - 公共 0x01 - RANDOM(靜態(tài)、RPA 或 NRPA,類型在地址本身中編碼)
adv_type 值對應于藍牙規(guī)范:
0x00 - ADV_IND - 可連接和可掃描的無向廣告 0x01 - ADV_DIRECT_IND - 可連接的定向廣告 0x02 - ADV_SCAN_IND - 可掃描的無向廣告 0x03 - ADV_NONCONN_IND - 不可連接的無向廣告 0x04 - SCAN_RSP - 掃描響應

  • 函數(shù)原型:BLE.gap_scan( duration_ms , interval_us=1280000 , window_us=11250 , active=False )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
duration_ms 整型 掃描持續(xù)時間,單位為毫秒,當設為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外圍設備

  • 函數(shù)功能: 連接BLE外圍設備
  • 注意事項: 中央設備(Central)以觀察者角色通過gap_scan方法獲得外圍設備信息,或者已知外圍設備地址, 之后可通過設備信息觸發(fā)BLE連接請求。 成功后,將觸發(fā)_IRQ_PERIPHERAL_CONNECT事件,該事件data中帶有連接句柄。
  • 函數(shù)原型:BLE.gap_connect( addr_type , addr , scan_duration_ms=2000 , min_conn_interval_us=None , max_conn_interval_us=None )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
addr_type 枚舉型 0x00 - 公共地址;0x01 - 隨機地址
addr string 要連接的設備地址
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外圍設備

  • 函數(shù)功能:
    斷開指定連接句柄的BLE連接??梢允菑闹醒朐O備發(fā)起,也可是由外圍設備發(fā)起。

  • 注意事項:
    成功后,將觸發(fā)_IRQ_PERIPHERAL_DISCONNECT 或者 _IRQ_CENTRAL_DISCONNECT事件

  • 函數(shù)原型:

BLE.gap_disconnect(conn_handle)

  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
  • 返回值:
    False: 該連接句柄未連接;
    True: 表示調用成功;

  • 示例:

import bluetooth
ble = bluetooth.BLE()
...
ble.gap_disconnect(handle)

gatts_register_services - 注冊GATT服務

一個 GATT 服務器有一組注冊服務。每個服務可能包含一個或多個特性,每個特性都有一個值。特征還可以包含描述符,描述符本身也具有值。 這些值存儲在本地,并由服務注冊期間生成的“值句柄”訪問。它們也可以從遠程客戶端設備讀取或寫入。此外,服務器可以通過連接句柄主動向連接的客戶端“通知”特征。 在大多數(shù)情況下,外圍設備充當GATT 服務器。

  • 函數(shù)功能: 使用指定的服務配置服務器
  • 注意事項: 在注冊服務之前必須停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)
  • 函數(shù)原型:BLE.gatts_register_services( services_definition )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
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 - 讀取本地值

  • 函數(shù)功能: 讀取本地GATT服務中的特征值
  • 注意事項: 這個值可能是通過本地gatts_write寫入的,也可能是通過遠程客戶端寫入的。
  • 函數(shù)原型:BLE.gatts_read(value_handle)
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
value_handle 整型 值句柄
  • 返回值: 無
  • 示例: 無

gatts_write - 寫入本地值

  • 函數(shù)功能: 寫入本地GATT服務中的特征值
  • 注意事項: 寫入后,客戶端可以讀取該值。
  • 函數(shù)原型:BLE.gatts_write( value_handle , data , send_update=False )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
value_handle 整型 值句柄
data string 寫入數(shù)據
send_update 布爾型 為True時,任何訂閱此值的此客戶端都將收到該特征值寫入的通知
  • 返回值: 無
  • 示例: 無

gatts_notify - 發(fā)送通知請求

  • 函數(shù)功能: 向連接的客戶端發(fā)送通知請求
  • 注意事項: 無論客戶端是否訂閱了此特征值,都會發(fā)送通知。
  • 函數(shù)原型:BLE.gatts_notify( conn_handle , value_handle , data=None )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
value_handle 整型 值句柄
data string 如果data不為None,則將該值發(fā)送給客戶端,本地值不會被修改。如果data為None,則將發(fā)送當前本地值給客戶端
  • 返回值: 無
  • 示例: 無

gatts_indicate - 發(fā)送指示請求

  • 函數(shù)功能: 向連接的客戶端發(fā)送指示請求
  • 注意事項: 無論客戶端是否訂閱了此特征值,都會發(fā)送通知。 在確認(或失敗,如超時)時,將觸發(fā)_IRQ_GATTS_INDICATE_DONE 事件
  • 函數(shù)原型:BLE.gatts_indicate( conn_handle , value_handle )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
value_handle 整型 值句柄
  • 返回值: 無
  • 示例: 無

gatts_set_buffer - 設置緩沖區(qū)

  • 函數(shù)功能: 設置值的內部緩沖區(qū)大?。ㄅcByte為單位),默認值是20.
  • 注意事項: 無
  • 函數(shù)原型:BLE.gatts_set_buffer ( value_handle , len , append = False)
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
value_handle 整型 值句柄
len 整型 緩沖區(qū)大小
append 布爾值 為True時,將使所有遠程寫入追加到當前值,而不是覆蓋當前值,執(zhí)行gatts_read讀取值后該值清零
  • 返回值: 無
  • 示例: 無

gattc_discover_services - 查詢服務

GATT 客戶端(Client)可發(fā)現(xiàn)和讀取/寫入遠程GATT服務上的特征。 一般情況下,Central 角色充當GATT 客戶端。文章來源地址http://www.zghlxwxcb.cn/news/detail-808185.html

  • 函數(shù)功能: 查詢已連接GATT服務器的服務
  • 注意事項: 每發(fā)現(xiàn)一個服務,都將觸發(fā) _IRQ_GATTC_SERVICE_RESULT 事件,服務操作完畢后,將觸發(fā)_IRQ_GATTC_SERVICE_DONE 事件。
  • 函數(shù)原型:BLE.gattc_discover_services( conn_handle , uuid=None )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
uuid string 指定服務的uuid, 當uuid不為None時,僅查詢該服務
  • 返回值: 無
  • 示例: 無

gattc_discover_characteristics - 查詢特征

  • 函數(shù)功能: 查詢連接的服務器以獲取指定范圍內的特征
  • 注意事項: 每發(fā)現(xiàn)一個特征,都將觸發(fā) _IRQ_GATTC_CHARACTERISTIC_RESULT 事件,發(fā)現(xiàn)特征操作完畢后,將觸發(fā) _IRQ_GATTC_CHARACTERISTIC_DONE 事件。
  • 函數(shù)原型:BLE.gattc_discover_characteristics( conn_handle , start_handle , end_handle , uuid=None )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
start_handle 整型 起始的特征句柄
end_handle 整型 結束的特征句柄
uuid string 指定特征的uuid, 當uuid不為None時,僅查詢該特征
  • 返回值: 無
  • 示例: 無

gattc_discover_descriptors - 查詢描述符

  • 函數(shù)功能: 向連接的服務器查詢指定范圍內的描述符
  • 注意事項: 每發(fā)現(xiàn)一個描述符,都將觸發(fā) _IRQ_GATTC_DESCRIPTOR_RESULT 事件,發(fā)現(xiàn)描述符操作結束后,將觸發(fā) _IRQ_GATTC_DESCRIPTOR_DONE 事件。
  • 函數(shù)原型:BLE.gattc_discover_descriptors( conn_handle , start_handle , end_handle )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
start_handle 整型 起始的特征句柄
end_handle 整型 結束的特征句柄
  • 返回值: 無
  • 示例: 無

gattc_read - GATT遠程讀操作

  • 函數(shù)功能: 向連接的服務器發(fā)出遠程讀取
  • 注意事項: 當值可用時,將觸發(fā) _IRQ_GATTC_READ_RESULT 事件,里面帶有讀取的結果。此外,讀取完畢將觸發(fā)_IRQ_GATTC_READ_DONE 事件。
  • 函數(shù)原型:BLE.gattc_read( conn_handle , value_handle )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
value_handle 整型 要讀取的特征的句柄
  • 返回值: 無
  • 示例: 無

gattc_write - GATT遠程寫操作

  • 函數(shù)功能: 向連接的服務器發(fā)出遠程寫
  • 注意事項: 如果收到來自遠程服務器的響應,將觸發(fā) _IRQ_GATTC_WRITE_DONE 事件。
  • 函數(shù)原型:BLE.gattc_write( conn_handle , value_handle , data , mode=0 )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
value_handle 整型 要寫的特征的句柄
mode 整型 mode=0(默認值),是無響應寫入,對方不返回確認,也不會觸發(fā)任何事件; mode=1是 write-with-response,遠程服務器發(fā)送它收到數(shù)據的響應/確認
  • 返回值: 無
  • 示例: 無

gattc_exchange_mtu - 交換MTU

  • 函數(shù)功能: 觸發(fā)MTU交換流程,使用之前config的MTU值。
  • 注意事項: 當MTU交換完成后,將觸發(fā) _IRQ_MTU_EXCHANGED 事件。 MTU交換通常由Central 角色設備發(fā)起。有些底層協(xié)議棧不支持MTU交換功能。
  • 函數(shù)原型:BLE.gattc_exchange_mtu( conn_handle )
  • 參數(shù)說明:
參數(shù) 類型 必選參數(shù)? 說明
conn_handle 整型 連接句柄
  • 返回值: 無
  • 示例: 無

bluetooth.UUID

  • 類功能: 創(chuàng)建具有指定值的UUID實例。
  • 注意事項: UUID可以是一個16位整數(shù),例如 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)

到了這里,關于物聯(lián)網AI MicroPython學習之語法 bluetooth藍牙的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 物聯(lián)網AI MicroPython傳感器學習 之 BMP280氣壓傳感器

    物聯(lián)網AI MicroPython傳感器學習 之 BMP280氣壓傳感器

    學物聯(lián)網,來萬物簡單IoT物聯(lián)網?。?BMP280是博世出品的氣壓傳感器,它集成了壓電壓力傳感單元、信號處理電路及模數(shù)轉換器,氣壓值可以通過SPI或I2C讀出,在室內導航、無人機、氣象站等場景有廣泛應用。 本文檔使用I2C通信接口作為本教學文檔輸出。 引腳定義 VCC: 3.3V GND:

    2024年04月12日
    瀏覽(42)
  • 物聯(lián)網AI MicroPython傳感器學習 之 MLX90614紅外測溫傳感器

    物聯(lián)網AI MicroPython傳感器學習 之 MLX90614紅外測溫傳感器

    學物聯(lián)網,來萬物簡單IoT物聯(lián)網??! MLX90614是一款由邁來芯公司提供的低成本紅外溫度計,用于非接觸式溫度測量,紅外測溫是根據被測物體的紅外輻射能量來確定物體的溫度,不與被測物體接觸,具有不影響被測物體溫度分布場,溫度分辨率高、響應速度快、測溫范圍廣、不

    2024年03月20日
    瀏覽(33)
  • 物聯(lián)網AI MicroPython傳感器學習 之 mpu6050六軸陀螺儀傳感器

    物聯(lián)網AI MicroPython傳感器學習 之 mpu6050六軸陀螺儀傳感器

    學物聯(lián)網,來萬物簡單IoT物聯(lián)網!! MPU6050是一款6軸運動傳感器,它集成了3 軸MEMS 陀螺儀,3 軸MEMS加速度計,以及一個可擴展的數(shù)字運動處理器DMP(Digital Motion Processor),可用I2C接口連接一個第三方的數(shù)字傳感器,比如磁力計。擴展之后就可以通過其I2C 或SPI 接口輸出一個

    2024年04月17日
    瀏覽(25)
  • 物聯(lián)網AI MicroPython傳感器學習 之 ADXL345 3軸加速度傳感器

    物聯(lián)網AI MicroPython傳感器學習 之 ADXL345 3軸加速度傳感器

    學物聯(lián)網,來萬物簡單IoT物聯(lián)網??! ADXL345是一款完整的3軸加速度測量系統(tǒng),可選擇的測量范圍有士2g,士4g,士8g或士16g。它既能測量運動或沖擊導致的動態(tài)加速度,也能測量靜止加速度,例如重力加速度,這樣的特性讓它可作為傾斜傳感器使用。該傳感器還具備單擊 /雙擊

    2024年03月26日
    瀏覽(23)
  • MicroPython開發(fā)ESP32入門筆記 -- 藍牙篇

    MicroPython開發(fā)ESP32入門筆記 -- 藍牙篇

    博主之前學習了用C語言去開發(fā)了51單片機,雖然沒有將各種外設和傳感器都玩遍,但博主基本將一些重要的外設和傳感器通過原理學習加小項目實驗的方式比較深入地玩了一下。眾所周知,51單片機是相對底層的,用來開發(fā)一些大項目的效率會比較低,所以我們很有必要學習

    2023年04月19日
    瀏覽(23)
  • MicroPython物聯(lián)網開發(fā)入門1歡迎上賊船ESP8266

    MicroPython物聯(lián)網開發(fā)入門1歡迎上賊船ESP8266

    這是一個針對Python初學者的教程,他們想學習對設備進行編程,以便與物理世界互動。你將學習如何使用MicroPython編程,MicroPython是專為在微控制器上運行的Python版本。你將學習如何編寫的應用程序將從傳感器讀取數(shù)據,在小屏幕上顯示信息,對按鈕作出反應,并從互聯(lián)網上傳

    2024年02月12日
    瀏覽(24)
  • 【雕爺學編程】MicroPython動手做(32)——物聯(lián)網之MQTT

    【雕爺學編程】MicroPython動手做(32)——物聯(lián)網之MQTT

    MQTT (Message Queuing Telemetry Transport)消息隊列遙測傳輸協(xié)議,是一種基于發(fā)布/訂閱(publish/subscribe)模式的\\\"輕量級\\\"通訊協(xié)議,該協(xié)議構建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大優(yōu)點在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。作為一

    2024年02月14日
    瀏覽(18)
  • 【雕爺學編程】MicroPython動手做(30)——物聯(lián)網之Blynk

    【雕爺學編程】MicroPython動手做(30)——物聯(lián)網之Blynk

    知識點:什么是掌控板? 掌控板是一塊普及STEAM創(chuàng)客教育、人工智能教育、機器人編程教育的開源智能硬件。它集成ESP-32高性能雙核芯片,支持WiFi和藍牙雙模通信,可作為物聯(lián)網節(jié)點,實現(xiàn)物聯(lián)網應用。同時掌控板上集成了OLED顯示屏、RGB燈、加速度計、麥克風、光線傳感器

    2024年02月14日
    瀏覽(18)
  • 【雕爺學編程】MicroPython動手做(33)——物聯(lián)網之天氣預報

    【雕爺學編程】MicroPython動手做(33)——物聯(lián)網之天氣預報

    天氣(自然現(xiàn)象) 是指某一個地區(qū)距離地表較近的大氣層在短時間內的具體狀態(tài)。而天氣現(xiàn)象則是指發(fā)生在大氣中的各種自然現(xiàn)象,即某瞬時內大氣中各種氣象要素(如氣溫、氣壓、濕度、風、云、霧、雨、閃、雪、霜、雷、雹、霾等)空間分布的綜合表現(xiàn)。 天氣過程就是

    2024年02月14日
    瀏覽(22)
  • 【雕爺學編程】MicroPython動手做(28)——物聯(lián)網之Yeelight 2

    【雕爺學編程】MicroPython動手做(28)——物聯(lián)網之Yeelight 2

    知識點:什么是掌控板? 掌控板是一塊普及STEAM創(chuàng)客教育、人工智能教育、機器人編程教育的開源智能硬件。它集成ESP-32高性能雙核芯片,支持WiFi和藍牙雙模通信,可作為物聯(lián)網節(jié)點,實現(xiàn)物聯(lián)網應用。同時掌控板上集成了OLED顯示屏、RGB燈、加速度計、麥克風、光線傳感器

    2024年02月14日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包