那曲檬骨新材料有限公司

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

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

3天內不再提示

智能家居之旅(14):安信可IoT Blufi配網工具新功能介紹

AIoT行業洞察 ? 來源:AIoT行業洞察 ? 作者:AIoT行業洞察 ? 2024-08-27 16:22 ? 次閱讀

今天給大家介紹一下小程序配網工具-安信可 IoT,近期剛發布了新的版本,新增了服務器地址配置的功能。這個新功能,給我們帶來了不少便利,特別是 HomeAssistant 固件使用這一塊。

在2024 年 7 月 17 號之前,安信可 IoT 小程序只能提供配網程序,用戶能夠利用藍牙功能給 Wi-Fi 模塊進行無線網絡配置,但是隨著 DIY 作品不斷地更新,為了更加方便地使用固件,涉及 TCP 服務器和 MQTT 服務器地址配置只能通過 AT 指令來實現,在某些應用場合根本無法實現。

所以,這次讓前端工程師加了這個功能,在配網的時候,可以選擇配置服務器地址。

01新功能使用說明

wKgaombNjMSAOT8KAACDbKdR5zs37.jpeg

02數據格式

小程序下發的服務器配置數據是以 json 格式下發:

{ "server_type": { "addr":"0.0.0.0", "port":"xxxxx" } }

字段名說明示例server_type服務器類型"tcp"addr服務器地址,支持 IPV4 地址和域名"192.168.1.1"port服務器端口號1883

例如:下發一個TCP 服務器,地址為:192.168.3.1,端口號為:8888,則數據為:

{ "tcp": { "addr":"192.168.3.1", "port":"8888" } }

03數據接收

數據接收就是設備端的了,但是前提是要使用 Blufi 配網功能,在 Ai-WB2 的 SDK(Ai-Thinker-WB2)當中,有 Blufi 的 demo。

wKgZombNjMSAD0z8AAB8QSrb9PU70.jpeg

因為小程序下發的數據是通過 Blufi 的custom data(自定義數據)接口下發,在 blufo demo 當中

的AXK_BLUFI_EVENT_RECV_CUSTOM_DATA事件,可以看到下發的服務器地址數據:

wKgaombNjMSAUQGtAABDWPKwUqw28.jpeg

04數據解析

既然是 json 數據,那只要引用 cJSON.h 頭文件,就能實現對服務器地址和端口號的解析,下面寫了函數,大家做個參考

解析服務器地址

static char data_buff[128] = { 0 }; char* get_ip_addr_from_custom_data(const char* server_type, const char* custom_data) { if (custom_data==NULL) { blog_error("custom_data is NULL"); return NULL; } char* cjson_root = custom_data; cJSON* root = cJSON_Parse(cjson_root); if (root==NULL) { blog_error("%s is't json data", cjson_root); cJSON_Delete(root); return NULL; } cJSON* add_type = cJSON_GetObjectItem(root, server_type); if (add_type==NULL) { blog_error("%s not "%s" project ", cjson_root,server_type); cJSON_Delete(root); return NULL; } cJSON* addr = cJSON_GetObjectItem(add_type, "addr"); if (addr==NULL) { blog_error("%s not "addr" project ", cjson_root); cJSON_Delete(root); return NULL; } memset(data_buff, 0, 128); strcpy(data_buff, addr->valuestring); cJSON_Delete(root); return data_buff; }

wKgZombNjIuAdkBhAAAyJxtdVv0283.png

調用示例:

char* addr=get_ip_addr_from_custom_data("tcp",custom_data); printf("addr=%srn",addr);

解析端口號

uint16_t get_port_from_custom_data(const char* server_type, const char* custom_data) { if (custom_data==NULL) { blog_error("custom_data is NULL"); return NULL; } char* cjson_root = custom_data; cJSON* root = cJSON_Parse(cjson_root); if (root==NULL) { blog_error("%s is't json data", cjson_root); cJSON_Delete(root); return NULL; } cJSON* add_type = cJSON_GetObjectItem(root, server_type); if (add_type==NULL) { blog_error("%s not "%s" project ", cjson_root,server_type); cJSON_Delete(root); return NULL; } cJSON* port_p = cJSON_GetObjectItem(add_type, "port"); if (port_p==NULL) { blog_error("%s not "port" project ", cjson_root); cJSON_Delete(root); return NULL; } uint16_t port = atoi(port_p->valuestring); cJSON_Delete(root); return port; }

wKgaombNjK6ATA6NAAA2t-NY0JM341.png

調用示例:

uint16_t port=get_port_from_custom_data("tcp",custom_data); printf("port=%drn",port);

這些程序流程我就不解釋,太簡單了,不懂的話,自己去學一下 cjson 的數據解析。

審核編輯 黃宇

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

    關注

    1930

    文章

    9607

    瀏覽量

    186421
  • 配網
    +關注

    關注

    0

    文章

    155

    瀏覽量

    9108
  • IOT
    IOT
    +關注

    關注

    187

    文章

    4230

    瀏覽量

    197617
  • 安信可
    +關注

    關注

    0

    文章

    159

    瀏覽量

    4046
收藏 人收藏

    評論

    相關推薦

    藍牙模組PB系列常見問題

    科技針對物聯網設計通用型的藍牙模組,其功能強大、用途廣泛。可以用于 智能燈、智能插座、
    的頭像 發表于 01-16 09:52 ?115次閱讀

    智能家居之旅(15):HA傳感器采集主板低功耗設計的遭遇

    智能家居之旅(1):了解HomeAssistant 智能家居之旅(2):設備接入HomeAssistant的方法 智能家居
    的頭像 發表于 09-05 10:27 ?437次閱讀
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(15):HA傳感器采集主板低功耗設計的遭遇

    人工智能如何強化智能家居設備的功能

    ,以配合用戶的生活習慣與作息。本文將為您介紹人工智能將如何強化智能家居設備的功能,以及由芯科科技(Silicon Labs)所推出的解決方案,將如何增進智能家居設備的
    的頭像 發表于 08-27 10:46 ?988次閱讀
    人工<b class='flag-5'>智能</b>如何強化<b class='flag-5'>智能家居</b>設備的<b class='flag-5'>功能</b>

    如何用一塊免費的PCB板完成2元USB小夜燈控制器?

    智能家居,到社區 https://bbs.ai-thinker.com/forum.php 智能家居
    的頭像 發表于 07-30 10:33 ?344次閱讀
    如何用一塊免費的PCB板完成2元USB小夜燈控制器?

    智能家居與物聯網的關系

    智能家居與物聯網(IoT,Internet of Things)之間存在著密不可分的關系。物聯網作為智能家居背后的核心技術基礎,為智能家居系統提供了強大的連接能力和
    的頭像 發表于 07-23 15:17 ?1353次閱讀

    智能家居之旅(9):HomeAssistant 的開關實體具象化

    (????)??嗨,時隔一個月,又開始關于 HA 的帖子了,前期介紹了一些實體的使用方法,后面的帖子會結合相應的硬件介紹,把實體真正應用起來,方便各位小伙伴在家里自己做一個智能家居。 本文概要
    的頭像 發表于 07-08 16:50 ?446次閱讀
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(9):HomeAssistant 的開關實體具象化

    arduino環境下用blufi無法,藍牙初始化不成功是怎么回事?

    arduino環境下用blufi無法,藍牙初始化不成功,是什么回事
    發表于 06-26 08:18

    TB系列藍牙模塊產品簡介

    科技針對物聯網設計通用型的藍牙模組,其功能強大、用途廣泛。可以用于智能燈、智能插座、
    的頭像 發表于 06-15 14:03 ?909次閱讀

    使用BLUFI進行wifi,應該調用哪些API來關閉BLUFI呢?

    我最近在使用BLUFI進行wifi之后我要關閉掉BLUFI用來減少功耗,請問應該調用哪
    發表于 06-13 06:55

    智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實現點燈

    上一篇我們介紹了MQTT設備如何接入HomeAssistant(打卡智能家居之旅(2):設備接入HomeAssistant的方法),這一篇就給大家講一下Ai-M61/M62 開發板或者模組怎么通過
    的頭像 發表于 06-07 10:07 ?673次閱讀
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(3):Ai-M61/M62 接入HomeAssistant 實現點燈

    打卡智能家居學習之旅(1):了解HomeAssistant

    是:現在家里的燈還是只能用手去控制開關,連個遠程控制功能都沒有,都不敢和別人說自己是個搞智能家居的。 所以筆者從大學開始,就開始學習智能家居這一行業的相關知識,并且做了一套可以用手機控制的Zigbee 開關作為畢設。但是它
    的頭像 發表于 05-21 09:07 ?640次閱讀
    打卡<b class='flag-5'>智能家居</b>學習<b class='flag-5'>之旅</b>(1):了解HomeAssistant

    智能家居控制系統解決方案功能

    化的居住環境。 所謂的智能家居控制系統解決方案,不再僅僅是傳統的家具,而是被賦予了“思想”,變得智能化。該方案依托物聯網云平臺,實現照明系統、防報警系統、能源管理系統、暖通空調系統、門窗管理系統、花園管理系統
    的頭像 發表于 04-09 15:58 ?675次閱讀

    亮相AWE 2024,助力智能家居產業加速發展

    電及消費電子類展會之一,AWE向來被視為引領家電及消費電子行業技術發展趨勢和市場消費潮流的風向標,科技攜手多種產品及智能解決方案,將精彩紛呈的新產品、新技術呈現給觀展嘉賓。 科技
    的頭像 發表于 03-21 11:29 ?651次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>亮相AWE 2024,助力<b class='flag-5'>智能家居</b>產業加速發展

    雷達模組Rd-01燒錄指南

    Wi-Fi&BLE對雷達參數進行無線配置,極大提升了施工和運維效率,方便快捷。可廣泛應用于智能家居、智慧防、智慧照明、智能商業和新能源充電/停車監測設施。 產品介紹 :發布即量產 |
    的頭像 發表于 03-21 11:28 ?577次閱讀
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>雷達模組Rd-01燒錄指南

    智能家居控制方案功能與應用

    是以物聯網作為核心技術支撐,利用網絡通信手段,實現對住宅中各種設備與建筑設施進行自動控制與管理。集成開發智能家居控制方案,快速啟動、多種人機交互方式,多屏實時互動等,將家庭娛樂、防、教育、購物、醫療等進行融合,
    的頭像 發表于 02-29 16:18 ?981次閱讀
    百家乐博弈指| 365体育投注| 百家乐官网有方法赚反水| 芝加哥百家乐官网的玩法技巧和规则| 网上百家乐有哪些玩法| 58娱乐城开户| 索罗门百家乐官网的玩法技巧和规则| 百家乐都是什么人玩的| 百家乐官网怎么看门路| 百家乐免费破解外挂| 乐百家乐彩娱乐城| 尊龙网站| 做生意选店铺位置| bet365网址器| 成人百家乐官网的玩法技巧和规则| 立即博百家乐的玩法技巧和规则| 宝马会百家乐官网现金网| 百家乐的路单怎样看| 嘉鱼县| 百家乐如何玩法| 64风波| 百家乐投注注技巧| 线上kk娱乐城| 恒丰百家乐官网的玩法技巧和规则 | 百家乐官网2号技术打法| 百家乐娱乐网佣金| 百家乐官网如何投注技巧| 赌博百家乐的玩法技巧和规则| 正规百家乐官网游戏下载| 骰子百家乐的玩法技巧和规则 | 德州扑克入门与提高| 免费百家乐官网计划软件| 皇冠在线开户| 菲律宾百家乐娱乐网| 百家乐官网赌场作弊| 百家乐赌场赌场网站| 百家乐官网视频游365| 唐朝百家乐的玩法技巧和规则| 赌博中百家乐官网什么意思 | 路劲太阳城怎么样| 百家乐官网小钱赢钱|