# Hy-Jr-Perphi **Repository Path**: clint315/hy-jr-perphi ## Basic Information - **Project Name**: Hy-Jr-Perphi - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-24 - **Last Updated**: 2026-01-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: HY-JR ## README # Hy-Jr-Perphi 项目 基于 RK3568 平台的外设驱动和控制系统项目,提供了完整的硬件外设支持,包括 4G 网络、串口通信、GPIO 扩展、传感器采集等功能。 ## 项目概述 本项目为嵌入式 Linux 系统提供了一套完整的外设驱动和管理方案,主要应用于工业控制、物联网设备等领域。 ### 主要特性 - 4G 网络连接与维护 - RS485 通信支持 - WiFi 模块驱动 - ADC 模拟量采集 (ADS1115) - GPIO 扩展 (PCA9555) - 多串口扩展 (CH9434A) - SPI 设备控制 - PWM 风扇温度控制 - 系统级集成测试工具 ## 项目结构 ``` Hy-Jr-Perphi/ ├── 4g/ # 4G 网络模块 │ ├── init.sh # 初始化脚本 │ ├── poweron_4g.sh # 上电脚本 │ ├── poweroff_4g.sh # 断电脚本 │ ├── route.sh # 路由配置 │ ├── usbnet_4g.sh # USB 网络配置 │ └── systemd_service/ # Systemd 服务 │ ├── apn_maintainer.cpp # APN 连接维护守护进程 │ ├── apn_maintainer.service # 服务配置 │ └── Makefile │ ├── ads1115/ # ADS1115 ADC 模块 │ ├── check_devicetree.sh # 设备树检查 │ ├── read_ai.sh # 读取模拟量输入 │ ├── test_ai.sh # 模拟输入测试 │ └── test_do.sh # 数字输出测试 │ ├── ch9434a/ # CH9434A 四串口扩展芯片 │ └── systemd_service/ │ ├── CH9434A.service # 服务配置 │ ├── ch943x_module.ko # 内核模块 │ └── load_ch9434.sh # 加载脚本 │ ├── fan/ # 风扇控制模块 │ └── systemd_service/ │ ├── fan-control.service # 服务配置 │ └── fan-control.sh # PWM 温度自适应控制 │ ├── IntegrationTesting/ # 集成测试工具 │ ├── Makefile │ └── peripheral_test.c # RK3568 外设综合测试程序 │ ├── pca9555/ # PCA9555 GPIO 扩展 │ ├── gpio-pca953x.ko # 内核模块 │ └── interrupt_di.sh # 中断输入测试 │ ├── rs485/ # RS485 通信模块 │ ├── ch943x_module.ko # CH9434 内核模块 │ ├── lostPackageTest/ # 丢包测试工具 │ │ ├── Makefile │ │ ├── master.c # 主机测试程序 │ │ ├── slave.c # 从机测试程序 │ │ └── serial_cross.h # 串口交叉测试头文件 │ └── tty_uart/ # TTY UART 通用应用 │ ├── README.md │ ├── tty_uart.c # 串口通用程序 │ └── tty_uart # 编译后的可执行文件 │ ├── spi/ # SPI 设备控制 │ ├── poweron_nrsec3000.sh # NRSEC3000 上电 │ ├── poweroff_nrsec3000.sh # NRSEC3000 断电 │ └── spidev_test # SPI 设备测试工具 │ ├── tools/ # 工具集 │ └── tcpdump.sh # 网络抓包工具 │ └── wifi/ # WiFi 模块 └── systemd_service/ ├── 8188eu.ko # RTL8188EU 驱动模块 └── 8188eu.service # 服务配置 ``` ## 快速开始 ### 环境要求 - **硬件平台**: RK3568 或兼容平台 - **操作系统**: Linux (推荐 Ubuntu/Debian) - **编译工具**: GCC, Make - **权限**: root 权限(用于硬件操作) ### 编译安装 #### 1. 集成测试工具 ```bash cd IntegrationTesting make sudo ./peripheral_test ``` #### 2. 4G 网络维护服务 ```bash cd 4g/systemd_service make sudo cp apn_maintainer.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable apn_maintainer.service sudo systemctl start apn_maintainer.service ``` #### 3. RS485 测试工具 ```bash cd rs485/lostPackageTest make # 主机模式 sudo ./master /dev/ttyUSB0 # 从机模式 sudo ./slave /dev/ttyUSB1 ``` #### 4. TTY UART 应用 ```bash cd rs485/tty_uart gcc tty_uart.c -o tty_uart # 使用示例 sudo ./tty_uart -D /dev/ttyS1 -S 115200 -v ``` ## 模块详细说明 ### 4G 网络模块 提供 4G 模块的电源管理、APN 配置和网络连接维护功能。 **主要功能**: - 4G 模块上下电控制 - APN 自动配置 (CMIOTDLBDZJK.CQ) - 网络接口管理 (usb0) - 自动重连机制 **使用方法**: ```bash # 手动上电 sudo ./4g/poweron_4g.sh # 手动断电 sudo ./4g/poweroff_4g.sh # 初始化 sudo ./4g/init.sh # 配置路由 sudo ./4g/route.sh ``` ### ADS1115 ADC 模块 16位高精度ADC模块,支持4通道差分/单端输入。 **使用方法**: ```bash # 检查设备树配置 sudo ./ads1115/check_devicetree.sh # 读取模拟量 sudo ./ads1115/read_ai.sh # 测试模拟输入 sudo ./ads1115/test_ai.sh ``` ### CH9434A 串口扩展 四路高性能USB转串口模块。 **使用方法**: ```bash # 加载驱动 sudo ./ch9434a/systemd_service/load_ch9434.sh # 启用服务 sudo systemctl enable CH9434A.service sudo systemctl start CH9434A.service ``` ### 风扇温度控制 基于 PWM 的自适应风扇调速系统。 **温度策略**: - ≤ 40°C: 风扇停止 - 40-70°C: 自适应调速 - ≥ 70°C: 全速运行 **使用方法**: ```bash # 启用服务 sudo systemctl enable fan-control.service sudo systemctl start fan-control.service # 查看状态 sudo systemctl status fan-control.service ``` ### PCA9555 GPIO 扩展 16位I²C GPIO扩展芯片。 **使用方法**: ```bash # 加载模块 sudo insmod pca9555/gpio-pca953x.ko # 测试中断输入 sudo ./pca9555/interrupt_di.sh ``` ### RS485 通信 完整的 RS485 通信解决方案,包括通用串口应用和通信质量测试。 **TTY UART 命令选项**: ```bash -D, --device 指定串口设备 (默认: /dev/ttyUSB0) -S, --speed 设置波特率 -v, --verbose 实时显示接收数据 -f, --hardflow 启用硬件流控 ``` **交互命令**: - `s` - 设置 RTS/DTR 有效 - `z` - 设置 RTS/DTR 无效 - `g` - 获取 MODEM 状态 - `h` - 等待 MODEM 信号变化 - `b` - 发送 break 信号 - `w` - 发送字符串 - `r` - 读取数据 - `f` - 文件传输 ### SPI 设备控制 SPI 设备电源管理和通信测试。 **使用方法**: ```bash # NRSEC3000 上电 sudo ./spi/poweron_nrsec3000.sh # NRSEC3000 断电 sudo ./spi/poweroff_nrsec3000.sh # SPI 设备测试 sudo ./spi/spidev_test -D /dev/spidev0.0 ``` ### WiFi 模块 RTL8188EU WiFi 芯片驱动支持。 **使用方法**: ```bash # 启用服务 sudo systemctl enable 8188eu.service sudo systemctl start 8188eu.service # 检查接口 ifconfig wlan0 ``` ## 集成测试 外设综合测试程序支持以下功能测试: - 串口通信测试 - GPIO 输入输出测试 - ADC 采集测试 - SPI 设备测试 - 4G 网络连接测试 - WiFi 连接测试 - 系统温度监控 **运行测试**: ```bash cd IntegrationTesting make sudo ./peripheral_test [选项] ``` ## 故障排查 ### 4G 模块无法连接 1. 检查 SIM 卡是否正确安装 2. 确认 APN 配置正确 3. 查看系统日志: `journalctl -u apn_maintainer.service` 4. 检查 GPIO 36 配置 ### 串口无法通信 1. 确认设备节点存在: `ls /dev/tty*` 2. 检查波特率配置是否匹配 3. 确保有足够权限: `sudo usermod -a -G dialout $USER` 4. 检查驱动是否加载: `lsmod | grep ch943x` ### 风扇不工作 1. 检查 PWM 设备: `ls /sys/class/pwm/pwmchip0/` 2. 查看服务状态: `systemctl status fan-control.service` 3. 确认温度读取正常: `cat /sys/class/thermal/thermal_zone0/temp` ### GPIO 扩展无响应 1. 检查 I²C 总线: `i2cdetect -y 0` 2. 确认设备树配置正确 3. 查看内核日志: `dmesg | grep pca955` ## 系统配置 ### Systemd 服务管理 项目中的多个模块提供了 systemd 服务支持,可实现开机自启动: ```bash # 查看所有相关服务 systemctl list-units | grep -E "apn_maintainer|fan-control|CH9434A|8188eu" # 启用所有服务 sudo systemctl enable apn_maintainer.service sudo systemctl enable fan-control.service sudo systemctl enable CH9434A.service sudo systemctl enable 8188eu.service # 启动所有服务 sudo systemctl start apn_maintainer.service sudo systemctl start fan-control.service sudo systemctl start CH9434A.service sudo systemctl start 8188eu.service ``` ### 内核模块加载 ```bash # 在 /etc/modules 中添加需要开机加载的模块 echo "gpio-pca953x" | sudo tee -a /etc/modules echo "ch943x_module" | sudo tee -a /etc/modules ``` ## 开发指南 ### 添加新的外设模块 1. 在项目根目录创建新模块文件夹 2. 提供必要的驱动程序或脚本 3. 如需开机自启,创建 systemd 服务文件 4. 更新本 README 文档 ### 代码规范 - C/C++ 代码遵循 Linux 内核编码规范 - Shell 脚本使用 bash,添加错误处理 - 所有脚本添加适当的注释和使用说明 ## 许可证 (待填写) ## 贡献者 (待填写) ## 技术支持 (待填写) ## 更新日志 ### Version 2.0 - 添加集成测试工具 - 完善 4G APN 维护机制 - 优化风扇温控算法 - 修复串口丢包问题 - 完善文档 --- 最后更新: 2025-12-16