国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EsDA應用】藍牙服務端節點詳解

ZLG致遠電子 ? 2023-05-31 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

藍牙作為一種近距離無線通信技術,被廣泛使用在汽車,智能家居和醫療等領域中。本文主要介紹如何通過EsDA開發套件,快速實現藍牙服務器的相關應用業務。

f7c8ecd0-fa92-11ed-ba01-dac502259ad0.jpg 簡介

前面文章講解了ble_client的相關節點和業務處理,有興趣的可以跳轉鏈接【EsDA應用】藍牙客戶端節點詳解去查看。

本文主要基于MPC_ZC1開發板以及可將節點進行拖拽連接的圖形化設計工具AWFlow Designer,著重對UIS8910DM平臺的板載藍牙的配套節點以及示例進行講解。本文除了對ble_server設備端節點進行詳細闡述還有以MPC_ZC1開發板做藍牙服務器的相關應用業務介紹如:定義支持的服務,發布服務器以便遠程客戶端可連接,響應讀取和寫入請求等。

f7c8ecd0-fa92-11ed-ba01-dac502259ad0.jpg 節點介紹

因藍牙服務端節點中的屬性數量過多,所以本節只介紹幾個重點屬性,其他的屬性內容詳見AWFlow Designer上相關節點的幫助文檔。

1. 配置節點1.1 ble_server創建BLE服務端設備,保存用戶傳入的廣播配置。1.1.1 屬性

  • 發現模式:值為0表示不可發現模式;值為1表示有限可發現模式;值為2表示普通可發現模式。
  • 廣播類型:值為0表示可連接的非定向廣播;值為1表示可連接的定向廣播;值為2表示不可連接的非定向廣播;值為3表示可掃描的非定向廣播。
  • 廣播信道:廣播通道映射在37、38、39通道通信。值為0時表示通道37被使用,值為1時表示通道38被使用,值為2時表示通道39被使用。

廣播的過濾策略:

值為0時表示處理所有設備的掃描和連接請求;

值為1時表示處理所有設備的連接請求和只有白名單上的設備的掃描請求;

值為2時表示處理所有設備的掃描請求和只有白名單上的設備的連接請求;

值為3時表示只處理在白名單上的設備的掃描和連接請求。

SMP配對模式的參數:

smp_pair_mode

io_cap

安全等級

SECURE_CONNECTION_PASSKEY

KEYBOARD_DISP

最高

SECURE_CONNECTION_JUSTWORK

NOIN_NOOUT

次之

LEGACY_PASSKEY

KEYBOARD_DISP

第三

LEGACY_JUSTWORK

NOIN_NOOUT

最低

  • 支持的服務個數:支持提供的服務個數,需要與流圖中添加的服務數量一致。* 配置節點無輸入輸出。

2. 服務端節點2.1 ble_server_service2.1.1 屬性

  • BLE服務端配置節點:關聯到的BLE服務端配置節點。
  • 服務UUID:支持提供服務的UUID。支持2個字節或16個字節,按照小端模式依次用逗號隔開。
  • 支持服務的特征相關屬性:

特征值的格式

特征聲明的性質

特征值的權限

短UUID

廣播屬性

可讀

修補長度

讀屬性

可寫

寫通知

不帶回復的寫屬性

讀取認證

帶回復的寫屬性

讀取授權

沖突通知

通知屬性

讀取加密

追加寫

指示屬性

讀取認證文件

簽名認證的寫屬性

寫認證

擴展屬性

寫授權

寫加密

寫認證文件

只允許經典藍牙訪問

2.1.2 輸入

payload:輸入數據。傳入特征值數據,可以使用“fscript”節點作為前級節點,設置需要寫入的數據。

payloadLength:輸入數據。傳入特征值數據的長度,可以使用“fscript”節點作為前級節點,設置需要寫入的數據長度,最大不超過255。

2.1.3 輸出本節點無實質性數據輸出,其消費者節點一般是ble_server_adv節點。2.2 ble_server_adv

2.2.1 屬性

BLE服務端配置節點:關聯到的BLE服務端配置節點。

  • 藍牙本地設備名稱:藍牙服務端本地設備的名稱,代碼里自動將此參數加入到廣播數據包的類型為09的小數據包中。

廣播數據包最長31個字節,而這31個字節又被拆分成很多小數據包,每個小數據包代表一類廣播數據。

每個小數據包是由:length(數據長度)+type(類型)+data(數據內容)構成的。

需要廣播的每個小數據包的數據長度:表示需要廣播的每個小數據包的數據長度(數據內容的字節長度+1)。因為格式是csv,所以多個數據包的數據長度按順序用逗號來隔開。

需要廣播的每個小數據包的數據類型:表示需要廣播的每個小數據包的數據長度(數據內容的字節長度+1)。多個數據包的數據類型按順序用逗號來隔開。

掃描響應的每個小數據包的數據內容:表示掃描響應的每個小數據包的數據內容。多個數據包的數據內容按順序用逗號來隔開。

掃描響應的每個小數據包的數據類型:表示掃描響應的每個小數據包的數據類型,多個數據包的數據類型按順序用逗號來隔開。具體的廣播數據包類型詳細信息可在網上進行查閱。

數據類型為09表示本地設備名稱即屬性藍牙本地設備名稱,現已被后續代碼自動處理加入到了廣播數據包中。計算長度時需注意,如若廣播數據包超過最長31個字節的內容,則截斷。

掃描響應的每個小數據包的數據內容:表示掃描響應的每個小數據包的數據內容。多個數據包的數據內容按順序用逗號來隔開。

如:需要廣播的每個小數據包的數據長度為0x02;需要廣播的每個小數據包的數據類型為:0x01;需要廣播的每個小數據包的數據內容為:0x06。那么算上藍牙本地設備名稱:(BLE-ZC1)0x42,0x4c,0x45,0x2d,0x5a,0x43,0x31,

那么最終的廣播數據包為0x08(數據長度),0x09(數據類型),

0x42,0x4c,0x45,0x2d,0x5a,0x43,0x31(數據內容BLE-ZC1),

0x02(數據長度),0x01(數據類型),

0x06(數據內容),

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

2.2.2 輸入

ble_server_adv節點的輸入并無實際意義的輸入,由ble_server_service節點作為前級節點,進入當前節點的on_data虛函數中開啟廣播。

  • * sink類型節點無輸出功能

f7c8ecd0-fa92-11ed-ba01-dac502259ad0.jpg ?業務處理

定義支持的服務:由ble_server_service節點添加服務UUID和特征值UUID以及特征值數據;發布服務器,以便遠程客戶端可連接:由ble_server_adv節點開啟廣播(在一個運行程序中不能多次開啟廣播)后服務端藍牙準備完成,開始等待客戶端藍牙設備連接;以及后續的響應讀取和寫入請求。實現框圖如下所示。

f80dbc5c-fa92-11ed-ba01-dac502259ad0.png

1. 資源準備

硬件上依舊如【EsDA應用】藍牙客戶端節點詳解使用MPC_ZC1開發板作為服務器去廣播數據,軟件上使用可拖拽連線的圖形化設計工具AWFlow Designer去設計流圖以及手機app(BLE調試寶)作為客戶端進行藍牙通信。f83ec0cc-fa92-11ed-ba01-dac502259ad0.png

2. 添加節點并繪制流圖

添加timer,gpio,trigger,fscript,ble_server_service和ble_server_adv節點到畫布中,如下圖所示。

f873d938-fa92-11ed-ba01-dac502259ad0.png3. 配置節點

添加多個藍牙服務端的服務和特征值數據,并開啟藍牙廣播。需注意的是本藍牙模塊在程序運行時不能重復多次開啟藍牙廣播,否則會打開藍牙失敗。

雙擊gpio節點的前驅timer節點,打開屬性面板設置定時周期(ms),定時去讀取gpio的引腳電平狀態。修改完后點擊右上角的完成即可保存屬性配置。

f88a2f30-fa92-11ed-ba01-dac502259ad0.png

雙擊gpio節點,配置屬性如下圖所示,根據需求選擇所需的gpio引腳,本章節使用的是P4.5,并設置為浮空輸入,用戶可根據自身需求設置該gpio引腳號。修改完后點擊右上角的完成即可保存屬性配置。

f8a03d8e-fa92-11ed-ba01-dac502259ad0.png

雙擊gpio的后繼節點fscript,功能代碼內容的主要目的是讓后續的trigger節點只能被觸發一次,因P4.5的引腳默認是低電平,且trigger節點被觸發只能收到msg.trigger_stop屬性消息,所以具體代碼如下。

if (msg.payload == 1) { msg.trigger_stop = "reset";}

雙擊trigger節點,本節點主要目的是只一次觸發多個后繼節點,所以在此選擇等待被重置模式(Wait_to_be_reset_mode)在trigger被觸發前,不傳遞任何的消息給后繼節點。修改完后點擊右上角的完成即可保存屬性配置。

f8d1397a-fa92-11ed-ba01-dac502259ad0.png

雙擊第一欄的fscript節點,本節點作為ble_server_service節點的前驅節點,所以具體內容即ble_server_service的輸入組:payload(傳入的特征值數據),payloadLength(傳入的特征值數據的長度)。修改完后點擊右上角的完成即可保存屬性配置。

msg.payload = "hello";set(msg.payloadLength, u16("5"));

雙擊第一欄的ble_server_service節點中的屬性:BLE服務端配置節點旁的鉛筆圖標,屬性:BLE服務端配置節點在本流圖中只需要配置一遍即可,后續不再闡述。需注意的是支持的服務個數的屬性值必須與本流圖中所添加的服務個數數量一致,其他屬性參數可用demo流圖默認值。修改完后點擊右上角的完成即可保存屬性配置。f8fb0296-fa92-11ed-ba01-dac502259ad0.png

雙擊第一欄的ble_server_service節點,只需要確定需要添加的服務UUID和特征值UUID,其他參數視具體情況而定,也可使用默認的參數值。修改完后點擊右上角的完成即可保存屬性配置。

f92a4c36-fa92-11ed-ba01-dac502259ad0.png

雙擊第二欄的fscript節點,其內容與第一欄的fscript節點大體一致,都是作為ble_server_service節點的前驅節點,所以具體內容即ble_server_service的輸入組:payload(傳入的特征值數據),payloadLength(傳入的特征值數據的長度)。修改完后點擊右上角的完成即可保存屬性配置。

msg.payload = "server";set(msg.payloadLength, u16("6"));

雙擊第二欄的ble_server_service節點,其屬性與第一欄的ble_server_service節點大體一致,需要添加的服務UUID和特征值UUID不同,其他參數視具體情況而定,也可使用默認的參數值。

服務UUID:

0xf5,0x89,0x9b,0x5f,0x80,0x00,0x00,0x80,0x00,0x10,0x00,0x00,0xfe,0x18,0x00,0x00

特征值UUID:

0xf5,0x89,0x9b,0x5f,0x80,0x00,0x00,0x80,0x00,0x10,0x00,0x00,0xfe,0xff,0x11,0x11

最后雙擊ble_server_adv節點,自行設置藍牙本地設備名稱,以及需要廣播的每個小數據包的數據長度,類型,內容和掃描的每個小數據包的數據長度,類型,內容。修改完后點擊右上角的完成即可保存屬性配置。

f9512306-fa92-11ed-ba01-dac502259ad0.png

4. 下載驗證

下載流圖后可在BLE調試寶點擊藍牙服務選項對流圖提供的service進行訪問,點擊每個service的左側箭頭,展開對各個service提供的特征進行查看,還可對支持操作的特性進行讀寫。

f96a88aa-fa92-11ed-ba01-dac502259ad0.png

每次操作都會有相應的日志信息,注意各服務UUID的聯系,實時日志如下所示。

f992ea66-fa92-11ed-ba01-dac502259ad0.png

BLE調試寶向特征值UUID為0x1111fffe寫入12 34 56,作為服務端板子的串口打印可顯示收到的相應數據如下。

f9dacff2-fa92-11ed-ba01-dac502259ad0.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 藍牙
    +關注

    關注

    119

    文章

    6313

    瀏覽量

    178692
  • 節點
    +關注

    關注

    0

    文章

    229

    瀏覽量

    25566
  • 終端節點
    +關注

    關注

    0

    文章

    9

    瀏覽量

    2015
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    汽車網絡ESD防護利器:ESD772詳解

    汽車網絡ESD防護利器:ESD772詳解 在汽車電子設備中,靜電放電(ESD)等瞬態事件可能對敏感電子元件造成損壞,影響系統的可靠性和安全性。因此,選擇合適的
    的頭像 發表于 02-25 09:15 ?265次閱讀

    OPC UA 服務端用戶認證的底層邏輯:哈希與加鹽應用詳解

    摘要在基于UnifiedAutomationSDK開發OPCUA服務端時,用戶認證(UserAuthentication)是安全體系的第一道防線。除了傳輸層的加密通道外,服務端如何安全地存儲和驗證
    的頭像 發表于 01-15 17:29 ?143次閱讀
    OPC UA <b class='flag-5'>服務端</b>用戶認證的底層邏輯:哈希與加鹽應用<b class='flag-5'>詳解</b>

    20個常用服務端口及對應服務信息

    (1) 端口號:21 服務名稱:FTP 服務描述:文件傳輸協議,用于在客戶端和服務器之間傳輸文件。 (2) 端口號:22 服務名稱::SSH 服務
    發表于 12-03 06:07

    13保護器件ESD的VB VC IR IPP代表什么意思

    ESD
    上海雷卯電子
    發布于 :2025年10月26日 11:45:43

    ESDA5WY車規級單向ESD保護器件技術解析與應用指南

    STMicroelectronics ESDA5WY車用雙路單向ESD保護是一款車用單向瞬態電壓抑制器 (TVS),設計用于惡劣環境。TVS可保護敏感電子產品免受因電氣過應力 (EOS)、雷電浪涌和ESD造成的損壞或閂鎖,而不會
    的頭像 發表于 10-17 18:27 ?1103次閱讀
    <b class='flag-5'>ESDA</b>5WY車規級單向<b class='flag-5'>ESD</b>保護器件技術解析與應用指南

    智能音箱藍牙與WiFi模塊的ESD防護方案

    在智能音箱的日常使用中,高度依賴無線連接功能,其中WiFi與藍牙模塊是其實現遠程操控、語音交互及多設備聯動的基礎。而這類高頻通信模塊對靜電放電(ESD)極為敏感,ESD可能直接導致無線模塊失效,引發連接中斷、數據傳輸出錯等問題。
    的頭像 發表于 09-24 14:55 ?4985次閱讀
    智能音箱<b class='flag-5'>藍牙</b>與WiFi模塊的<b class='flag-5'>ESD</b>防護方案

    藍牙 v5.4 概述 (PAwR, EAD, ESL, LE Gatt)

    基于標準的 ESL 和其他應用方法 藍牙 v5.4 的兩項主要改進是帶響應的周期性廣播(PAwR)和加密廣播數據。它們共同實現了在星型拓撲結構中與數千個功耗極低的終端節點進行無連接、雙向、安全通信
    發表于 08-31 21:25

    多達 48 個計算節點!Firefly 推出 CSC2-N48 AI 算力服務

    Firefly最新推出CSC2-N48算力服務器,內置48個分布式計算節點,單節點可提供6TOPS-157TOPS算力,可選瑞芯微、算能、NVIDIA等芯片平臺,具有強大的AI運算能力,能實時處理
    的頭像 發表于 08-20 16:37 ?1599次閱讀
    多達 48 個計算<b class='flag-5'>節點</b>!Firefly 推出 CSC2-N48 AI 算力<b class='flag-5'>服務</b>器

    藍牙無線通訊-藍牙5.4概述

    藍牙5.4 是藍牙技術聯盟( Bluetooth SIG )于2023年發布的藍牙核心規范版本,主要針對物聯網設備優化通信能力、安全性和效率,支持與數千個低功耗終端節點進行雙向通信.
    發表于 07-31 15:58

    藍牙信標的幾種硬件方案

    一、藍牙轉發方案 硬件:藍牙信標、藍牙轉發卡、藍牙網關 以藍牙信標為錨節點
    的頭像 發表于 07-31 10:43 ?530次閱讀

    新一代PLC控制軟件平臺EsDA-AWStudio

    在工業自動化和智能制造領域,高效的軟件平臺是提升開發效率和系統性能的關鍵。ZLG致遠電子推出的EsDA-AWStudio平臺,憑借其強大的功能和靈活的設計,為工業控制和物聯網應用提供了全新的解決方案
    的頭像 發表于 07-28 11:33 ?511次閱讀
    新一代PLC控制軟件平臺<b class='flag-5'>EsDA</b>-AWStudio

    什么是藍牙BLE5.4

    優勢,重點是增強了通信能力、安全性和效率。這些改進尤其適用于涉及大量設備的應用,如零售、資產跟蹤和智慧家居環境。 主要優勢包括: 與數千個終端節點進行雙向通信 帶響應的周期性廣播 (PAwR) 加密廣播
    發表于 07-21 14:56

    labview opc ua 讀取客戶端數據

    請教各位大神,在電腦上,用自帶OPC讀取OPCUA服務端數據是OK的,但是自己寫程序讀取就讀不到,報錯了,請教一下,節點路徑怎么寫,非常感謝
    發表于 06-02 12:01

    Nginx緩存配置詳解

    Nginx 是一個功能強大的 Web 服務器和反向代理服務器,它可以用于實現靜態內容的緩存,緩存可以分為客戶端緩存和服務端緩存。
    的頭像 發表于 05-07 14:03 ?1247次閱讀
    Nginx緩存配置<b class='flag-5'>詳解</b>

    100個節點測試藍牙Mesh?來看看效果

    100個節點測試藍牙Mesh? 看看效果如何? 本次測試使用了安信可的泰凌TB系列模組 主要的測試的點在于配網的大致速度 丟包率以及最長響應時間 01藍牙Mesh簡介 藍牙Mesh是一
    的頭像 發表于 04-09 13:58 ?1305次閱讀
    100個<b class='flag-5'>節點</b>測試<b class='flag-5'>藍牙</b>Mesh?來看看效果