色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

藍牙mesh互傳及藍牙單向穿透的功能測試

全志在線 ? 來源:全志在線開發者論壇 ? 2023-12-11 11:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

相較于WiFi技術,低功耗藍牙BLE技術具有搜索連接速度快、超低功耗等特點,BLE搭配mesh技術所延伸的藍牙mesh技術因其支持多點對多點連接、物理覆蓋區域廣闊,也被廣泛用于智能家居中控、智能安防、智慧樓宇等物聯網設備上。

XR806是一款支持BLE 5.0、支持完整低功耗藍牙服務GATT、支持SIG mesh完整協議棧的無線芯片,同樣適配物聯網設備的使用場景需求,在通過官方文檔的指引下配置好XR806的RTOS環境后,可按文章介紹步驟進行后續的藍牙mesh互傳及藍牙單向穿透的功能測試。

藍牙mesh互傳

最新的藍牙mesh1.1引入了定向轉發路由功能,擴大射頻覆蓋范圍,使信號一級級中繼下去,手頭有nRF52840開發板,不妨和全志XR806進行組網,測試兼容性和互操作性,也驗證XR806 mesh協議棧的完成度。先看效果:

c86c4296-95ad-11ee-8b88-92fbcf53809c.gif

nRF52840用Segger Embedded Studio打開工程:

nrf5SDKforMeshv320srcexampleslight_switchserver

同時燒錄協議棧和APP;XR806為觀察到現象,將mesh例程的收到mesh opcode的回調接口加個指示信號,具體為:

static void gpio_output_init(void)
{
 GPIO_InitParam param;
 param.driving = GPIO_DRIVING_LEVEL_1;
 param.mode = GPIOx_Pn_F1_OUTPUT;
 param.pull = GPIO_PULL_NONE;
 HAL_GPIO_Init(GPIO_OUTPUT_PORT, GPIO_OUTPUT_PIN, ¶m);//PA21
}


/***************Onoff Configuration Declaration*******************/
static void app_onoff_srv_set_cb(const struct bt_mesh_model *model, uint8_t onoff, uint8_t target_onoff, const struct bt_mesh_transition_status *opt)
{
 g_onoff_value = onoff;
 HAL_GPIO_WritePin(GPIO_OUTPUT_PORT, GPIO_OUTPUT_PIN, onoff ? GPIO_PIN_HIGH : GPIO_PIN_LOW);
 printf("[app] onoff set(%d)", onoff);
 if (opt) {
  printf("target onoff(%d), total_steps(%d), steps(%d)",
      target_onoff, opt->total_steps, opt->present_steps);
 }
 printf("
");
}

編譯完后將mesh_demo燒錄進XR806中,將XR806的GenericOnOff Server訂閱到publisher的發布地址,就能實現同一網絡(具備同一網絡密鑰可以正確解析出mesh消息)內的消息傳遞。


此時用nRF Mesh去給nRF52840和XR806分別入網和設置訂閱地址,本次將他們訂閱到0xC000。

c8a38c24-95ad-11ee-8b88-92fbcf53809c.jpg

由于入網過程沒有錄制下來,且XR806無法退網,且入網信息暫時沒找到擦除方法,這樣重新燒錄還是保持入網狀態而無法回到unprovisioned狀態。

nRF52840接到JlinkRTT Viewer,XR806接到putty,可以看到XR806的Controller/host協議棧的版本信息,手機發布一條開關(由GernericOnOff元素統屬)消息,泛洪給兩臺射頻設備,可以在各自控制臺看到都有收到set opcode網絡消息。

c8b6b538-95ad-11ee-8b88-92fbcf53809c.png

藍牙穿透(單向)

有時無線透傳在無法布線時有很方便的效用,不妨試試藍牙透傳,效果如下:

c9209958-95ad-11ee-8b88-92fbcf53809c.gif

具體是無線數據->串口數據,串口數據->無線數據,目前前者實現了,后者還有些問題未解決,

c8b6b538-95ad-11ee-8b88-92fbcf53809c.png

實現過程如下,基于工程:

demo/Bluetooth/peripheral_demo改成peripheral_uart_demo

同時目錄下文件里工程名也進行修改:

peripheral_uart_demo/gcc/defconfig改成peripheral_uart_demo

然后引入串口讀寫獨立接口即把demo/at_demo下的serial.c、serial.h、serial_debug.h復制到剛才peripheral_uart_demo工程下,由于要無線寫以及串口寫轉無線,所以profile涉及到write_without_rsp和notify,具體配置為:

static struct bt_gatt_attr vnd_attrs[] = {
 /* Vendor Primary Service Declaration */
 BT_GATT_PRIMARY_SERVICE(&vnd_uuid),
 BT_GATT_CHARACTERISTIC(&vnd_enc_uuid.uuid,
         BT_GATT_CHRC_WRITE_WITHOUT_RESP | BT_GATT_CHRC_NOTIFY,
         BT_GATT_PERM_WRITE,
         NULL, write_without_rsp_vnd, &vnd_value),
 BT_GATT_CCC(vnd_ccc_notify_changed, BT_GATT_PERM_READ|BT_GATT_PERM_WRITE),
};

寫回調接口為:

/**********************vnd_write_cmd_uuid*****************************/
static ssize_t write_without_rsp_vnd(struct bt_conn *conn,
        const struct bt_gatt_attr *attr,
        const void *buf, uint16_t len, uint16_t offset,
        uint8_t flags)
{
 uint8_t *value = attr->user_data;


 /* Write request received. Reject it since this char only accepts
  * Write Commands.
  */
 if (!(flags & BT_GATT_WRITE_FLAG_CMD)) {
  return BT_GATT_ERR(BT_ATT_ERR_WRITE_REQ_REJECTED);
 }


 if (offset + len > sizeof(vnd_value)) {
  return BT_GATT_ERR(BT_ATT_ERR_INVALID_OFFSET);
 }


 memset(value, 0, sizeof(vnd_value));
 memcpy(value + offset, buf, len);
 serial_write(value + offset, len);
 *(value + offset + len) = '?';
 printf("
write_without_rsp_vnd");
 return len;
}

串口轉無線回調(有問題):

static void vnd_notify(void)
{
 static uint8_t vnd[MAX_LONG_DATA];
 uint16_t len=0;
 if (!vnd_notif_enabled)
  return;
 printf("
notify
");
 serial_read(vnd_notify_value,len);
 if(len>MAX_LONG_DATA || len==0)
  return;
 memcpy(vnd, vnd_notify_value, len);
  printf("
vnd_notify
");
 bt_gatt_notify(NULL, &vnd_svc.attrs[1], vnd, sizeof(vnd));
}

然后在bt_app_init函數里加入透傳口UART1的初始化代碼即可:

 serial_init(SERIAL_UART_ID, 115200, UART_DATA_BITS_8, UART_PARITY_NONE,
  UART_STOP_BITS_1, 0);
 serial_start();

審核編輯:湯梓紅

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

    關注

    116

    文章

    6055

    瀏覽量

    173571
  • 物聯網
    +關注

    關注

    2930

    文章

    46094

    瀏覽量

    390267
  • WIFI
    +關注

    關注

    81

    文章

    5386

    瀏覽量

    207882
  • Mesh
    +關注

    關注

    5

    文章

    217

    瀏覽量

    30454
  • 無線芯片
    +關注

    關注

    2

    文章

    82

    瀏覽量

    24271

原文標題:物聯網設備人柱力,XR806藍牙mesh互傳及單向穿透功能測試

文章出處:【微信號:gh_79acfa3aa3e3,微信公眾號:全志在線】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    藍牙Mesh網絡是什么?手機如何接入到藍牙Mesh網絡?

    藍牙Mesh網絡是什么?藍牙Mesh網絡有哪些特性?手機如何接入到藍牙Mesh網絡?
    發表于 06-26 07:18

    什么是藍牙mesh藍牙mesh有哪些功能

    請問下什么是藍牙mesh藍牙mesh有哪些功能
    發表于 06-30 07:08

    【平頭哥藍牙Mesh網關開發套件試用體驗】mesh開關控制mesh燈 + 測試視頻

    本帖最后由 jf_11671167 于 2021-10-9 16:20 編輯 本文對 PHY6220 藍牙mesh 開關、藍牙mesh燈配置,并用
    發表于 09-26 23:16

    【平頭哥藍牙Mesh網關開發套件試用體驗】手機控制藍牙mesh燈 + 測試視頻

    ; mesh_light_node_demo ,官方 demo 工程創建完成后編譯下載到 PHY6220 開發板,詳細步驟參考筆者往期文章:【平頭哥藍牙Mesh網關開發套件試用體驗】PHY6220
    發表于 09-26 23:23

    全志XR806藍牙mesh互傳功能測試

    評測二 藍牙mesh互傳 最新的藍牙mesh1.1引入了定向轉發路由功能,擴大射頻覆蓋范圍,使信
    發表于 12-07 15:49

    藍牙模塊低功耗藍牙4.2藍牙Mesh組網方案

    藍牙模塊低功耗藍牙4.2藍牙Mesh組網方案,本文介紹了能進行Mesh組網的藍牙模塊的一些基本參
    發表于 09-28 16:41 ?39次下載

    解密:Ble低功耗藍牙藍牙mesh網絡之間的關系

    能夠接收和利用其廣播的其他設備數量沒有明確的限制。藍牙Beacon就是藍牙廣播功能的一個絕佳案例。?二、藍牙mesh基于ble低功耗
    的頭像 發表于 06-12 11:12 ?1w次閱讀

    如何選擇合適的藍牙mesh開發套件?

    2017年7月,藍牙技術聯盟(Bluetooth SIG)正式宣布推出藍牙mesh規格,在藍牙技術點對點和廣播功能的基礎上添加了
    的頭像 發表于 08-10 10:54 ?4655次閱讀

    藍牙網關與藍牙Mesh之間的區別

    1、藍牙網關的定義 藍牙網關是一個集成藍牙 BLE、WiFi 和以太網的網關設備,藍牙 BLE 與 WiFi之間通過串口實現通信,可靈活應用于各種物聯網場景。 2、
    的頭像 發表于 07-10 14:32 ?4w次閱讀

    如何用藍牙mesh開關控制藍牙mesh

    本文對 PHY6220?藍牙mesh 開關、藍牙mesh燈配置,并用藍牙mesh開關控制
    的頭像 發表于 10-09 09:22 ?8287次閱讀

    藍牙MESH是什么?

    藍牙Mesh是一種基于藍牙技術的無線通信網絡協議,專門設計用于創建大規模設備網絡,特別適用于物聯網(IoT)應用。以下是藍牙Mesh的一些關
    的頭像 發表于 09-14 08:03 ?3519次閱讀
    <b class='flag-5'>藍牙</b><b class='flag-5'>MESH</b>是什么?

    藍牙網關和藍牙mesh網關區別

    藍牙網關和藍牙Mesh網關是兩種不同的技術,它們在物聯網(IoT)領域中扮演著重要的角色。 藍牙網關和藍牙
    的頭像 發表于 10-18 10:33 ?6573次閱讀

    藍牙Mesh技術的特點和應用場景

    的網絡體系。藍牙Mesh網絡中的每個設備都被視為一個節點,這些節點可以相互傳遞信息,形成一個自組織、自愈合的網絡系統。
    的頭像 發表于 02-06 16:07 ?1375次閱讀

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

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

    芯科科技助力藍牙Mesh設備開發

    藍牙Mesh 1.1是藍牙技術聯盟(Bluetooth SIG)發布的最新標準版本,Silicon Labs(芯科科技)作為開發和實施藍牙Mesh
    的頭像 發表于 05-16 13:51 ?351次閱讀
    芯科科技助力<b class='flag-5'>藍牙</b><b class='flag-5'>Mesh</b>設備開發
    主站蜘蛛池模板: 国产手机在线亚洲精品观看 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 美女夫妻内射潮视频 | 99热久久精品国产一区二区 | 大香伊人中文字幕精品 | 国产网红主播精品福利大秀专区 | 狠狠干女人 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 九色PORNY真实丨国产大胸 | 欧美内射AAAAAAXXXXX | 年轻夫妇韩剧中文版免费观看 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 少妇人妻偷人精品视蜜桃 | 国产在线观看免费 | 公和我做好爽添厨房中文字幕 | 成年人视频在线免费播放 | 日韩精品久久久久影院 | 国产午夜亚洲精品不卡电影 | 青青草原影视 | 色狠狠xx | 香蕉动漫库| AV一区AV久久AV无码 | 偷拍自偷拍亚洲精品 | 日本无码毛片一区二区手机看 | 99这里只有是精品2 99这里有精品视频视频 | 午夜AV亚洲一码二中文字幕青青 | 别停好爽好深好大好舒服视频 | 久青草国产97香蕉在线视频 | 国产午夜精品美女免费大片 | 小妇人电影免费完整观看2021 | 精品国产乱码久久久久久免费 | 99久久免费视频6 | 色戒床震视频片段 | 国产曰批试看免费视频播放免费 | 欧美日韩永久久一区二区三区 | 饥渴难耐的浪荡艳妇在线观看 | 免费一级特黄欧美大片久久网 | 一手揉着乳头一手模仿抽插视频 | 俄罗斯6一12呦女精品 | 东北疯狂xxxxbbbb中国 | 国产精品久久久久精品A片软件 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品