0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

富芮坤主從一體多鏈接通信協(xié)議解析

FREQCHIP 富芮坤 ? 來(lái)源:FREQCHIP 富芮坤 ? 2024-10-22 10:34 ? 次閱讀

在先前我們已經(jīng)介紹了富芮坤主從一體多鏈接的概念,現(xiàn)在,我們將深入解析其技術(shù)文檔,為大家提供更詳盡的說(shuō)明。

網(wǎng)絡(luò)拓?fù)?/strong>

目前支持連接最多層數(shù)為5級(jí),每個(gè)節(jié)點(diǎn)下面最多可連接16個(gè)子設(shè)備。具體級(jí)數(shù)和子設(shè)備個(gè)數(shù)可以在入網(wǎng)前可以通過(guò)不同的應(yīng)用場(chǎng)景進(jìn)行配置。

此組網(wǎng)一般使用場(chǎng)景為一個(gè)網(wǎng)絡(luò)內(nèi)有高于20個(gè)數(shù)量的設(shè)備需要統(tǒng)一管理,比如跳繩類應(yīng)用,一個(gè)班級(jí)組網(wǎng)設(shè)備數(shù)量有60個(gè)左右。

當(dāng)小于等于20個(gè)設(shè)備時(shí),建議可以直接使用我們的一拖多功能,可以直接實(shí)現(xiàn)一拖20個(gè)設(shè)備。

6b5c4432-8f8c-11ef-a511-92fbcf53809c.png

通信協(xié)議

2.1手機(jī)(控制端C)下發(fā)指令到設(shè)備

手機(jī)端下發(fā)指令給設(shè)備端共有3個(gè)指令,0xE1,0xE3,0xE4指令,下方會(huì)詳解。

手機(jī)通過(guò)UUID為FFF1的特征將數(shù)據(jù)下發(fā)到設(shè)備。

2.1.1、0xE1指令:發(fā)送數(shù)據(jù)給對(duì)應(yīng)節(jié)點(diǎn)

l 指令包格式說(shuō)明

Type(1byte Node id(2byte) Data(n byte)
E1 03 00 12 FA 9C

代表手機(jī)端需要發(fā)送0x12FA9C這3個(gè)字節(jié)數(shù)據(jù)給node id為0x0003的設(shè)備

l 發(fā)送查詢路由表信息指令

Type(1byte) Node id(2byte) Data(2 byte)
E1 FFFF 0000

此指令為固定指令,代表手機(jī)向root節(jié)點(diǎn)(root的node id固定為0xFFFF)請(qǐng)求路由表信息??蛻魬?yīng)用層數(shù)據(jù)需要避開(kāi)data數(shù)據(jù)為0x0000。

請(qǐng)求的路由表信息會(huì)通過(guò)E2指令返回給手機(jī),詳解見(jiàn)下方

2.1.2、0xE3指令:配置節(jié)點(diǎn)信息(debug調(diào)試使用,正常應(yīng)用場(chǎng)景請(qǐng)不要使用)

0xE3指令只針對(duì)手機(jī)連接的那個(gè)節(jié)點(diǎn)

l 通過(guò)log打印節(jié)點(diǎn)信息

Type(1byte) Data(1 byte)
E3 C0

控制端連接根節(jié)點(diǎn)(MULTI CON_FFFF),發(fā)送指令E3C0,可以在根節(jié)點(diǎn)log中打印拓?fù)湫畔?/p>

NodeCon[ 1]: <-> layer:2 slave_id: 0

NodeCon[ 2]: <-> layer:3 slave_id: 0

NodeCon[ 3]: <-> layer:3 slave_id: 100

節(jié)點(diǎn)0x0001處于第2層,第0個(gè)節(jié)點(diǎn)

節(jié)點(diǎn)0x0002處于第3層,節(jié)點(diǎn)0x0001的子節(jié)點(diǎn)中的第0個(gè)節(jié)點(diǎn)

節(jié)點(diǎn)0x0003處于第3層,節(jié)點(diǎn)0x0001的子節(jié)點(diǎn)中的第1個(gè)節(jié)點(diǎn)

6b825122-8f8c-11ef-a511-92fbcf53809c.jpg

l 重置節(jié)點(diǎn)node id

Type(1byte) Data(1 byte)
E3 C1

2.1.3、0xE4指令:群發(fā)指令。所有節(jié)點(diǎn)都可以收到此數(shù)據(jù)

Type(1byte) Data(n byte)
E4 12 FA 9C

所有設(shè)備都會(huì)收到手機(jī)端下發(fā)的3個(gè)字節(jié)數(shù)據(jù)0x12FA9C

2.2、手機(jī)(控制端C)收到設(shè)備發(fā)來(lái)的指令

設(shè)備通過(guò)UUID為FFF4的特征將數(shù)據(jù)上報(bào)給手機(jī)。

設(shè)備發(fā)送給手機(jī)的指令格式如下,其中cmd取值為0xF1,0xF4,0xF5,0xF6

Type(1byte) Node id(2byte) Cmd(1byte) Data(n byte)

2.2.1、設(shè)備上線狀態(tài)上報(bào)

Type(1byte) Node id(2byte) Cmd(1byte) Data(2 byte)
E2 FF FF F1 03 00

代表node id為0x0003的設(shè)備組網(wǎng)上線成功

2.2.2、設(shè)備下線狀態(tài)上報(bào)

Type(1byte) Node id(2byte) Cmd(1byte) Data(2 byte)
E2 FF FF F4 03 00

代表node id為0x0003的設(shè)備從網(wǎng)絡(luò)內(nèi)掉線

2.2.3、手機(jī)請(qǐng)求的路由表信息上報(bào)

Type(1byte) Node id(2byte) Cmd(1byte) Data(n byte)
E2 FFFF F5 Route_table_info

Data(Route_table_info):

Num:節(jié)點(diǎn)個(gè)數(shù) Index:分包標(biāo)識(shí) Node_ID1 Layer LayerID 循環(huán)(Node_ID--Layer--LayerID)
(1bytes) (1bytes) (2bytes) (1byte) (4bytes) 。。。。。。


LayerID:

[0] [1] [2] [3]
Layer2_ID Layer3_ID Layer4_ID Layer5_ID

注意:

如果需要分包的話,index從1(第一包)開(kāi)始,0xFF結(jié)尾(最后一包)。如一共三包,index分別為0x01,0x02,0xFF

指令示例:

Tx:E1 FF FF 00 00

Rx:E2 FF FF F5 03 FF 01 00 03 01 00 00 00 02 00 02 01 00 00 00 03 00 02 00 00 00 00

03 :本包傳輸了3個(gè)節(jié)點(diǎn)的信息,分別是0x0001 0x0002 0x0003

FF :路由表數(shù)據(jù)只有一包

0x0001:處于第03層,第3層序號(hào)是00, 父節(jié)點(diǎn)是第二層序號(hào)為01的節(jié)點(diǎn),即 0x0002

0x0002:處于第02層,第2層序號(hào)為01

0x0003:處于第02層, 第2層序號(hào)為00

按照數(shù)據(jù)恢復(fù)出網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如下圖:

6b944df0-8f8c-11ef-a511-92fbcf53809c.jpg

2.3、代碼介紹

l 獲取多連接組網(wǎng)的SDK

l 打開(kāi)工程,可以到ble_multi_link.h頭文件進(jìn)行一些參數(shù)的配置

比如網(wǎng)絡(luò)層級(jí),每個(gè)節(jié)點(diǎn)最大連接數(shù)量等

6bae8850-8f8c-11ef-a511-92fbcf53809c.png

l 首先調(diào)用ble_multi_link_init函數(shù)進(jìn)行組網(wǎng)參數(shù)的初始化

6bd2e6b4-8f8c-11ef-a511-92fbcf53809c.png

l 當(dāng)設(shè)備組網(wǎng)成功或者掉線后會(huì)進(jìn)入multi_con_netin_cb、multi_con_netout_cb回調(diào)

l 當(dāng)設(shè)備被手機(jī)連接或者手機(jī)斷開(kāi)會(huì)進(jìn)入multi_con_control_disconnect_cb、multi_con_control_connected_cb回調(diào)

l 當(dāng)設(shè)備位于中間節(jié)點(diǎn)時(shí),設(shè)備連接的子節(jié)點(diǎn)掉線或者上線,會(huì)進(jìn)入master_child_node_dropped_cb、master_child_node_online_cb回調(diào)

l 當(dāng)設(shè)備接收到手機(jī)或者設(shè)備發(fā)送過(guò)來(lái)的信息時(shí),會(huì)進(jìn)入device_receive_data函數(shù)。可以在這里進(jìn)行一定的數(shù)據(jù)處理

6bfa4678-8f8c-11ef-a511-92fbcf53809c.png

l 當(dāng)設(shè)備需要發(fā)送數(shù)據(jù)給手機(jī)時(shí),可以調(diào)用device_send_data_to_phone函數(shù)進(jìn)行發(fā)送

l 當(dāng)設(shè)備需要發(fā)送數(shù)據(jù)給其它設(shè)備是,可以調(diào)用device_send_data_to_device函數(shù)

l 當(dāng)設(shè)備需要群發(fā)數(shù)據(jù)時(shí),可以調(diào)用device_send_data_to_all_device函數(shù)

l 其它更多,比如獲取當(dāng)前設(shè)備的角色:multi_link_get_role、node id:multi_link_get_node_id、層級(jí):multi_link_get_layer、從機(jī)連接數(shù)量:multi_link_get_slave_num等等可以到ble_multi_link.h查看函數(shù)具體說(shuō)明

l 若設(shè)備需要串口透?jìng)骰蛘甙l(fā)送指令,只需要實(shí)現(xiàn)串口部分收發(fā),根據(jù)自己的串口協(xié)議,配合如上函數(shù)發(fā)送到對(duì)應(yīng)設(shè)備即可

使用說(shuō)明

1、 指定根節(jié)點(diǎn):上電前先將PD7拉低,上電后即為根節(jié)點(diǎn)。其他節(jié)點(diǎn)默認(rèn)上電為從節(jié)點(diǎn)

2、 上電后根節(jié)點(diǎn)自動(dòng)發(fā)起組網(wǎng)。

3、 初始上電,根節(jié)點(diǎn)node id為0xFFFF,其他節(jié)點(diǎn)Node_ID為0。初次上電連接后,由根節(jié)點(diǎn)分配節(jié)點(diǎn)ID

4、 入網(wǎng)成功連接后,節(jié)點(diǎn)會(huì)收到入網(wǎng)成功的消息回調(diào)。

5、 斷線自恢復(fù),某一中間節(jié)點(diǎn)掉電導(dǎo)致掉線后,其子節(jié)點(diǎn)在一定時(shí)間內(nèi)會(huì)自動(dòng)加入網(wǎng)絡(luò),掉線的節(jié)點(diǎn)在上電后也可以自動(dòng)加入網(wǎng)絡(luò),且node id不發(fā)生改變。

6、 手機(jī)端BLE調(diào)試軟件掃描,會(huì)發(fā)現(xiàn)很多MULTI CON_xxxx設(shè)備,隨便連接任意設(shè)備,可以向任意節(jié)點(diǎn)發(fā)送消息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:【技術(shù)專區(qū)】富芮坤主從一體多鏈接通信協(xié)議說(shuō)明

文章出處:【微信號(hào):FREQCHIP,微信公眾號(hào):FREQCHIP 富芮坤】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    款已經(jīng)通過(guò)FCC/CE認(rèn)證的主從一體藍(lán)牙模塊

    ` 藍(lán)牙模塊中的主從一體,是指個(gè)模塊的程序既可以做主設(shè)備去搜索連接從設(shè)備,也可以作為從設(shè)備被其它主設(shè)備發(fā)現(xiàn)和連接,甚至可以做到主從設(shè)備同時(shí)存在。 可以模塊與模塊連接(都可以主從)與手
    發(fā)表于 02-15 16:59

    藍(lán)牙主從一體,特征值改大無(wú)法通信是為什么呢?

    SIMPLEPROFILE_CHAR5_LEN5 我用官方的主從一體DEMO,通過(guò)寫(xiě)入白名單建立兩個(gè)設(shè)備的連接,把 SIMPLEPROFILE_CHAR1_LEN 改到20無(wú)法通信,小于20就可以,這個(gè)是為什么呢?
    發(fā)表于 08-01 06:27

    CH582主從一體使用pwm,100ms控制次占空比會(huì)死機(jī)是為什么?

    在加pwm之前直是主從一體做主連接從機(jī),長(zhǎng)鏈接通過(guò)串口看收發(fā)數(shù)據(jù),放晚上都沒(méi)問(wèn)題,加了pwm后有時(shí)候會(huì)半小時(shí)就死了,不發(fā)數(shù)據(jù),藍(lán)牙連接也斷開(kāi)了,
    發(fā)表于 08-09 06:38

    請(qǐng)問(wèn)CH573主從一體例程如何互相配對(duì)?

    幾十個(gè)CH573藍(lán)牙設(shè)備要互相兩兩通信,使用主從一體例程,如何通過(guò)配對(duì),把MAC地址等信息儲(chǔ)存到信任列表?非手動(dòng)配對(duì)的設(shè)備,即使掃描到也不允許通信。我看主從一體的例程,好像只要掃描到M
    發(fā)表于 08-10 06:16

    BLE主從一體相互收發(fā)廣播包

    大佬們,BLE藍(lán)牙主從一體怎么做到讓他們相互收到對(duì)方發(fā)的廣播?。繂捂溌返那闆r,添加獨(dú)立的RF文件也不行;相同程序,目前只能其中方收得到另方收不到,多個(gè)設(shè)備時(shí),也有某個(gè)設(shè)備收不到其它廣播的情況。求大佬指點(diǎn)它的收發(fā)時(shí)序以及該怎么
    發(fā)表于 12-09 18:14

    小鋼炮使用的低功耗主從一體藍(lán)牙芯片BlueNRG-MS手冊(cè)

    小鋼炮(CANNON)使用的低功耗主從一體藍(lán)牙芯片BlueNRG-MS手冊(cè)
    發(fā)表于 02-19 14:47 ?61次下載

    藍(lán)牙模塊低功耗藍(lán)牙4.2nRF51822主從一體陶瓷天線

    藍(lán)牙模塊低功耗藍(lán)牙4.2模塊nRF51822主從一體陶瓷天線
    發(fā)表于 09-28 16:43 ?43次下載

    ble藍(lán)牙模塊的主從一體功能詳解

    主從一體是指 BLE 藍(lán)牙模塊 同時(shí)作為主設(shè)備和從設(shè)備 。 主從一體提供了 擴(kuò)展 BLE 藍(lán)牙模塊 的能力, 自從 個(gè)被稱為 鏈路層拓?fù)?的功能被添加到藍(lán)牙 4.1 規(guī)范中 后 , 就已經(jīng) 允許
    的頭像 發(fā)表于 04-25 09:29 ?1.7w次閱讀
    ble藍(lán)牙模塊的<b class='flag-5'>主從一體</b>功能詳解

    ble 藍(lán)牙模塊的主從一體功能詳解

    文檔介紹了藍(lán)牙模塊主從一體的功能,以及個(gè)大致的應(yīng)用方式
    發(fā)表于 04-24 16:52 ?14次下載

    藍(lán)牙5.2協(xié)議、主從一體、低功耗、工業(yè)級(jí)藍(lán)牙模組新品上市

    WH-BLE105是款基于藍(lán)牙5.2協(xié)議主從一體模組,擁有主設(shè)備模式、從設(shè)備模式、廣播模式、主從一體模式四種工作模式,可用于主從
    的頭像 發(fā)表于 11-05 08:39 ?7732次閱讀
    藍(lán)牙5.2<b class='flag-5'>協(xié)議</b>、<b class='flag-5'>主從一體</b>、低功耗、工業(yè)級(jí)藍(lán)牙模組新品上市

    ZX-D35主從一體藍(lán)牙模塊的數(shù)據(jù)手冊(cè)

    ZX-D35主從一體藍(lán)牙模塊的數(shù)據(jù)手冊(cè)
    發(fā)表于 12-30 14:46 ?18次下載

    BLE藍(lán)牙模塊功能應(yīng)用① — 主從一體

    隨著科技快速發(fā)展,藍(lán)牙技術(shù)在各個(gè)行業(yè)應(yīng)用中變得非常廣泛。今天,我們來(lái)分享種非常熱門(mén)的主從一體藍(lán)牙模塊。我們將對(duì)它的模式、概念、應(yīng)用、選購(gòu)等進(jìn)行探討,讓讀者深入了解這種藍(lán)牙模塊。藍(lán)牙的工作模式藍(lán)牙
    的頭像 發(fā)表于 09-09 08:26 ?1312次閱讀
    BLE藍(lán)牙模塊功能應(yīng)用① — <b class='flag-5'>主從一體</b>

    BLE藍(lán)牙模塊主從一體功能應(yīng)用場(chǎng)景詳解

    藍(lán)牙模塊支持多種工作模式,如主設(shè)備模式、從設(shè)備模式、主從一體化工作模式、廣播站模式、Mesh組網(wǎng)模式、廣播模式和iBeacon模式。在眾多工作模式中,主從一體工作模式是最常用的,也是目前較為流行
    的頭像 發(fā)表于 01-04 09:19 ?1331次閱讀
    BLE藍(lán)牙模塊<b class='flag-5'>主從一體</b>功能應(yīng)用場(chǎng)景詳解

    國(guó)產(chǎn)藍(lán)牙模組 | 藍(lán)牙主從一體功能應(yīng)用

    隨著科技快速發(fā)展,藍(lán)牙技術(shù)在各個(gè)行業(yè)應(yīng)用中變得非常廣泛。今天,我們來(lái)分享種非常熱門(mén)的主從一體藍(lán)牙模塊。我們將對(duì)它的模式、概念、應(yīng)用、選購(gòu)等進(jìn)行探討,讓讀者深入了解這種藍(lán)牙模塊。藍(lán)牙的工作模式藍(lán)牙
    的頭像 發(fā)表于 06-21 08:25 ?511次閱讀
    國(guó)產(chǎn)藍(lán)牙模組 | 藍(lán)牙<b class='flag-5'>主從一體</b>功能應(yīng)用

    SGS授予AEC-Q100認(rèn)證證書(shū)

    近日,國(guó)際公認(rèn)的測(cè)試、檢驗(yàn)和認(rèn)證機(jī)構(gòu)SGS為上海富微電子有限公司(以下簡(jiǎn)稱“”) 型號(hào)為FR3038DQ的藍(lán)牙MCU芯片頒發(fā)AEC
    的頭像 發(fā)表于 08-07 17:43 ?829次閱讀