# 数据采集终端 V1.0.0(FreeRTOS · 串口日志中文版) > 本工程由「智能水产投料机 V1.5.10」精简而来,**只负责 485 数据采集与上报**, > 去掉了控制类硬件相关功能。串口日志为中文输出(**GBK 编码**,串口工具/蓝牙 APP 字符集请选 GBK)。 ## 与投料机 V1.5 的差异 **已彻底删除(源文件移除,不再参与编译):** - 四路继电器 + 反馈电路(`HardWare/RELAY/` 整目录删除,GPIO 不配置) - HLW8032 电量计量(`HardWare/HLW8032/` 删除,UART5/PD2 不再初始化,energy/power 不再上报) - 电量检测 ADC(`HardWare/ADC/` 删除) - 法拉电容断电保护(断电预警、掉电上报、掉电熄屏流程) - 重启历史记录(`reset_log.c/h` 删除,各复位点不再记录原因) - 投喂控制(feed_scale 整模块删除,无投喂状态机/单次投量/去皮) - 磅秤称重采集(平台不上报任何磅秤参数) - 平台下行控制指令处理(iot.prop.set 不再响应,下行只处理 OTA;本平台产品类只看数据) **保留功能:** - **485 传感器采集**(`HardWare/SENSOR/sensor.c`):USART2(PA2/PA3) 9600,DMA+IDLE 定帧接收,Modbus RTU 主机,一条总线可挂多个传感器(从机地址按下表配置),每 10s 本地查询刷新(OLED 实时显示);上传在"OTA 已确认"后 +5s/+30s/+60s 各一次,之后每 5 分钟一次,在线传感器的参数各自组一条 `iot.prop.post` 上报,协议取自《485伴侣/多级菜单》,标识符对齐《采集终端/V3.0》: | 从机地址 | 传感器 | 上报标识符 | | --- | --- | --- | | 0x01 | 水体PH-EC | `PH`, `EC` | | 0x02 | 大气压温湿度 | `BS_T`(气温), `BS_RH`(湿度), `BS_DO`(气压kPa) | | 0x03 | 水体溶解氧DO59 | `DS_T`(水温), `DO`(mg/L,UNESCO换算,两阶段启动/读取) | | 0x06 | 大气百叶箱 | `BY_TP`, `BY_RH`, `BY_HV`(光照Lux), `BY_CO2`(ppm) | | 0x07 | 叶面温湿度 | `YSMD_TP`, `YSMD_RH` | | 0x08 | 土壤温湿度 | `SOIL_TP`, `SOIL_RH` | | 0x09 | 土壤氮磷钾 | `SOIL_NV`, `SOIL_PV`, `SOIL_KV` | | 0x0A | 土壤PH | `SOIL_PH` | | 0x0B | 土壤电导率 | `SOIL_RV`(uS/cm) | - 传感器失败原因日志(无应答/帧异常/CRC错/原始帧 hex),OLED 轮换显示在线传感器数值(5s 一路) - **电池电量**:PA0 ADC 检测,随每轮上传上报 `BAT_VAL`(0~100),分压比/电量区间在 `main.h` 的 `BAT_*` 宏配置(默认沿用控制板:分压比 11、+0.6V 偏移、10.8V=0%、12.6V=100%) - **双网络通道**:4G(Air780E/EG) 优先,WiFi(ESP-01S) 兜底,自动切换,记住上次联网方式 - **OTA 远程升级**:4G/WiFi 双通道 HTTP 下载,BootLoader 试运行计数与失败回滚 - **GPS 定位上报**:Air780EG GNSS,`PRODUCT_WITH_GPS` 宏或蓝牙 GPS0/GPS1 控制 - **蓝牙调试**:HLK-B40(USART1),上电自动配置名称/UUID/发射功率,支持全部调试命令 - **OLED 显示**:未联网显示联网进度(4G 阶段/WiFi 倒计时),联网后显示重量(读不到显示原因)与运行时间,防烧屏像素偏移 ## 硬件接口 | 模块 | 接口 | 说明 | | --- | --- | --- | | 日志/蓝牙 HLK-B40 | USART1 PA9/PA10 | 115200,GBK | | 485 磅秤 | USART2 PA2/PA3 | 9600,DMA+IDLE | | 4G Air780E/EG | USART3 PB10/PB11 | 921600,CAT_PWR=PC4 开漏拉低开机 | | WiFi ESP-01S | UART4 PC10/PC11 | 921600,ESP_RST=PA5,ESP_EN=PA6 高有效 | | OLED 0.96 | CLK=PC12 MOSI=PC9 DC=PC8 CS1=PC7 FSO=PC6 CS2=PB15 RST=PB14 | 带中文字库 | | 蓝牙控制 | BT_MODE=PB0(开漏) BT_RST=PA7(低工作/高复位) | | | LED | NET_NET 等 | 配网快闪/联网慢闪 | ## 配置项(`Inc/main.h`) - `FIRMWARE_VERSION_STR`:固件版本字符串(采集终端独立产品线,从 1.0.0 起) - `MQTT_CLIENT_ID/USERNAME/PASSWORD`:每台设备烧录前改成对应平台的设备三元组 - `PRODUCT_WITH_GPS`:默认 1(4G 通道 GNSS 上报) - `BLE_NAME` / `BLE_TX_POWER`:蓝牙名称 / 发射功率 ## 蓝牙调试命令 `HELP` 查看全部命令;常用: - `STATUS`:查询当前采集重量 - `GPS` / `GPS0` / `GPS1`:查询/关闭/开启 GPS 上报 - `LOGTRACE` `LOGDEBUG` `LOGINFO` `LOGWARN` `LOGERROR` `LOGFATAL`:日志等级(EEPROM 保存) - `OTA`:重启进 BootLoader 检查升级;`RECOVERY`:WiFi 模块恢复出厂;`RESET`:软复位 ## 编译与烧录 - Keil MDK 打开 `MDK-ARM/STM32F103rb_App1.uvprojx`,必须带编译选项 `--no_multibyte_chars` - 编译产物 bin 自动输出到 `OutputBin/STM32F103rb_App1.bin`(用于平台 OTA 上传) - 烧录:J-Link 运行 `jlink_flash.jlink`;BootLoader 在 `../STM32F103_BootLoader`,与投料机通用