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 的数据解析。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能家居
    +关注

    关注

    1932

    文章

    9646

    浏览量

    187519
  • 配网
    +关注

    关注

    0

    文章

    159

    浏览量

    9160
  • IOT
    IOT
    +关注

    关注

    187

    文章

    4238

    浏览量

    198537
  • 安信可
    +关注

    关注

    0

    文章

    168

    浏览量

    4133
收藏 人收藏

    评论

    相关推荐

    蓝牙模组PB系列常见问题

    科技针对物联网设计通用型的蓝牙模组,其功能强大、用途广泛。可以用于 智能灯、智能插座、
    的头像 发表于 01-16 09:52 262次阅读

    智能家居之旅(15):HA传感器采集主板低功耗设计的遭遇

    智能家居之旅(1):了解HomeAssistant 智能家居之旅(2):设备接入HomeAssistant的方法 智能家居
    的头像 发表于 09-05 10:27 500次阅读
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(15):HA传感器采集主板低功耗设计的遭遇

    人工智能如何强化智能家居设备的功能

    ,以配合用户的生活习惯与作息。本文将为您介绍人工智能将如何强化智能家居设备的功能,以及由芯科科技(Silicon Labs)所推出的解决方案,将如何增进智能家居设备的
    的头像 发表于 08-27 10:46 1080次阅读
    人工<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 403次阅读
    如何用一块免费的PCB板完成2元USB小夜灯控制器?

    智能家居与物联网的关系

    智能家居与物联网(IoT,Internet of Things)之间存在着密不可分的关系。物联网作为智能家居背后的核心技术基础,为智能家居系统提供了强大的连接能力和
    的头像 发表于 07-23 15:17 1500次阅读

    智能家居之旅(9):HomeAssistant 的开关实体具象化

    (。・∀・)ノ゙嗨,时隔一个月,又开始关于 HA 的帖子了,前期介绍了一些实体的使用方法,后面的帖子会结合相应的硬件介绍,把实体真正应用起来,方便各位小伙伴在家里自己做一个智能家居。 本文概要
    的头像 发表于 07-08 16:50 501次阅读
    <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 981次阅读

    使用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 763次阅读
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(3):Ai-M61/M62 接入HomeAssistant 实现点灯

    打卡智能家居学习之旅(1):了解HomeAssistant

    是:现在家里的灯还是只能用手去控制开关,连个远程控制功能都没有,都不敢和别人说自己是个搞智能家居的。 所以笔者从大学开始,就开始学习智能家居这一行业的相关知识,并且做了一套可以用手机控制的Zigbee 开关作为毕设。但是它
    的头像 发表于 05-21 09:07 709次阅读
    打卡<b class='flag-5'>智能家居</b>学习<b class='flag-5'>之旅</b>(1):了解HomeAssistant

    行业大咖齐聚智能家居峰会!

    和发展提供了更多的可能性;与防、医疗健康、环境监测等产业的融合也使得智能家居产业有更广阔的市场。 不过,智能家居行业虽然发展迅速,但也面临着诸多难题和挑战。例如,智能家居设备就涉及到
    的头像 发表于 04-18 11:42 897次阅读
    行业大咖齐聚<b class='flag-5'>智能家居</b>峰会!

    智能家居控制系统解决方案功能

    化的居住环境。 所谓的智能家居控制系统解决方案,不再仅仅是传统的家具,而是被赋予了“思想”,变得智能化。该方案依托物联网云平台,实现照明系统、防报警系统、能源管理系统、暖通空调系统、门窗管理系统、花园管理系统
    的头像 发表于 04-09 15:58 754次阅读

    亮相AWE 2024,助力智能家居产业加速发展

    电及消费电子类展会之一,AWE向来被视为引领家电及消费电子行业技术发展趋势和市场消费潮流的风向标,科技携手多种产品及智能解决方案,将精彩纷呈的新产品、新技术呈现给观展嘉宾。 科技
    的头像 发表于 03-21 11:29 682次阅读
    <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 633次阅读
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>雷达模组Rd-01烧录指南