【雷达灯控】安信可 Rd-03E LED联动控制

[复制链接]
查看859 | 回复13 | 2024-3-13 21:01:58 | 显示全部楼层 |阅读模式

本帖最后由 midu 于 2024-3-13 21:30 编辑

安信可 Rd-03E 雷达模组介绍

安信可新款雷达模组 Rd-03E 已经上市,该雷达采用高性能一发一收微带天线,包含极简化 24GHz 雷达传感器硬件 Rd-03E 和智能算法固件 RM01,而智能算法固件 RM01 采用 FMCW 波形和 S3 系列芯片专有的先进信号处理技术,可以实现精准的人体测距和运动/微动人体感应。

详细资料参考: https://docs.ai-thinker.com/rd-03 这是一个很棒的尝试和实践 通过参与免费试用报名,你成功获取到了Rd-03E 雷达模组,对于java出生的我想要实现了雷达和LED灯光的联动控制,通过购买网关设备和io串口模块来解决LED灯联动控制的功能。 系统架构

技术路径:springboot+Vue3+MQTT

串口java代码实现

/**
     * 串口初始化
     */
    public static void initSerialPort(){
        // 获取可用串口列表
        SerialPort[] ports = SerialPort.getCommPorts();

        if (ports.length == 0) {
            System.out.println("没有可用的串口");
            return;
        }

        // 选择第一个可用串口
        SerialPort port = ports[0];

        // 打开串口
        if (!port.openPort()) {
            System.out.println("无法打开串口");
            return;
        }

        // 配置串口参数
        port.setComPortParameters(256000, 8, 1, SerialPort.NO_PARITY);

        // 创建串口数据监听器
        port.addDataListener(new SerialPortDataListener() {
            @Override
            public int getListeningEvents() {
                return SerialPort.LISTENING_EVENT_DATA_AVAILABLE;
            }
            @Override
            public void serialEvent(SerialPortEvent event) {
                if (event.getEventType() != SerialPort.LISTENING_EVENT_DATA_AVAILABLE)
                    return;
                // 读取串口数据
                byte[] newData = new byte[port.bytesAvailable()];
                // 处理读取到的数据
                isMove(newData);
            }
        });
    }
    static  int moveFlag = 0;//0:初始 1:人来 2:人走
    static int comeInCnt  = 0;
    static int comeOutCnt  = 0;
    private static void isMove(byte[] newData){
        if(null != newData && newData.length > 0){
            if(HexUtil.toHex(newData[0]).equals("ffffffaa") && HexUtil.toHex(newData[newData.length-1]).equals("55")){
                byte[] distinctData = {newData[2],newData[1]};
                long distinctDataValue = HexUtil.hexToLong(HexUtil.encodeHexStr(distinctData));
                byte handValue = newData[3];
                if(distinctDataValue > 0){
                    comeInCnt ++;
                    comeOutCnt = 0;
                } else {
                    comeOutCnt ++;
                    comeInCnt = 0;
                }
                if(comeInCnt >= 20){
                    comeInCnt = 0;
                    if(moveFlag != 1 ){
                        moveFlag = 1;
                        RdMessageDTO rdMessageDTO = new RdMessageDTO();
                        rdMessageDTO.setHandMoveFlag(handValue==1);
                        rdMessageDTO.setInFlag(true);
                        sendChangeMsg(rdMessageDTO);
                    }
                }
                if(comeOutCnt >= 20){
                    comeOutCnt = 0;
                    if(moveFlag != 2 ){
                        moveFlag = 2;
                        RdMessageDTO rdMessageDTO = new RdMessageDTO();
                        rdMessageDTO.setHandMoveFlag(handValue==1);
                        rdMessageDTO.setInFlag(false);
                        sendChangeMsg(rdMessageDTO);
                    }
                }
            }
        }
    }

    /**
     * 发送mqtt数据
     * @param rdMessageDTO
     */
    private static  void sendChangeMsg(RdMessageDTO rdMessageDTO){
        DeviceMqttJSONMessageDTO deviceMqttJSONMessageDTO = new DeviceMqttJSONMessageDTO();
        deviceMqttJSONMessageDTO.setNo("05");
        deviceMqttJSONMessageDTO.setData(rdMessageDTO);
        MqttMessage mqttMessage  = new MqttMessage(JSONUtil.toJsonStr(deviceMqttJSONMessageDTO).getBytes());
        try {
            String readTopic = "/midu/0002/properties/reply";
            SpringUtil.getBean(MqttClient.class).publish(readTopic, mqttMessage);
        } catch (MqttException e) {
            e.printStackTrace();
        }
    }

展示视频

雷达RD03E

回复

使用道具 举报

lza | 2024-3-13 23:20:55 | 显示全部楼层
沙发插眼求详细教程
回复 支持 反对

使用道具 举报

干簧管 | 2024-3-14 09:07:55 | 显示全部楼层
厉害
回复

使用道具 举报

WT_0213 | 2024-3-14 09:08:21 | 显示全部楼层
回复

使用道具 举报

lazy | 2024-3-14 09:38:31 | 显示全部楼层
厉害
回复

使用道具 举报

1084504793 | 2024-3-14 10:11:56 | 显示全部楼层
回复

使用道具 举报

1055173307 | 2024-3-14 13:36:20 | 显示全部楼层
厉害
回复

使用道具 举报

物联网 | 2024-3-15 09:24:54 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-3-15 09:53:41 | 显示全部楼层
视频用支架拍摄的吗看着很专业的样子。我只能拍一样镜头不变的那种
回复 支持 反对

使用道具 举报

putin | 2024-3-15 10:58:23 | 显示全部楼层
可以学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则