打卡​智能家居之旅(5):Ai-WB2 使用HomeAssistant-C库接入HomeAssistant

2024-07-22 安信可科技 微信公众号
开发板,Ai-M61,Ai-M62,Ai-WB2 开发板,Ai-M61,Ai-M62,Ai-WB2 开发板,Ai-M61,Ai-M62,Ai-WB2 开发板,Ai-M61,Ai-M62,Ai-WB2

前言

之前所有写的《智能家居之旅》帖子代码都是基于Ai-M61来开发的,不少大佬跟我反馈说:

Ai-M61/62只用来连接MQTT太浪费资源了,Ai-WB2更具性价比!


我觉得有道理,所以昨天就把HomeAssistant-C 给做了一次大改,提升了耦合性,目前仓库的master分支也可以支持Ai-WB2了,顺便再贴个库的链接:

https://gitee.com/Ai-Thinker-Open/Ai-M6x_HomeAssistant-C


现在,跟着我来试试吧!


01 获取Ai-WB2 SDK

SDK地址:https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2


推荐使用git来克隆SDK:

Linux 开发环境请参考:Ai-WB2系列模组linux开发环境搭建

Windows 开发环境请参考:【二次开发教程】Ai-WB2系列的eclipes搭建环境教程


✔务必先搭建好开发环境,并且能成功烧录运行。


我使用的是Linux 的开发环境,如果你已经有Windows 的开发经验,也可以参考本贴来移植HomeAssistant-C ,欢迎分享你的Windows移植教程。


02 获取HomeAssistant-C

HomeAssistant-C 只是一个连接库,不能作为工程直接运行,所以在获取之前先找一个可运行工程,我这里使用的是WiFi的连接例程:

cd Ai-Thinker-WB2/applications/wifi/station



1、复制 “station”文件夹下的"bouffalo.mk"文件到

"Ai-M6x_HomeAssistant-C" 下面:

2. 然后删除"Ai-M6x_HomeAssistant-C"的"bouffalo.mk"文件的所有内容,并添加以下内容:

COMPONENT_ADD_INCLUDEDIRS :=./HomeAssistant-C

COMPONENT_SRCDIRS := ./HomeAssistant-C

COMPONENT_OBJS := $(patsubst %.c,%.o, $(COMPONENT_SRCS))

3.在"Makefile"文件添加以下内容:

INCLUDE_COMPONENTS += axk_common tcp_transport http-parser axk_tls axk_mqtt cjson 

INCLUDE_COMPONENTS += Ai-M6x_HomeAssistant-C

EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/Ai-M6x_HomeAssistant-C

4. 在main.c 文件引用接口头文件 :

#include "homeAssistantPort.h"


5. 修改使用Ai-WB2的宏定义

HomeAssistant-C 默认使用了Ai-M6x 的接口,需要修改成Ai-WB2的,只在"homeAssistantPort.c"文件屏蔽掉"#define CONFIG_Ai_M6x",并添加"#define CONFIG_Ai_WB2":

#define CONFIG_Ai_WB2


完成这一步之后,就可以编译了:

make -j32


编译成功:

03 改代码开始运行

话不多说,直接复制:《智能家居之旅,第三站:Ai-M61/M62 接入HomeAssistant 实现点灯》中的测试代码。


3.1 在main.c 文件的第 172 行 下面添加:

static homeAssisatnt_device_t ha_device;

    ha_device.mqtt_info.mqtt_clientID = "Ai-WB2_Kit_Switch";

    ha_device.mqtt_info.mqtt_host = "mqtt服务器地址";

    ha_device.mqtt_info.port = 1883;

    ha_device.mqtt_info.mqtt_username = "HomeAssistant_switch";

    ha_device.mqtt_info.mqtt_password = "12345678";


    ha_device.name = "我的Ai-WB2开发板"; //设备名称

    ha_device.model = "Ai-wb2开发板";//模块名称

    ha_device.manufacturer = "取个名字真难";//产商名称


    homeAssistant_device_init(&ha_device, ha_event_cb);


3.2 并且在 main() 函数上面粘贴回调函数及内容,这里定义了一个开关的实体:

void ha_event_cb(ha_event_t event, homeAssisatnt_device_t* ha_dev)

{

    switch (event)

    {

        case HA_EVENT_MQTT_CONNECED:

            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_CONNECED\r\n");

            //一定要加static

            static ha_sw_entity_t entity_sw1 = {

                 .name = "开关1",

                 .icon = "mdi:power",

                 .unique_id = "ai-wb2_sw1",

            };


            homeAssistant_device_add_entity(CONFIG_HA_ENTITY_SWITCH, &entity_sw1);

            homeAssistant_device_send_status(HOMEASSISTANT_STATUS_ONLINE);

            homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_SWITCH, &entity_sw1, 0);

            break;

        case HA_EVENT_MQTT_DISCONNECT:

            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_DISCONNECT\r\n");


            break;

        case HA_EVENT_MQTT_COMMAND_SWITCH:

            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_COMMAND_SWITCH\r\n");

            // LOG_I("switch addr =%p", ha_dev->entity_switch->command_switch);

            HA_LOG_I(" switch %s is %s\r\n", ha_dev->entity_switch->command_switch->name, ha_dev->entity_switch->command_switch->switch_state?"true":"flase");

            int ret = homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_SWITCH, ha_dev->entity_switch->command_switch, ha_dev->entity_switch->command_switch->switch_state);

            if (ret!=-1)HA_LOG_I("%s send entity suceess,state=%s\r\n", ha_dev->entity_switch->command_switch->name, ha_dev->entity_switch->command_switch->switch_state?"true":"flase");


            break;

        default:

            break;

    }

}


3.3 修改需要连接的路由账号及密码

3.4 在获取到IP地址之后,启动HomeAssistant 连接


在 "CODE_WIFI_ON_GOT_IP"事件下添加:

 homeAssistant_device_start();

烧录测试:make flash结果:


未完待续

我预测一下,会有人问:我不会Ai-WB2二次开发,能不能做个AT指令的链接库?

授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由中国颜值的半壁江山转载自安信可科技 微信公众号,原文标题为:​智能家居之旅(5):Ai-WB2 使用HomeAssistant-C库接入HomeAssistant,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

平台合作

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

Ai-BS21系列烧录指导——开发板or模组

本篇以Ai-BS21-32S_Kit为例指导烧录固件,这是由深圳市安信可科技有限公司开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。

2024-06-24 -  设计经验 代理服务 技术支持 采购服务

用Ai-WB2开发板做智能家居全彩LED小夜灯

介绍用Ai-WB2开发板做智能家居全彩LED小夜灯的方法及技术要求。

2024-11-22 -  设计经验 代理服务 技术支持 采购服务

Ra-09系列开发板入门教程,标准LoRaWAN协议对接国外 TTN LoRaWAN 开源服务器

本文章将说明如何在TTN中创建应用与节点设备,配置安信可Ra-09模块连接至TTN服务,实现数据发送与接收。

2024-11-19 -  设计经验 代理服务 技术支持 采购服务

低能耗、低时延、快速度,星闪开发板Ai-BS21-32S-Kit更多场景应用,邀您一起来探索!

万众期待的星闪开发板上架了!Ai-BS21-32S-Kit 低延迟,高效率!话不多说!先回顾下基本参数信息。

2024-06-23 -  产品 代理服务 技术支持 采购服务

安信可科技无线模组选型表

提供安信可科技无线模组选型,封装:DIP/SMD,尺寸:10.3mm*9.9mm*2.4(±0.2)mm-120.0mm*120.0mm*30.0mm,通信接口:UART/GPIO/ADC/PWM/I?C/SPI/Touch senser/PSRAM/SDIO/Duplex I²S/麦克风/扬声器,最大速率:2.5mW-100mW,参考距离:80m-5km,供电电压:1.9V-5.25V

产品型号
品类
封装
尺寸(mm)
通信接口
最大速率(mW)
参考距离(m/km)
供电电压(V)
空中速率(Kbps/Mbps)
天线形式
工作温度(℃)
NF-01-S
2.4G模组
DIP-8
28.6mm*15.3mm
SPI
5mW
240m
1.9V-3.6V
250Kbps-2Mbps
板载天线
-20℃~70℃

选型表  -  安信可科技 立即选型

高性能开发板Ai-M61-32S-Kit助力Wi-Fi6+BLE5.3模组

Ai-M61-32S-Kit是针对Ai-M61-32S模组设计的开发板。Ai-M61-32S是由深圳市安信可科技有限公司开发的Wi-Fi6+BLE5.3模组,该模组搭载BL618芯片作为核心处理器,支持Wi-Fi 802.11b/g/n/ax协议和BLE协议,支持Thread协议。

2024-06-22 -  产品 代理服务 技术支持 采购服务

星闪开发板or模组烧录指导

Ai-BS21-32S_Kit是由安信可科技开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。

2024-06-21 -  设计经验 代理服务 技术支持 采购服务

【技术】中移芯昇MCU芯片CM32M101A开发板的使用方法

CM32M101A是中移芯昇推出的首颗MCU芯片。目前已在智能门锁、红外测温仪、工业衣服裁剪机器和挂件运输系统、打印机喷头控制板、车联网北斗数据安全终端、智能双路充电插座相关场景进行应用方案拓展。 

2022-11-20 -  技术探讨 代理服务 技术支持 采购服务

【外设移植】基于AI-WB2-32S开发板的SG90舵机控制案例

介绍Ai-WB2模组驱动舵机控制(SG90)的技术要求和方案。

2024-11-05 -  应用方案 代理服务 技术支持 采购服务

智能家居之旅(7):HomeAssistant开发板的RGB颜色

hello,有谁还记得之前小美的视频?当时做了一个RGB灯,并且说了 RGB的一些开发过程。所以说RGB实体很早之前就已经开发好了,只是一直没有写帖子介绍它的用法。今天就给大家介绍一下 RGB 彩灯怎么上HomeAssistant,然后控制Ai-M61开发板的 RGB 灯的颜色,感觉这个项目用来控制家里的灯条就挺不错的。

2024-07-18 -  设计经验 代理服务 技术支持 采购服务

打开智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 实现点灯

上一篇我们介绍了MQTT设备如何接入HomeAssistant,这一篇就给大家讲一下Ai-M61/M62 开发板或者模组怎么通过编程来接入HomeAssistant。这次的帖子会从开发环境搭建开始讲,一直到HomeAssistant 控制Ai-M61-Kit 开发板的蓝灯,会有点长,请耐心看完。

2024-07-21 -  设计经验 代理服务 技术支持 采购服务

AIPI-语音开发板测试固件使用教程

本文档为AiPi-Voice开发板测试固件使用教程。介绍了AiPi-Voice开发板的特性,包括支持WiFi6和BLE 5.3,丰富的外围接口如DVP、MJPEG、Display、AudioCodec等。详细说明了如何通过串口烧录固件,并提供了下载链接。最后,指导用户如何在烧录后操作开关控制声音播放。

安信可科技  -  开发板,DEVELOPMENT BOARD,AI-M61-32S

2023/8/10  - 用户指南 代理服务 技术支持 采购服务

安信可推出基于Ai-M61-32S的屏幕驱动开发板,支持2.8/3.5寸等30Pin SPI显示屏

小安派-DSL(AiPi-DSL) 是安信可开源团队专门为 Ai-M61-32S 设计的一款屏幕驱动开发板,支持 2.8/3.5 寸等 30Pin SPI 显示屏、2.4 寸及 1.28 寸等 18Pin SPI 显示屏。

2023-07-13 -  原厂动态 代理服务 技术支持 采购服务

复旦微电子推出板载芯片FM33LE026的demo开发板FM33LE0xx,助于客户测试开发和评估

FM33LE0xx开发板是上海复旦微电子集团有限公司提供给客户测试开发和评估的一款demo板,其板载的芯片型号为FM33LE026 (ARM Cortex-M0内核) 芯片。该芯片最高主频为64Mhz,RAM为16KB,Flash为128KB。

2022-10-10 -  原厂动态 代理服务 技术支持 采购服务

Ai-M62-M2-I-Kit 规格书

本规格书介绍了Ai-M62-M2-I-Kit开发板的详细信息,包括产品概述、特性、主要参数、外观尺寸、指示灯及按键说明、管脚定义、原理图、产品包装信息和联系方式。该开发板基于Ai-M62-M2-I模块,支持Wi-Fi 6+BLE 5.3协议,适用于多种应用场景。

安信可科技  -  开发板,WI-FI 6+BLE5.3 模组,模组,AI-M62-M2-I,AI-M62-M2-I-KIT,智能家居,安全应用,物联网,音频多媒体,移动设备,视频多媒体,可穿戴电子设备,IOT

2023.11.15  - 数据手册  - V1.1.1 代理服务 技术支持 采购服务 查看更多版本
展开更多

电子商城

查看更多

品牌:安信可科技

品类:WiFi+蓝牙模块

价格:¥8.5000

现货: 20

品牌:安信可科技

品类:Wi-Fi 6+BLE5.3模组

价格:¥16.2500

现货: 10

品牌:安信可科技

品类:开发板

价格:

现货: 0

品牌:安信可科技

品类:wifi开发板

价格:¥20.7200

现货: 0

品牌:安信可科技

品类:wifi开发板

价格:¥17.8800

现货: 0

品牌:安信可科技

品类:wifi开发板

价格:¥18.1300

现货: 0

品牌:安信可科技

品类:wifi开发板

价格:¥18.6300

现货: 0

品牌:安信可科技

品类:wifi开发板

价格:¥17.7500

现货: 0

品牌:安信可科技

品类:NB-IOT开发板

价格:¥72.1000

现货: 0

品牌:安信可科技

品类:NB-IOT开发板

价格:¥37.6300

现货: 0

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:开发板

价格:¥259.1316

现货:48

品牌:RENESAS

品类:开发板

价格:¥4,100.0000

现货:20

品牌:迅为

品类:开发板

价格:¥378.2000

现货:15

品牌:RENESAS

品类:开发板

价格:¥5,157.7200

现货:8

品牌:RENESAS

品类:DEMO BOARD

价格:¥647.5800

现货:7

品牌:RENESAS

品类:开发工具

价格:¥19.9940

现货:7

品牌:RENESAS

品类:EVALUATION BOARD

价格:¥9,620.4300

现货:7

品牌:RENESAS

品类:开发板

价格:¥2,200.0000

现货:5

品牌:RENESAS

品类:开发板

价格:¥4,000.0000

现货:5

品牌:华普微电子

品类:开发板

价格:¥200.0000

现货:5

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

工控触摸一体机定制

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制

最小起订量: 1台 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面