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

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

3天内不再提示

孩子看电视距离太近了?用Rd-03E 做个距离提醒!

安信可科技 2024-03-30 08:22 次阅读

本作品由安信可社区用户

wukong50制作



8a4105d4-ee2b-11ee-9118-92fbcf53809c.jpg

8a641c90-ee2b-11ee-9118-92fbcf53809c.png

作者说:

以下是我用雷达模组做的电脑提醒小工具

因为我有一个儿子

他经常用电脑看动画片

稍不注意他就趴电脑屏幕上了

所以我就借雷达模组做了距离提醒工具

模组通过 TTL 直接与电脑通信

上位机使用 Python 来做

检测到孩子趴在电脑前看

就播放语音(“距离太近了”)

让孩子自己往后挪

如果超过 3 次

孩子还不动,则直接锁定屏幕

这下孩子想靠近看都不行了

另外还添加了 MQTT 服务器连接

将每次检测到的距离信息传到MQT服务器上,方便和其他设备联动

1

接线

直接使用 USB 转 TTL 连接即可

8a7cf1de-ee2b-11ee-9118-92fbcf53809c.jpg

2

UART.py

# pip install pyserialimport osimport timeimport serialfrom playsound import playsound import mmqttnum = 0 # 用于判断第几次触发zhen_len = 7# 打开串行端口ser = serial.Serial('COM7', 256000, timeout=1)if ser.isOpen(): print("串行端口已打开") else: print("无法打开串行端口") exit() # MQTT配置client = mmqtt.mqtt_init()while True: try: data = ser.read(7 * 11) print(type(data)) print(data.hex()) except: data = [] # 解析数据并存储 juli_list = [] # 索引0 运动1还是微动2 ,索引1,距离 for i in range(len(data)): if data[i] == 0xAA and data[i+1] == 0xAA: # 第1,2位是AA if data[i+5] == 0x55 and data[i+6] == 0x55: # 第6,7位是55 # 数据验证成功 加入列表 juli = data[i+4]*256+data[i+3] # 小端 print(juli) juli_list.append(juli) # 过滤数据 # print(juli_list) juli_list = sorted(juli_list) # 排序 # print(juli_list) # 计算需要去除的元素数量 remove_count = 3 juli_list = juli_list[remove_count:-remove_count] print(juli_list) juli = sum(juli_list) / len(juli_list) mmqtt.publish_msg(client, str(juli)) if juli < 40 and juli > 0: num += 1 if num < 4:            # 播放音频            playsound(r'D:\0.wav')        else:            num = 0            # 锁定计算机            # os.system('rundll32.exe user32.dll,LockWorkStation')    elif juli > 100 or juli == 0: num = 0 # 锁定计算机 # os.system('rundll32.exe user32.dll,LockWorkStation') time.sleep(10) ser.close()

3

mmqtt.py

import paho.mqtt.client as mqtt # 配置MQTT连接参数 MQTT_BROKER = "" # 替换为你的EMQX服务器地址 MQTT_PORT = 8883 # MQTT默认端口,如果EMQX配置了其他端口,请相应修改 MQTT_TOPIC = "RD03E" # 要发布的MQTT主题 MQTT_CLIENT_ID = "" # MQTT客户端ID username = ''password = ''# MQTT回调函数 def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") # 订阅主题 client.subscribe(MQTT_TOPIC) def on_message(client, userdata, msg): print(f"Received message '{msg.payload}' on topic '{msg.topic}' with QoS {msg.qos}") def mqtt_init(): # 创建MQTT客户端实例 client = mqtt.Client(MQTT_CLIENT_ID) # 绑定连接回调函数 client.on_connect = on_connect # 绑定消息回调函数 client.on_message = on_message client.tls_set(ca_certs='./emqxsl-ca.crt') client.username_pw_set(username, password) # 连接到MQTT代理 client.connect(MQTT_BROKER, MQTT_PORT) # 开始MQTT客户端循环 client.loop_start() return client # # 发布消息 def publish_msg(client, msg): client.publish(MQTT_TOPIC, msg) def mqtt_end(client): client.disconnect() client.loop_stop(

4

代码输出

8a8b2ace-ee2b-11ee-9118-92fbcf53809c.png

5

MQTT 消息

8a97213a-ee2b-11ee-9118-92fbcf53809c.png

6

数据过滤

在数据采集方面,每次采集 10 次数据,并把距离信息从小到大排序,剔除三个最高分,剔除三个最低分,最后才把剩下的数据进行平均,这样可以稍微确保得到的数据更准确些。

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

    关注

    2870

    文章

    41659

    浏览量

    358432
  • 服务器
    +关注

    关注

    12

    文章

    8125

    浏览量

    82548
收藏 人收藏

    评论

    相关推荐

    孩子看电视距离太近了?用Rd-03E做个距离提醒

    机通过Python开发实现 当检测到孩子趴在电脑前距离太近,则会播放语音(“距离太近了”) 以便提醒
    的头像 发表于 04-16 15:30 105次阅读
    <b class='flag-5'>孩子</b><b class='flag-5'>看电视距离</b><b class='flag-5'>太近了</b>?用<b class='flag-5'>Rd-03E</b><b class='flag-5'>做个</b><b class='flag-5'>距离</b><b class='flag-5'>提醒</b>!

    【用户体验】使用Rd-03E 雷达如何实现实时监测目标距离

    本作品由安信可社区用户 Bushiwonie 制作 Rd-03E基于STM32F103C8T6平台以UART为抓手实现监测目标距离可视化,通过GPIO赋能LED、Buzzer进一步强化视觉、听觉感知
    的头像 发表于 03-29 11:00 128次阅读
    【用户体验】使用<b class='flag-5'>Rd-03E</b> 雷达如何实现实时监测目标<b class='flag-5'>距离</b>?

    如何使用Rd-03E雷达实现实时监测目标距离呢?

    Rd-03E基于STM32F103C8T6平台以UART为抓手实现监测目标距离可视化,通过GPIO赋能LED、Buzzer进一步强化视觉、听觉感知。
    的头像 发表于 03-25 14:44 190次阅读
    如何使用<b class='flag-5'>Rd-03E</b>雷达实现实时监测目标<b class='flag-5'>距离</b>呢?

    pcb板引脚间距离太近怎么办

    当PCB板的引脚间距太近时,可能会导致电路的性能受到干扰或损坏电子元器件。因此,解决这个问题至关重要。下面是一些可以采取的方法来应对引脚间距过近的情况。 增加层间距:通过在PCB板上添加更多
    的头像 发表于 01-04 13:50 827次阅读

    AiPi-Radar-Monitor 雷达检测站(Rd-03D)

    Hello~工程师又来整活了。这是一个使用小安派-DSL-3.5寸开发的Rd-03D 雷达检测站,可以把Rd-03D检测的内容显示在3.5寸触摸屏上,直观地查看雷达的检测结果。 性能参数 地图角度
    的头像 发表于 12-18 10:45 148次阅读
    AiPi-Radar-Monitor 雷达检测站(<b class='flag-5'>Rd-03</b>D)

    毫米波雷达检测不到目标? 距离设置如何搞定?用它!

    Rd-02B、Rd-02C、Rd-03Rd-03D、Rd-03ERd-03L和
    的头像 发表于 12-06 08:22 416次阅读
    毫米波雷达检测不到目标? <b class='flag-5'>距离</b>设置如何搞定?用它!

    毫米波雷达检测不到目标? 距离设置如何搞定?用它!

    上适配了 Rd-02B、Rd-02C、Rd-03Rd-03D、Rd-03ERd-03L 和
    的头像 发表于 11-22 16:21 482次阅读
    毫米波雷达检测不到目标? <b class='flag-5'>距离</b>设置如何搞定?用它!

    一图懂 | 华为智慧屏如何便捷看电视

    华为智慧屏 开机就能看直播电视频道 让看电视简单直接! 便捷设置,快来查收! ☟☟☟ 备注: 1.   广告 | 图片仅供参考,请以实物为准。 原文标题:一图懂 | 华为智慧屏如何便捷看电视? 文章出处:【微信公众号:华为智慧生
    的头像 发表于 10-26 09:05 1299次阅读
    一图懂 | 华为智慧屏如何便捷<b class='flag-5'>看电视</b>?

    安信可新款雷达模组Rd-03E精准测距效果

    专有的先进信号处理技术,可以实现精准的人体测距和运动/微动人体感应。 本应用示例使用STM32解析Rd-03E的串口数据,检测人体距离雷达的距离,根据距离不同来点亮不同的灯珠,0~2米
    的头像 发表于 10-23 17:56 326次阅读
    安信可新款雷达模组<b class='flag-5'>Rd-03E</b>精准测距效果

    使用STM32解析Rd-03E的串口数据

    安信可新款雷达模组Rd-03E已经上市,该雷达采用高性能一发一收微带天线,包含极简化24GHz雷达传感器硬件Rd-03E和智能算法固件RM01,而智能算法固件RM01采用FMCW波形和S3系列芯片专有的先进信号处理技术,可以实现精准的人体测距和运动/微动人体感应。
    的头像 发表于 10-21 16:41 480次阅读
    使用STM32解析<b class='flag-5'>Rd-03E</b>的串口数据

    安信可Rd-03E雷达模组,能用手势控制家电啦~

    安信可Rd-03E是一款24GHz 单雷达,高性能24GHz一发一收微带天线模组,可对运动、微动人体进行探测、识别,并上报实时距离,能够探测指定区域内的目标与手势并实时上报结果。 产品可应用在智能
    的头像 发表于 10-16 10:15 249次阅读
    安信可<b class='flag-5'>Rd-03E</b>雷达模组,能用手势控制家电啦~

    基于Rd-03E雷达模组的手势控制家电方案

    Rd-03E是一款24GHz 单雷达,高性能24GHz一发一收微带天线模组,可对运动、微动人体进行探测、识别,并上报实时距离,能够探测指定区域内的目标与手势并实时上报结果。
    发表于 10-15 09:46 189次阅读
    基于<b class='flag-5'>Rd-03E</b>雷达模组的手势控制家电方案

    关于Rd-03D雷达模组产品概述

    安信可Rd-03D雷达模组基于FMCW雷达收发器技术的集成单片机毫米波传感器SoC,它工作在24GHz的K波段,最大扫频带宽0.25GHz。白天黑夜均能探测远距离的目标,且不受雾、云和雨的阻挡,具有全天候、全天时的特点,并有一定的穿透能力。
    发表于 10-15 09:42 221次阅读
    关于<b class='flag-5'>Rd-03</b>D雷达模组产品概述

    一分钟上手安信可雷达模组Rd-03

    一分钟上手安信可雷达模组Rd-03教程来了!Rd-03模组可感知区域内是否有运动或者微动的人体,实现实时检测结果。提供可视化的配置工具,可轻松配置感应距离范围、不同区间的感应灵敏度和无人延时
    的头像 发表于 06-20 11:42 351次阅读
    一分钟上手安信可雷达模组<b class='flag-5'>Rd-03</b>

    一分钟上手安信可雷达模组Rd-03

    Rd-03模组可感知区域内是否有运动或者微动的人体,实现实时检测结果。提供可视化的配置工具,可轻松配置感应距离范围、不同区间的感应灵敏度和无人延时时间等。
    的头像 发表于 06-19 10:00 289次阅读
    一分钟上手安信可雷达模组<b class='flag-5'>Rd-03</b>