☰
PJ85718DM+STM32实现本地远程双路温度监测方案
2026/10/22 1:10:57 网站建设 项目流程

做嵌入式或者暖通控制设备的朋友,应该都有过这种经历:柜子里既要测板卡附近的温度,又得拉一根线出去测风管口或者远端设备表面的温度,两路都得看,还得保证精度、稳定性以及成本。前段时间我在某HVAC监控项目里正好接到这样一单需求,最后用PJ85718DM配合STM32L4S5ZI把问题解决了。PJ85718DM是一颗本地温度与远程温度二合一的数字传感器,STM32L4S5ZI则负责I2C读取、阈值判断和风扇等设备的控制。这篇内容我会把器件选型、硬件连接、寄存器操作、温度换算以及现场调试踩过的坑全部整理出来,给后面做类似嵌入式测温方案的朋友留个参考。

1. 项目概述与需求拆解

1.1 HVAC与嵌入式设备为什么需要认真测温

HVAC系统里温度监测几乎是所有控制逻辑的源头:风管送风温度决定要不要加湿、要不要提高风机转速;控制柜内部温度决定散热风扇该不该启动;回风温度则是整个区域环境状态的反馈。这些温度点往往分布在物理距离较远的几个位置,不可能全放在一块主控板上。

嵌入式设备自身的温度监测也是个容易被忽视的问题。MCU、电源芯片、功率驱动器件在工作时都会发热,温度过高轻则影响稳定性,重则烧板子。所以项目中通常既要检测设备内部的“本地温度”,又要检测外部环境的“远程温度”,两种场景对传感器的安装位置、线缆长度、采样方式都有不同要求。

我这次遇到的项目,客户要求测两个点:一个是柜内主控板附近的温度,另一个是空调风管出口的温度。两个点都由同一块主控板管理,并且要支持温度超限自动报警、自动开启散热风扇,以及把实时温度数据通过串口上报给上层监控系统。测温范围不算苛刻,但要求稳定、误差小、响应快,并且后期维护要尽量简单。

1.2 本地测温与远程测温的工程差异

本地温度测量通常指传感器安装在主控板附近,测量的是板卡周围或者机箱内部的空气温度。这个点距离MCU很近,信号线短,干扰小,电路设计相对简单。关键是传感器安装位置要避开大功率器件和散热片,否则有很大概率测到的是热源周围的局部高温,而不是真实的柜内环境温度。

远程温度测量则是把测温探头放到远离主控板的位置,通过线缆把信号引回来。这里容易出现三个问题:一是线缆延长之后容易引入电阻噪声和电磁干扰,二是探头的物理安装方式会影响测温准确性,三是如果探头本身是模拟量输出,长线传输会有压降和串扰,后端的调理电路也会增加成本。

如果用两个独立的模拟测温方案,比如NTC热敏电阻分别做两路,就得每条线都做好线性化处理、定标和线阻补偿。如果一路用热电偶,还要处理冷端补偿和信号放大,工程量会明显增加。这也是我这次坚持选用一体化数字测温方案的原因。

1.3 需求拆解与技术指标

动手之前先把需求整理成表,后面所有硬件选型和软件设计都围绕这些指标来展开。

项目要求
本地测温范围-20℃ ~ +85℃(设备柜内环境)
远程测温范围-40℃ ~ +120℃(风管工况)
测温精度常温下误差不超过 ±1℃
采样周期500ms 轮询一次
通信接口I2C,速率 400kHz
控制输出风扇启停、高温报警
人机交互本地LED状态灯,串口日志输出,预留LCD显示

整体方案目标很明确:用一个数字温度传感器芯片同时完成本地和远程两路测温,MCU通过I2C读取数据并做控制逻辑,省去模拟信号调理、冷端补偿和复杂的校准流程。

2. 器件选型与搭配逻辑

2.1 传感器选型:为什么是PJ85718DM而不是NTC或热电偶

项目最开始我也考虑过两路NTC的方案,因为NTC单颗物料成本很低。但仔细算一笔账就不难发现,两路NTC在实际工程里的隐性成本很高:NTC的阻温特性是非线性的,需要查表或者用多项式拟合;每个探头的一致性差异需要单独校准;长线传输时的线阻误差和引入的干扰会让读数忽高忽低。

热电偶方案能测更宽的范围,但热电偶输出的是微伏级差分信号,需要专用的仪表放大器放大,同时还要做冷端补偿。整个模拟链路调下来,周期至少要多出几天,而且板上空间和物料成本也压不住。

PJ85718DM这类数字温度传感器的做法简单得多。它把测温前端、ADC、寄存器、I2C接口都集成在一颗芯片里。本地通道直接用芯片内部温度传感器,远程通道则通过驱动外部一个P-N结二极管来测量温度,最后把两个通道的测量结果以数字形式放在寄存器里,MCU直接读走就行。

虽然我手头这颗PJ85718DM的具体内部框图不一定和所有二合一传感器完全一致,但这类芯片的核心原理是通用的:远程测温测的是半导体P-N结的正向压降与温度之间的关系。用一个固定的小电流去驱动外部二极管,二极管压降会随着温度上升近似线性下降,大约每升高1℃压降减小2mV左右。芯片内部做精密恒流源、高分辨率ADC和线性校正处理,计算得到的数字量再直接映射成温度值。这个原理保证了只要外部二极管选型正确、接线可靠,测温精度就基本由芯片出厂校准决定,现场不需要再做定标。

对比一下几类常用测温方案的工程特点:

方案精度与线性度远程传输难度现场工作量综合成本
NTC需要查表校准线阻影响明显高物料低但调试贵
热电偶需要冷端补偿需要专用放大高物料和电路成本高
数字温度传感器出厂已校准数字输出抗干扰低中
PJ85718DM二合一双通道统一校准一根两芯线即可低单芯片两路成本更优

对于HVAC和嵌入式控制设备这种需要长期稳定运行、不希望现场频繁校准的场景,数字温度传感器是更合适的选择。PJ85718DM的价值在于一颗芯片覆盖两个测温点,BOM更简单,两个通道的数据还能在传感器内部共享同一个ADC基准,一致性也比两路分立方案更好。

2.2 主控选型:STM32L4S5ZI的优势

主控芯片选型时,我项目里的功能需求并不复杂:I2C读传感器、串口打印、GPIO控制风扇、定时器产生PWM,外加后续可能接个段码LCD或者小屏显示。如果只看这些功能,一颗低端的Cortex-M0芯片就能跑,但考虑到后期要扩展协议栈、要支持更多通信接口、还要兼顾低功耗待机,我最终选了STM32L4S5ZI。

这颗芯片属于高性能低功耗系列,Cortex-M4F核,主频最高120MHz,Flash有2MB,SRAM有640KB。对HVAC面板类设备来说,Flash用来放显示字库、中文字库、调试日志缓冲区都非常宽裕。内部集成了LCD段码驱动、多路I2C、SPI、UART、CAN、USB等外设,后续不管是接触摸屏还是接楼宇总线协议,都不用再换主控平台。

低功耗能力也是当初考虑的重点。HVAC设备通常需要7x24小时运行,待机功耗越低越好。STM32L4S5ZI在停机模式下可以做到微安级别功耗,并且可以通过定时器或者外部中断唤醒,适合做间歇式测温:大部分时间睡眠,定时醒来采集一次温度、做一次逻辑判断,然后继续睡。这在很多需要电池或有节能要求的嵌入式产品里非常实用。

2.3 整体架构与信号流向

整个系统的数据流很清晰。PJ85718DM通过I2C总线和主控连接,芯片同时挂载本地温度传感器和远程二极管接口。主控STM32L4S5ZI周期性读取两个通道的温度寄存器,经过换算和滤波后得到实际温度值,送入上层逻辑模块。

上层逻辑模块做的事包括:温度超限判断、LCD显示更新、串口日志输出、继电器或风扇控制信号生成。如果项目需要联网或者接入BMS系统,主控还能把温度数据打包通过RS485或者以太网发送出去,这是单颗温度传感器芯片做不到的。

这样的架构有两点好处。第一,传感器和主控之间只是简单的I2C关系,更换不同类型或者不同厂商的数字温度传感器时,软件只需要改寄存器映射和换算系数,不用重新设计模拟前端。第二,传感器工作在远端,信号线只有两根数据线再加供电线,抗干扰能力远强于模拟电压信号传输。

3. 硬件设计与电路搭建

3.1 最小系统与引脚分配

STM32L4S5ZI的硬件设计我尽量参考官方推荐的最小系统,但实际项目中只保留了必要的部分:3.3V供电、退耦电容、SWD调试接口、复位电路、一颗LED作为状态灯、一个继电器的驱动电路,以及连接PJ85718DM的I2C接口。

电源部分用了一颗低压差稳压器,把输入电压稳到3.3V。PJ85718DM的工作电压范围比较宽,常见支持2.7V到5.5V,所以直接由3.3V供电没有压力。I2C总线的上拉电阻我选了4.7kΩ,在400kHz速率下能保证足够的上升沿斜率,同时功耗也不算大。如果总线上挂载的传感器数量比较多,上拉电阻可能要降到2.2kΩ左右,这个要结合实测波形来调。

引脚分配如下:

引脚功能说明
PB6I2C1_SCL接PJ85718DM的SCL
PB7I2C1_SDA接PJ85718DM的SDA
PA5LED状态正常运行每秒闪烁一次
PB0风扇控制高电平开启、低电平关闭
PB1报警输出高温时置高,驱动蜂鸣器

PJ85718DM的地址引脚A0、A1、A2全部接地,这样7位I2C地址配置为0x48。如果一块主控板上需要挂多个远程测温模块,可以给不同传感器配不同的地址引脚组合,理论上最多挂8颗。实际项目中我把I2C总线上保持只有这一颗传感器,预留了一组扩展接口方便后期再加第二路。

3.2 远程温度探头设计

远程温度探头是整个硬件设计里最需要注意的部分。PJ85718DM的远程通道需要接一个外部P-N结,最常见也最便宜的做法是直接用一个普通NPN三极管,把基极和集电极短接,当作一个二极管来用。

我项目中用的是常见的硅NPN三极管,比如BC847或者2N3904。这类管子随处可买,价格几毛钱,而且温度特性稳定,非常适合作为远程温度探头。接线时把基极和集电极短接后接传感器的D+引脚,发射极接D-引脚,方向不能接反,接反了读出的温度会明显失真或者直接显示错误值。

远程探头线缆我用了一根两芯屏蔽线,长度大约1.5米,从主控板拉到风管外壁。屏蔽层单端接地,防止长线引入共模干扰。如果线长超过2米,建议在传感器D+和D-之间并联一个2.2nF的电容,D+对地、D-对地分别加1nF电容,构成一个简单的RC滤波。这个电容值不宜过大,过大会拉慢远程通道的响应速度,甚至让测量结果产生额外的误差。

有个容易踩的坑是探头线的材质和电阻。远程测温原理虽然是电流激励,但过大的线电阻会改变恒流源的驱动电压余量,进而影响测量结果。所以远程线缆不要太细,尽量用0.3平方以上的屏蔽线,连接端子也要压接牢固。项目里第一版我用了一根很细的杜邦线去延长探头,结果温度读数在某个区间反复横跳,换了粗线并加了滤波电容之后立竿见影地稳定下来。

3.3 PCB布局与抗干扰设计

PCB布局对测温精度的影响经常被低估。PJ85718DM的本地温度通道测的是芯片自身附近的温度,如果芯片周围有大功率电阻、LDO、继电器驱动管这类发热元件,本地读数会明显偏高。我项目里遇到过本地温度比实际环境高出3℃的情况,后来排查发现就是传感器旁边有一块散热片的LDO,热辐射直接烤在传感器上。把传感器挪到板边、远离发热器件之后,读数立刻恢复正常。

传感器和主控之间的I2C走线尽量短,两条线要等长、平行,不要绕成圈,更不要在I2C走线下面铺大面积的电源层造成不必要的寄生电容。远程接口放在板边靠近安装孔的位置,方便出线,同时要尽量远离继电器、变压器、风扇电机等会产生电磁干扰的部件。

电源方面,给PJ85718DM的VCC引脚加了0.1μF退耦电容,靠近芯片引脚放置。如果系统电源纹波比较大,可以再并联一个10μF电容。如果布置得更精细,还可以给传感器供电加一个小磁珠或者RC滤波器,但这颗芯片本身对电源不算太敏感,做好常规退耦就够了。

4. 软件实现与代码解析

4.1 工程初始化与外设配置

软件开发我用了官方图形化初始化工具来完成外设配置,虽然手写寄存器也可以,但用工具生成框架代码能省不少时间,后面重点放在业务逻辑上。芯片型号选择STM32L4S5ZI,时钟配置成通过内部高速振荡器加锁相环倍频到120MHz。

I2C1配置为快速模式400kHz,7位寻址,其他参数保持默认。UART1配置为115200,用于调试日志输出。一个定时器配置为500ms中断,作为温度采集轮询周期。LED引脚和继电器控制引脚配置为推挽输出。

时钟频率要说明一下为什么选120MHz而不是满频。STM32L4S5ZI跑120MHz很轻松,但项目中大部分时间处于轻负载状态,频率拉满只会增加不必要的功耗。我之所以仍然配到120MHz,是为了给后期可能增加的显示刷新、通信协议解析留足余量。真正需要控制功耗的场景,可以在运行时动态降频或者进入停机模式。

初始化流程上电后大致如下:

void System_Init(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); MX_TIM2_Init(); HAL_Delay(100); // 等待外设上电稳定 PJ85718DM_Init(); HAL_UART_Transmit(&huart1, (uint8_t*)"Temperature monitor started\r\n", 29, 100); }

初始化里给传感器留了一个100ms的上电稳定时间。以往一些项目跳过这一步,上电立刻读寄存器,偶尔会读到全0或者异常值,原因就是传感器内部启动还没完成。这个延时量级很小,但对可靠性帮助很大。

4.2 温度和状态寄存器读取

PJ85718DM类的二合一传感器,寄存器映射一般包含本地温度、远程温度、配置、状态和上下限阈值。我使用的寄存器地址如下,这只是这类芯片最常见的分配方式,具体项目里务必对照手头datasheet再做确认。

寄存器地址说明
本地温度高字节0x0012位数据高8位
本地温度低字节0x01高4位有效,低4位为0
远程温度高字节0x0211位或12位数据高8位
远程温度低字节0x03高3位或高4位有效
配置寄存器0x04转换模式、阈值行为等
状态寄存器0x05报警标志、开路标志

读取两个温度通道的代码逻辑是一样的:先发寄存器地址,然后连续读两个字节,按位数拼成原始值。I2C读取用HAL库接口,加了超时保护。我习惯把所有传感器访问统一封装成函数,这样万一后期更换芯片型号或者修改寄存器映射,只改底层函数就够了。

uint8_t PJ85718DM_ReadRegs(uint8_t reg, uint8_t* buf, uint8_t len) { return HAL_I2C_Mem_Read(&hi2c1, PJ85718DM_ADDR << 1, reg, I2C_MEMADD_SIZE_8BIT, buf, len, 100); } uint8_t PJ85718DM_ReadTemp(uint8_t high_reg, uint8_t low_reg, float* temp) { uint8_t buf[2]; if (PJ85718DM_ReadRegs(high_reg, buf, 2) != HAL_OK) { return 0; // 读取失败 } int16_t raw = (buf[0] << 4) | (buf[1] >> 4); if (raw & 0x0800) { raw |= 0xF000; // 12位符号扩展 } *temp = raw * 0.0625f; return 1; }

注意这里的I2C地址要左移一位,因为HAL库使用的是8位地址。PJ85718DM的7位地址0x48转换成读写地址就是0x90和0x91。如果直接传0x48进去,通信会一直失败,这个问题新手经常遇到。

读取本地温度调用上面的函数,传本地温度高低字节寄存器地址即可。读取远程温度时,如果远程通道分辨率是0.125℃每LSB,换算系数要换成0.125,位数处理也要按照对应的位宽来。我项目里实测这颗芯片的远程通道是11位有效,所以远程温度的换算函数单独写了一个版本:

uint8_t PJ85718DM_ReadRemoteTemp(float* temp) { uint8_t buf[2]; if (PJ85718DM_ReadRegs(0x02, buf, 2) != HAL_OK) { return 0; } int16_t raw = (buf[0] << 3) | (buf[1] >> 5); if (raw & 0x0400) { raw |= 0xF800; // 11位符号扩展 } *temp = raw * 0.125f; return 1; }

4.3 温度换算与数值滤波

温度寄存器里的原始值是带符号补码,负温度的处理是一个常见坑点。如果直接把两个字节拼成一个无符号整数再乘分辨率,负温度会变成一个很大的正数。处理方式就是上面代码里先判断符号位,然后做符号扩展,再赋给有符号整型变量,最后乘上分辨率系数。

12位分辨率为0.0625℃,11位分辨率为0.125℃,这是这类传感器最常见的配置。实际读数中,原始值乘以对应系数之后得到的就是摄氏度数值。如果项目需要显示华氏度,可以在软件层做一个偏移换算,但传感器本身只支持摄氏。

为了提高现场稳定性,我又加了一层软件滤波。单个传感器原始读数偶尔会因为干扰跳出一个明显异常值,这种毛刺如果不处理,整个HVAC控制逻辑就可能产生误动作。我用的方法很简单:连续采3次,去掉一个最大值和一个最小值,取中间值作为有效数据。这个中值滤波对抑制偶发干扰非常有效,而且代码量很小。

float temp_filter(int channel) { float samples[3]; for (int i = 0; i < 3; i++) { if (channel == 0) { PJ85718DM_ReadTemp(0x00, 0x01, &samples[i]); } else { PJ85718DM_ReadRemoteTemp(&samples[i]); } HAL_Delay(20); } // 简单排序取中值 for (int i = 0; i < 2; i++) { for (int j = i + 1; j < 3; j++) { if (samples[j] < samples[i]) { float tmp = samples[i]; samples[i] = samples[j]; samples[j] = tmp; } } } return samples[1]; }

如果对响应速度有更高要求,可以只用二阶递推平均滤波,比如当前值和上一次采集值各取一半权重。但在HVAC这种温度变化本身不剧烈的场景,中值滤波的3次采样时间完全可以接受。

4.4 阈值中断与HVAC控制逻辑

温度监测系统最终要落到控制动作上。我项目中定义了四组阈值:

条件动作
远程温度 > 35℃开启散热风扇
远程温度 < 30℃关闭散热风扇
本地温度 > 80℃触发高温报警,打开蜂鸣器
本地温度 > 90℃强制风扇全速运转,上报异常

风扇控制我用GPIO高低电平实现,更精细一点的场景可以用PWM调速。使用PWM时,可以根据当前温度与阈值之间的差值,按比例调节PWM占空比,实现风扇转速的无极调节。这里有一个控制上的细节:如果只用单一阈值,温度在阈值附近波动时,风扇会不停地在开和关之间切换,这不仅消耗继电器寿命,还会让控制对象更不稳定。解决办法是设置滞回区间,也就是开启阈值和关闭阈值之间留一个差值,比如35℃开、30℃关,中间这5℃的宽度用来吸收波动。

void HVAC_Control(void) { float local_temp; float remote_temp; PJ85718DM_ReadTemp(0x00, 0x01, &local_temp); PJ85718DM_ReadRemoteTemp(&remote_temp); if (remote_temp > 35.0f) { HAL_GPIO_WritePin(FAN_GPIO_Port, FAN_Pin, GPIO_PIN_SET); } else if (remote_temp < 30.0f) { HAL_GPIO_WritePin(FAN_GPIO_Port, FAN_Pin, GPIO_PIN_RESET); } if (local_temp > 80.0f) { HAL_GPIO_WritePin(ALARM_GPIO_Port, ALARM_Pin, GPIO_PIN_SET); } else { HAL_GPIO_WritePin(ALARM_GPIO_Port, ALARM_Pin, GPIO_PIN_RESET); } }

主循环用定时器中断驱动,每500ms置一个标志位,主循环检测到标志位后执行一次温度采集和控制逻辑。如果项目功能继续增加,比如要跑Modbus协议、LCD界面刷新、按键扫描,前后台循环结构会变得难以维护,那时候就该上FreeRTOS了。温度采集任务独立成任务,I2C总线操作加上互斥锁保护,其他任务通过消息队列获取最新温度值。STM32L4S5ZI的资源跑FreeRTOS完全没有压力,不过简单的HVAC面板项目,前后台结构就已经够用。

5. 常见问题与排查实录

5.1 温度读数明显偏高如何定位

现场最容易遇到的现象是本地温度始终比环境温度高出好几度。不要急着怀疑传感器坏掉,先检查安装位置。传感器旁边有没有发热元器件、有没有被散热片包住、芯片底部大面积铜箔是否直接连接了电源层,这些都会导致测温结果偏高。

还有一个容易被忽略的因素是传感器的转换频率。如果配置成连续转换模式,传感器内部ADC会持续工作,芯片自身会产生微弱温升。再加上它旁边的其他器件发热,读数就会漂上去。解决方法是把转换频率降下来,比如改成1Hz或者8Hz,量级在HVAC场景完全足够,还能降低传感器自热影响。

传感器自热在高精度测温项目里是个真问题,通常表现为读数比真实值高0.2℃到0.5℃。如果对绝对精度要求很高,可以在软件里加入一个负偏置校正值,通过和标准水银温度计对比后标定。

5.2 I2C通信失败怎么办

I2C通信失败有几个典型的症状:初始化时读不到ACK、HAL库返回超时、温度值一直保持初始值不更新。排查顺序是:先检查地址有没有写错,特别是7位地址和8位地址的差别。然后检查SDA和SCL引脚是否连反,是否存在接触不良。再用示波器或者逻辑分析仪抓一下波形,看时钟线和高低电平是否正常。

SCL正常但SDA一直被拉低的场景很常见,这是I2C总线锁死现象。造成原因可能是某次通信过程中干扰导致从机状态机错乱。恢复方法是把SCL连续拉低9个时钟脉冲,释放那些等待数据位的从机。更暴力的方法是直接给传感器断电重启,重新初始化I2C外设。

我项目代码里给每次I2C操作都加了超时和重试逻辑,连续失败3次就判定传感器离线,进入故障报警状态。这个设计在长时间运行中很重要,因为总线上任何一次偶发错误都不应该让整个系统卡死。

5.3 远程温度跳变、出现坏值

远程温度通道出现跳变或者固定显示-128℃时,第一反应要查远程二极管的物理连接。D+和D-是否接反、探头是否牢固、线缆内部有没有断芯,这些都可以通过测量二极管两端电压来确认。正常工作状态下,二极管正向压降应该在0.5V到0.8V之间,不同温度下会变化。如果测得接近0V,说明没有导通;如果接近电源电压,说明开路或者接反了。

远程线缆较长时,建议在传感器端加RC滤波,这个我在硬件设计部分讲过。现场如果实在没法缩短线缆,还可以适当降低I2C速率和转换频率,减少高频干扰的影响。

远程二极管的类型一致性也值得注意。不同型号的硅二极管,其伏安特性曲线差异可能导致测量结果偏差1℃到3℃。如果项目需要多个节点数据严格一致,远程探头尽量使用同一批次、同一型号的管子,并且可以通过传感器的偏移寄存器做校准。

5.4 避坑速查表

最后把项目中最常踩的坑整理成一张表,方便现场排查时直接对照。

问题现象可能原因快速处理
本地温度偏高3℃以上传感器靠近发热器件、自热调整布局、降低转换频率、软件补偿
温度读数永远不变I2C地址错、引脚复用错、传感器未上电检查地址和接线、重新初始化
I2C总线卡死从机状态错乱、干扰SCL拉低9个时钟脉冲、断电复位
远程温度跳变线缆过长、无滤波、接头松动加RC滤波、换屏蔽线、压紧端子
远程显示-128℃二极管开路、极性反、断线测量D+/D-电压、纠正接法
负温度显示成几百℃补码符号处理不对检查符号扩展逻辑

结束后说点个人体会。这类本地加远程的测温方案,最大的坑往往不在I2C读写函数本身,而在传感器周围的物理环境:传感器是不是放在了发热区、远程线缆是不是太长没做滤波、二极管接法方向和类型对不对。这些问题在实验室里测不出来,一上现场就会集中爆发。所以我后来做任何带测温模块的项目,都会在软件里加一个自检流程:上电后分别读本地温度、远程温度和状态寄存器,远程开路直接报故障码,而不是让系统显示一个莫名其妙的温度值让用户去猜。这个习惯帮我省掉了大量售后沟通成本。如果手里也要做类似的HVAC或者嵌入式测温需求,建议从原理图阶段就把远程探头的滤波、布局和器件选型写进设计规范,后面调试软件会轻松很多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询