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

最后的最后

审核编辑 黄宇

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

    关注

    2550

    文章

    51046

    浏览量

    753137
  • 监视器
    +关注

    关注

    1

    文章

    780

    浏览量

    33130
收藏 人收藏

    评论

    相关推荐

    具有 PWM 抑制功能的高侧驱动、高侧电磁阀监视器应用说明

    电子发烧友网站提供《具有 PWM 抑制功能的高侧驱动、高侧电磁阀监视器应用说明.pdf》资料免费下载
    发表于 09-12 10:31 0次下载
    具有 PWM 抑制功能的高侧驱动、高侧电磁阀<b class='flag-5'>监视器</b>应用说明

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

    智能家居之旅(4):神器在手摸鱼Rd-01
    的头像 发表于 09-05 10:27 381次阅读
    智能家居之旅(15):HA传感<b class='flag-5'>器</b>采集主板低功耗设计的遭遇

    使用MSP430I2040的单相和直流嵌入式计量(功率监视器)

    电子发烧友网站提供《使用MSP430I2040的单相和直流嵌入式计量(功率监视器).pdf》资料免费下载
    发表于 08-30 10:36 0次下载
    使用MSP430I2040的单相和直流嵌入式计量(功率<b class='flag-5'>监视器</b>)

    集成风扇控制的LM96000硬件监视器数据表

    电子发烧友网站提供《集成风扇控制的LM96000硬件监视器数据表.pdf》资料免费下载
    发表于 08-14 11:11 0次下载
    集成风扇控制的LM96000硬件<b class='flag-5'>监视器</b>数据表

    LM96194 TruTherm硬件监视器数据表

    电子发烧友网站提供《LM96194 TruTherm硬件监视器数据表.pdf》资料免费下载
    发表于 08-14 11:03 0次下载
    LM96194 TruTherm硬件<b class='flag-5'>监视器</b>数据表

    具有集成风扇控制的LM93硬件监视器数据表

    电子发烧友网站提供《具有集成风扇控制的LM93硬件监视器数据表.pdf》资料免费下载
    发表于 08-14 10:44 0次下载
    具有集成风扇控制的LM93硬件<b class='flag-5'>监视器</b>数据表

    LM94硬件监视器数据表

    电子发烧友网站提供《LM94硬件监视器数据表.pdf》资料免费下载
    发表于 08-14 10:42 0次下载
    LM94硬件<b class='flag-5'>监视器</b>数据表

    如何用一块免费的PCB板完成2元USB小夜灯控制

    HomeAssistant的方法 智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 实现点灯 智能家居之旅(4):神器在手摸鱼
    的头像 发表于 07-30 10:33 278次阅读
    如何用一块免费的PCB板完成2元USB小夜灯控制<b class='flag-5'>器</b>?

    AMC60304具高电流输出DAC和多通道ADC的4通道光学监视器和控制数据表

    电子发烧友网站提供《AMC60304具高电流输出DAC和多通道ADC的4通道光学监视器和控制数据表.pdf》资料免费下载
    发表于 07-19 10:44 0次下载
    AMC60304具<b class='flag-5'>有</b>高电流输出DAC和多通道ADC的4通道光学<b class='flag-5'>监视器</b>和控制<b class='flag-5'>器</b>数据表

    workbench的监视器如何通过串口连接到开发板?

    的是NUCLEO-F303RE+X-NUCLEO-IHM08M1的开发板套件。workbench的监视器如何通过串口连接到开发板。是连接UART2吗?连接不成功是怎么回事?
    发表于 03-29 06:01

    安信可雷达模组Rd-01烧录指南

    Rd-01是安信可科技开发的雷达模组,该模组支持 Wi-FiBLE实时传输检测结果。 Rd-01提供可视化的配置工具,可轻松配置感应距离范围、不同区间的感应灵敏度和无人延时时间等。同时支持
    的头像 发表于 03-21 11:28 509次阅读
    安信可雷达模组<b class='flag-5'>Rd-01</b>烧录指南

    安信可雷达模组Rd-01烧录操作说明

    Rd-01是安信可科技开发的雷达模组,该模组支持 Wi-Fi&BLE ,以及雷达检测功能。雷达部分搭载矽典微的S3KM111L芯片。可感知区域内是否运动或者微动的人体,通过Wi-Fi&BLE实时传输检测结果。
    的头像 发表于 03-17 15:52 701次阅读
    安信可雷达模组<b class='flag-5'>Rd-01</b>烧录操作说明

    18V、380nA 电压监视器TPS3847数据表

    电子发烧友网站提供《18V、380nA 电压监视器TPS3847数据表.pdf》资料免费下载
    发表于 03-14 10:52 0次下载
    18V、380nA 电压<b class='flag-5'>监视器</b>TPS3847数据表

    高精度、过压和欠压监视器TPS3702数据表

    电子发烧友网站提供《高精度、过压和欠压监视器TPS3702数据表.pdf》资料免费下载
    发表于 03-14 10:28 0次下载
    高精度、过压和欠压<b class='flag-5'>监视器</b>TPS3702数据表

    典型电池监视器电路图分享

    电池监视器是一种用于监控电池状态和性能的设备。它可以实时监测电池的电压、电流、温度等参数,并提供电池健康状况的评估和预警功能。
    的头像 发表于 02-12 12:51 775次阅读
    典型电池<b class='flag-5'>监视器</b>电路图分享