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

审核编辑 黄宇

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

    关注

    1942

    文章

    9943

    浏览量

    195516
  • 配网
    +关注

    关注

    0

    文章

    177

    浏览量

    9464
  • IOT
    IOT
    +关注

    关注

    189

    文章

    4369

    浏览量

    206591
  • 安信可
    +关注

    关注

    0

    文章

    216

    浏览量

    4952
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    小智AI语音模组实测:实现语音控制关灯

    ,完整复现一次智能语音产品的测试流程。 No01、开箱与硬件初探 很幸运收到送测试的Ai-WV01-32S模组,依然采用防静电包装,模块紧凑小巧。 为了快点上电测试,直接在模组上
    的头像 发表于 11-19 16:09 455次阅读
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>小智AI语音模组实测:实现语音控制关灯

    双频WiFi模组在智能家居的应用优势

    智能家居为例,小张的家里部署了一个由双频WiFi模块驱动的智能系统,包括:客厅的智能电视、空调、语音助手,书房的电脑,卧室的智能窗帘,厨房的智能
    的头像 发表于 11-13 17:30 1096次阅读

    雷达模组如何快速配和调参?

    可配助手app介绍 可配助手app是由
    的头像 发表于 10-31 08:59 245次阅读
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>雷达模组如何快速配<b class='flag-5'>网</b>和调参?

    Matter 1.4.2版本解析,我们的智能家居仍在持续进步

    Matter 1.4.2增强安全性与兼容性,支持Wi-Fi,降低设备成本,提升智能家居互操作性。
    的头像 发表于 08-22 15:25 2022次阅读
    Matter 1.4.2版本解析,我们的<b class='flag-5'>智能家居</b>仍在持续进步

    轻松配置小智AI语音开发板,IOT小程序功能更新

    版使用教程: AI语音开发板全面升级商用版!(附教程) 为了让开发体验更加流畅,
    的头像 发表于 08-19 17:46 919次阅读
    轻松配置小智AI语音开发板,<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>IOT</b>小程序<b class='flag-5'>功能</b>更新

    上手体验小安派AI开发板,如何接入Home Assistant?

    开发板】开箱、、对话 【AiPi-PalChatV1语音开发板】小智 MCP 接入 Home Assistant 目录 一、开箱 1.1包装 1.2开发板 二、开发板介绍 2.1功能
    的头像 发表于 07-08 10:34 4121次阅读
    上手体验<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>小安派AI开发板,如何接入Home Assistant?

    舵机在智能家居里的应用

    舵机在智能家居领域应用广泛,主要体现为:1)控制智能门锁、窗帘等家居设备;2)提升扫地机器人越障能力和洗地机自清洁功能;3)驱动家居机器人完
    的头像 发表于 06-25 15:38 848次阅读
    舵机在<b class='flag-5'>智能家居</b>里的应用

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、卓源码)实例项目打包下载

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、卓源码)实例项目打包,推荐下载!
    发表于 05-29 21:47

    BLE + Mesh ,蓝牙模组从可穿戴到智慧照明全覆盖场景

    消费电子、智能家居、健康穿戴等领域的高性能产品。 蓝牙模块主要分为PB系列、TB系列、TG系列。
    的头像 发表于 05-28 11:16 939次阅读

    Matter 智能家居的通用语言

    Matter由连接标准联盟(CSA)创建,旨在解决智能家居的互操作性问题。Matter 基于简单性、互操作性、可靠性和安全性四大核心原则 。 是采用基于 IP 应用层的开源协议,本质上是一种“通用
    发表于 05-19 15:35

    明远智睿SSD2351开发板:智能家居智能核心

    ,实现设备之间的协同工作,为用户提供更加智能化的生活体验。 丰富的接口使得开发板能够轻松连接各种智能家居设备。通过USB接口可以连接智能摄像头、智能音箱等设备,实现视频监控和语音交互
    发表于 05-07 18:59

    智能家居Mesh组网方案:实现智能化生活的无缝连接NRF52832

    自组织的 Mesh 网络,将各个智能设备连接在一起,实现了全屋智能家居的无缝连接。与传统的单点连接方式相比,Mesh 网络具有更强的稳定性和可靠性,同时能够穿越墙壁等障碍物,扩大了信号覆盖范围。 功能
    发表于 04-15 14:07

    拯救急性子!涂鸦推出快连Plus方案,批量网速度猛增5倍

    一、什么是Wi-Fi设备智能家居系统关键的一环,它连通智能设备与家庭无线网络,使其能够
    的头像 发表于 04-03 18:07 1328次阅读
    拯救急性子!涂鸦推出快连Plus<b class='flag-5'>配</b><b class='flag-5'>网</b>方案,批量<b class='flag-5'>配</b>网速度猛增5倍

    蓝牙模组PB系列常见问题

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

    Zigbee智能家居应用场景分享

    智能照明系统中扮演着核心角色。通过Zigbee协议,用户可以远程控制家中的灯光,实现定时开关、亮度调节和色彩变化等功能。此外,智能照明系统还能根据环境光线自动调节亮度,节省能源。 2. 智能
    的头像 发表于 12-09 15:51 2267次阅读