0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

神器在手,摸鱼我有!用Rd-01做个老板监视器

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2024-05-21 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

伙伴们,还记得之前小美让我做的“老板监视器”吗?不记得不要紧,连接在这:神器在手,摸鱼我有?巧用雷达感应器的惊险一刻。

就是这个小东西:

wKgZomZL8f6ACnC3AAF11SQ8_FY01.jpeg

这个DEMO所用的就是安信可的Rd-01 人体存在雷达传感器,这个雷达传感器的特点参考资料:https://docs.ai-thinker.com/rd-01。

自带的WiFi 功能,可以接入任何云平台,这次接入的就是HomeAssistant,通过配置自动化检测,实现平板电脑手机的弹窗提示,达到警告作用。

这次要讲的就是类似Rd-01 雷达传感器,这种只有0和1的二进制传感器如何使用HomeAssistant-C 库接入HomeAssistant。

wKgaomZL8f6AZqrUAAAuHmxfM5M45.jpeg

一、binary Sensor 介绍

binary Sensor 实体,中文名叫:二进制传感器。

顾名思义数据只有0和1两种状态,我们所用过的红外人体存在传感器、火焰传感器、Rd-01人体存在雷达、甚至是手扶梯的人体检测都属于二进制传感器。所以,这些传感器在HomeAssistant对它们的配置是最简单的。

好的,binary Sensor 就(实)介(在)绍(编)完(不)了(下去了)!

二、binary Sensor 实体创建

这一小节需要大家已经实现了“switch”实体的创建并完成点灯,如果你还没有是实现这个,马上、立刻去看:智能家居之旅,第三站:Ai-M61/M62 接入HomeAssistant 实现点灯。

因为之后只介绍对应的实体怎么使用,不会继续介绍其他内容,为了方便测试,代码更不会重新建立工程。

打开之前创建的"HomeAssistant_switch"工程中"main.c"文件,在"ha_event_cb"回调函数中的 HA_EVENT_MQTT_CONNECED 事件下创建实体:

//创建二进制实体

static ha_Bsensor_entity_t entity_binary_sensor = {

.name = "二进制传感器",//给个名字

.unique_id = "binary_sensor1",//声明一个唯一的id 号

};

//向HomeAssistant 添加二进制实体

homeAssistant_device_add_entity(CONFIG_HA_ENTITY_BINARY_SENSOR, &entity_binary_sensor);

代码如下:

wKgZomZL8f-ABf4WAACY-dsjdgY51.jpeg

就这样,一个二进制实体就创建好了,烧录验证一下:

wKgaomZL8gCAVX9dAABtQSV_gzQ53.jpeg

可以看到,刚刚创建的"二进制传感器"已经在之前建立的设备当中了,但是它处于不可用状态,这个怎么办呢?

方法一:复位一下开发板

方法二:等我修复...........

三、上传binary Sensor

binary Sensor 传感器已经创建好了,那下一步就是数据上传了。

其实HomeAssistant-C 上传数据只需要一个函数:homeAssistant_device_send_state。上传binary sensor 数据:

homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_BINARY_SENSOR, <实体节点>, <0/1>);

比如:

wKgZomZL8gGASLgtAACVOUIzZf457.jpeg

烧录并且重新复位之后,能看到HomeAssistant中的 "二进制传感器"处于"开启"状态。

homeAssistant_device_send_state函数的第二个,是一个实体的节点,为了大家能够在任何地方能够正确获取到需要的节点,HomeAssistant-C 库提供了一个函数:

homeAssistant_fine_entity(char* entity_type,const char* unique_id)

在使用这个函数的时候,只需要传递实体的类型和unique id,比如找到unique id=binary_sensor1的二进制实体:

ha_Bsensor_entity_t* entity_bs = homeAssistant_fine_entity(CONFIG_HA_ENTITY_BINARY_SENSOR, "binary_sensor1");

有了这个函数,可以在其他代码段使用

homeAssistant_device_send_entity_state函数发送数据,像这样:

homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_BINARY_SENSOR,homeAssistant_fine_entity(CONFIG_HA_ENTITY_BINARY_SENSOR, "binary_sensor1"), 1);

四、测试

延续上一节的问题:三个开关怎么识别只有开关1能控制蓝灯?

答案:通过unique id来识别。

可以通过homeAssistant_fine_entity,先找到需要判断的实体,然后再通过双方的unique id 来识别就能确认,下发的命令是否是"开关1",同时上传一下二进制传感器的状态:

ha_sw_entity_t* sw1_s = homeAssistant_fine_entity(CONFIG_HA_ENTITY_SWITCH, "sw1");//找到"开关1实体"

//判断是否是开关1的命令

if (ha_dev->entity_switch->command_switch->unique_id==sw1_s->unique_id&&ha_dev->entity_switch->command_switch->switch_state) {

bflb_gpio_set(gpio, GPIO_PIN_15);

然后可以看到如下效果:

wKgaomZL8gGARM9kAAHsr-y_ys0450.gif

最后的最后

审核编辑 黄宇

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

    关注

    2579

    文章

    56008

    浏览量

    796420
  • 监视器
    +关注

    关注

    1

    文章

    805

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析MAX15031:80V、300mW升压转换与电流监视器

    深入解析MAX15031:80V、300mW升压转换与电流监视器 在电子设计领域,对于需要高电压偏置和精确电流监测的应用场景,一款性能出色的升压转换和电流监视器至关重要。今天,我们
    的头像 发表于 03-12 15:05 341次阅读

    LTC2921/LTC2922系列电源跟踪与输入监视器:特性、应用与设计要点

    LTC2921/LTC2922系列电源跟踪与输入监视器:特性、应用与设计要点 在电子设备的设计中,电源管理是至关重要的一环。尤其是在多电源系统中,如何确保各个电源的稳定、可靠运行,以及实现电源之间
    的头像 发表于 02-28 15:45 462次阅读

    低功耗电源管理神器——LTC2935 电压监视器详解

    低功耗电源管理神器——LTC2935 电压监视器详解 在电子设备的电源管理领域,低功耗、高精度、多功能的电压监视和复位功能是至关重要的。今天,我们就来深入探讨一下 Linear Technology
    的头像 发表于 02-27 11:45 543次阅读

    LTC2992 双宽范围功率监视器:设计与应用的全面解析

    LTC2992 双宽范围功率监视器:设计与应用的全面解析 在电子设备的设计中,精确监测电源的电流、电压和功率对于确保系统的稳定性和性能至关重要。LTC2992 双宽范围功率监视器作为一款功能强大
    的头像 发表于 02-26 14:35 428次阅读

    深入剖析LTC2965 100V微功耗单电压监视器

    深入剖析LTC2965 100V微功耗单电压监视器 在电子设计领域,电压监测是确保系统稳定运行的关键环节。今天我们要深入探讨的是Linear Technology(现属ADI)推出的LTC2965
    的头像 发表于 02-26 14:25 387次阅读

    深入剖析LM96194硬件监视器:功能、应用与设计要点

    深入剖析LM96194硬件监视器:功能、应用与设计要点 在现代电子设备的设计中,硬件监视器扮演着至关重要的角色,它能够实时监测设备的各项参数,确保系统的稳定运行。今天,我们就来深入探讨一款功能强大
    的头像 发表于 02-26 09:35 447次阅读

    BQ7692000PWR 3 至 5 节电池锂离子和锂磷酸盐电池监视器

    BQ7692000PWR3至5节电池锂离子和锂磷酸盐电池监视器产品型号:BQ7692000PWR产品品牌:TI/德州仪器产品封装:TSSOP20产品功能:电池监测和平衡器BQ7692000PWR
    的头像 发表于 02-02 11:40 710次阅读
    BQ7692000PWR   3 至 5 节电池锂离子和锂磷酸盐电池<b class='flag-5'>监视器</b>

    BQ7693001DBTR 6 至 10 节电池锂离子和锂磷酸盐电池监视器

    BQ7693001DBTR6至10节电池锂离子和锂磷酸盐电池监视器产品型号:BQ7693001DBTR产品品牌:TI/德州仪器产品封装:TSSOP30产品功能:电池监测和平
    的头像 发表于 01-04 11:47 814次阅读
    BQ7693001DBTR    6 至 10 节电池锂离子和锂磷酸盐电池<b class='flag-5'>监视器</b>

    与AI助手的那些事儿:一个小老板的数字化转型日记

    本文记录了——一个传统行业小老板,如何从对AI一窍不通,到成为Flexus AI智能体重度用户的心路历程。希望能给同样在数字化转型路上摸索的中小企业主一些启发。 2025年11月15日 晴
    的头像 发表于 12-18 13:42 515次阅读

    安信可雷达模组如何快速配网和调参?

    安信可配网助手app介绍 安信可配网助手app是由安信可开发的一款 可拿来对安信可模组进行配网以及对雷达模组进行调参的APP 。 下面将对APP搭配安信可雷达模组Rd-01Rd
    的头像 发表于 10-31 08:59 1196次阅读
    安信可雷达模组如何快速配网和调参?

    请问NuMicro® Cortex-M® 系列芯片是否支持 I2C 监视器功能?

    NuMicro® Cortex-M® 系列芯片是否支持 I2C 监视器功能?
    发表于 08-21 06:04

    德州仪器ADS131B24-Q1高压电池组监视器技术解析

    Texas Instruments ADS131B24-Q1高压电池组监视器是用于汽车电动汽车 (ev) 电池管理系统 (BMS) 的完全集成监视器。ADS131B24-Q1集成了两个同步采样
    的头像 发表于 08-12 15:08 1297次阅读
    德州仪器ADS131B24-Q1高压电池组<b class='flag-5'>监视器</b>技术解析

    Texas Instruments AMC6V704模拟监视器和控制数据手册

    Texas Instruments AMC6V704模拟监视器和控制专为光收发应用而设计。它包括四个具有可编程输出范围的12位VDAC和四个12位电流输出型数模转换 (IDAC)
    的头像 发表于 07-17 10:13 1070次阅读
    Texas Instruments AMC6V704模拟<b class='flag-5'>监视器</b>和控制<b class='flag-5'>器</b>数据手册

    使用SIL级电源监视器的优势

    此前强调了诊断活动对于满足基本功能安全标准的定性和定量的意义,如图1所示。出于定性考虑,无论安全完整性等级(SIL)如何,都必须实施电源监视器。而对于定量要求,主要有两个考虑因素:可靠性预测和架构
    的头像 发表于 07-11 15:40 2027次阅读

    Analog Devices Inc. LTC3337一次电池健康状况监视器数据手册

    Analog Devices Inc. LTC3337一次电池健康状况 (SOH) 监视器可提供电池放电、电压、阻抗和温度的精确实时读数。LTC3337设计用于与一次电池串联,相关串联电压降极小。该
    的头像 发表于 07-01 10:46 1119次阅读
    Analog Devices Inc. LTC3337一次电池健康状况<b class='flag-5'>监视器</b>数据手册