基于Arduino与TSL2561的光照度测量系统:从硬件连接到软件调试

news2026/5/17 8:28:10
1. 项目概述从园艺需求到嵌入式光测量方案最近在折腾一个园艺相关的项目需要量化评估不同覆盖材料比如遮阳网、塑料薄膜对光线透射率的影响。说白了就是想精确知道盖上一层材料后底下还能剩下多少“有用”的光。这种需求在植物工厂、家庭种植或者简单的科学小实验里很常见。一开始我也想过用手机的光传感器App或者买个现成的照度计但前者精度和稳定性堪忧后者功能单一且数据不易记录分析。于是很自然地就想到了自己动手搭一个——用Arduino配合一个专业点的光传感器既能实时显示又能把数据记录下来做进一步处理。这个方案的核心是TSL2561这款数字光传感器。它不像一些模拟传感器那样输出一个简单的电压值而是内置了ADC模数转换器和复杂的信号处理电路通过I2C总线直接给微控制器输出数字信号。它能分别测量可见光对人眼敏感的光谱和红外光然后我们可以用它的库函数直接换算成以勒克斯Lux为单位的照度值这才是衡量光照强度的国际标准单位。整个系统的搭建围绕着Arduino Uno展开因为它生态成熟库支持好对于这种数据采集和初步显示的任务绰绰有余。为了直观看到数据我额外加了一块带I2C/SPI转接板的16x2 LCD屏这样就不用一直连着电脑看串口监视器了。这篇文章我会详细拆解整个“基于Arduino与TSL2561的光照度测量系统”从硬件连接到软件调试的全过程。无论你是嵌入式开发的初学者想找一个完整的I2C传感器应用案例来练手还是有一定经验的开发者需要为一个具体的环境监测项目寻找可靠的光照测量方案相信这里的踩坑经验和参数调校思路都能给你直接的参考。我们会从最基础的元件选型和电路连接讲起深入到TSL2561的寄存器配置原理最后分享如何根据实际光照环境优化测量参数并处理一些常见的通信和显示问题。2. 核心硬件选型与电路设计思路2.1 传感器选型为什么是TSL2561在光传感器领域选择很多从简单的光敏电阻到复杂的光谱传感器都有。我最终选定TSL2561是基于几个非常实际的考量。首先它是数字输出。这意味着它内部已经完成了光电转换、放大和模数转换通过I2C接口输出的直接是计数值极大减少了模拟信号在长导线传输中可能引入的噪声干扰也省去了Arduino上ADC引脚和额外校准的麻烦。其次它能提供分光谱数据。它内部有两个光电二极管一个对可见光和红外光都敏感通道0另一个主要对红外光敏感通道1。通过这两个通道的读数我们可以用芯片厂商提供的算法更准确地计算出排除了红外干扰的、真正对人眼有意义的“可见光照度”Lux值。这对于评估植物光照光合有效辐射或室内照明环境尤其重要。相比之下像BH1750这类同样流行的环境光传感器虽然也是数字I2C接口且使用更简单但它通常只输出一个计算好的Lux值我们无法获取其原始的红外和全光谱数据在需要分析光源光谱特性比如区分日光和暖白光LED的场景下就力不从心了。TSL2561的精度和量程也足够应对大多数日常和园艺场景其照度测量范围理论上可达0.1到40,000 Lux覆盖了从昏暗房间到晴朗户外的广阔区间。注意TSL2561有多个版本TSL2560, TSL2561, TCL2561等其I2C地址可能不同。最常见的是TSL2561其默认I2C地址为0x39也可通过引脚配置为0x29或0x49。购买和编程时务必确认型号。2.2 主控与显示单元Arduino Uno与LCD的搭配主控选择Arduino Uno几乎是入门项目的标配。其ATmega328P处理器性能足够处理传感器数据和驱动显示5V工作电压与丰富的3.3V/5V兼容外设生态完美匹配。更重要的是它有成熟的软件库支持。对于TSL2561Adafruit和SparkFun都提供了经过充分测试的库极大简化了开发。显示部分直接驱动一个标准的16x2字符LCD需要至少6个IO口这对于Uuno来说虽然够用但会让连线变得非常杂乱。因此使用一个LCD I2C/SPI转接板Backpack是提升项目整洁度和可靠性的关键一步。这种转接板通常基于PCF8574I2C或74HC595SPI等芯片将并行数据通信转换为串行通信只需要2根I2C或3根SPI线就能控制LCD节省了宝贵的IO口。在本项目中为了演示不同的通信协议我选择了SPI模式的转接板。SPI通信速度比I2C快在需要频繁刷新显示的场合更有优势。你需要确认你的转接板支持SPI模式并且通常需要通过焊接一个“跳线帽”或“0欧姆电阻”来启用SPI功能。2.3 电路连接详解与电平匹配陷阱电路连接是项目成功的基础这里最容易出问题的地方是电平匹配和总线冲突。下面我分步说明并解释每一步背后的原因。第一步连接TSL2561传感器TSL2561是一个3.3V器件。虽然其数据引脚据说可以耐受5V但为了长期稳定和遵循数据手册规范最佳实践是使用3.3V供电。VCC - 3.3V连接到Arduino的3.3V输出引脚。切勿接5V以免损坏传感器。GND - GND共地是必须的为电流提供回路。SDA - A4在Arduino Uno上I2C的数据线SDA固定对应模拟引脚A4。SCL - A5在Arduino Uno上I2C的时钟线SCL固定对应模拟引脚A5。这里有一个至关重要的细节如果你系统中只有TSL2561这一个I2C设备并且由3.3V供电那么你可以像上面这样直接连接。因为Arduino Uno的ATmega328P芯片其IO引脚在输入状态下对于3.3V的逻辑高电平HIGH是可以正确识别的其输入高电平的最小阈值通常低于3V。所以传感器输出的3.3V信号Arduino能读懂。但是如果你的项目后期需要接入其他5V供电的I2C设备比如某些5V的OLED屏幕或RTC模块就必须使用电平转换器。否则当5V设备向总线发送高电平时这个5V电压会直接灌入只耐压3.3V的TSL2561的SDA/SCL引脚导致其损坏。解决方案是使用一个双向电平转换器模块例如基于TXB0104或PCA9306芯片的模块。连接时将转换器的“低压LV”侧3.3V连接TSL2561和Arduino的3.3V“高压HV”侧5V连接其他5V设备和Arduino的5V然后将SDA和SCL信号线穿过转换器即可。第二步连接带SPI Backpack的LCD以常见的基于74HC595的SPI转接板为例5V - 5V转接板通常工作电压为5V连接Arduino的5V引脚。GND - GND再次共地。DAT (MOSI) - D11在SPI标准中主设备输出从设备输入MOSI。在Arduino Uno上硬件SPI的MOSI对应数字引脚D11。CLK (SCK) - D13SPI时钟线对应D13。​LAT (SS/CS) - D4这里名称可能是LAT锁存、CS片选或SS从机选择。它用于告诉转接板“数据发送完毕请更新显示”。我们可以将其连接到任意一个数字IO口如D4。在代码中我们需要手动控制这个引脚。实操心得在焊接或连接前务必用万用表通断档检查一下你的LCD转接板。确认其工作模式I2C或SPI以及对应的引脚定义。很多廉价的转接板默认是I2C模式需要自行焊接电阻来切换到SPI模式这个步骤很容易被忽略导致通信失败。3. 软件实现从库函数到测量逻辑3.1 开发环境搭建与核心库安装首先确保你安装了Arduino IDE。接下来需要安装两个核心库Adafruit TSL2561库在IDE中点击“工具” - “管理库…”搜索“TSL2561”选择由Adafruit发布的“Adafruit TSL2561 Library”进行安装。这个库封装了与传感器通信的所有底层细节。LCD驱动库根据你的LCD转接板芯片选择。如果是基于74HC595的SPI板通常需要使用LiquidCrystal库或其衍生库。一个更通用的选择是LiquidCrystal_PCF8574库适用于I2C板或寻找专门针对你的SPI背板的库。在本例的SPI配置中我们可能需要直接使用LiquidCrystal库并按照SPI方式初始化。为了简化我们可以使用一个封装好的SPI液晶库例如LiquidCrystal_SPI可能需要从GitHub手动下载放入Arduino的libraries文件夹。安装好库后在代码开头通过#include Adafruit_TSL2561_U.h和#include LiquidCrystal_SPI.h或类似来引入它们。3.2 TSL2561传感器初始化与参数配置初始化传感器对象后最关键的一步是配置其增益Gain和积分时间Integration Time。这两个参数共同决定了传感器的灵敏度和测量范围。Adafruit_TSL2561_Unified tsl Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345); void configureSensor(void) { // 设置增益 tsl.setGain(TSL2561_GAIN_0X); // 无增益适用于强光 // tsl.setGain(TSL2561_GAIN_16X); // 16倍增益适用于弱光 // 设置积分时间测量一次光强所花费的时间 tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS); // 13毫秒快速但噪声可能稍大 // tsl.setTiming(TSL2561_INTEGRATIONTIME_101MS); // 101毫秒平衡选择 // tsl.setTiming(TSL2561_INTEGRATIONTIME_402MS); // 402毫秒最灵敏用于极弱光 }增益Gain相当于相机的ISO。TSL2561_GAIN_0X是1倍增益TSL2561_GAIN_16X是16倍增益。在昏暗环境下需要开启高增益来放大信号在明亮环境下使用高增益会导致传感器过早饱和读数不准确甚至溢出。我的园艺项目多在室内或户外荫凉处光线中等所以我从GAIN_0X开始。积分时间Integration Time相当于相机的快门速度。时间越长进入传感器的光子越多读数越大信噪比越好但测量速度越慢。13ms适合光线充足或需要快速反应的场景402ms则用于测量非常微弱的光线比如月光。我选择13ms是为了获得更快的刷新率便于实时观察。选择策略一个常见的自动量程策略是先使用低增益0X 短积分时间13ms进行测量。如果读数值非常低接近0则切换到高增益16X 长积分时间402ms再测一次。这可以在代码中通过判断读数来实现从而让系统适应更宽的光照范围。3.3 数据读取、计算与显示逻辑在loop()函数中我们周期性地读取数据并计算Lux值。void loop(void) { sensors_event_t event; tsl.getEvent(event); // 获取传感器事件 if (event.light) { // 计算可见光计数值全光谱 - 红外光谱 uint16_t broadband event.full_spectrum; // 通道0全光谱 uint16_t infrared event.ir_spectrum; // 通道1红外光谱 uint16_t visible broadband - infrared; // 计算Lux值库函数已根据增益和积分时间自动计算 float lux event.light; // 准备显示缓冲区 char visBuffer[6], luxBuffer[10]; // 格式化可见光计数值固定宽度为5位数字 snprintf_P(visBuffer, sizeof(visBuffer), PSTR(%5d), visible); // 格式化Lux值保留1位小数 dtostrf(lux, 6, 1, luxBuffer); // 宽度6小数点后1位 // 在LCD上显示 lcd.setCursor(0, 0); lcd.print(Vis:); lcd.print(visBuffer); lcd.setCursor(0, 1); lcd.print(Lux:); lcd.print(luxBuffer); } else { // 如果传感器过饱和或数据无效 lcd.setCursor(0, 0); lcd.print(Sensor overload); } delay(500); // 每500ms更新一次 }这里有几个技术点值得深究snprintf_P函数的使用原始代码中使用了snprintf_P。这是Arduino环境基于AVR Libc的一个特有函数。snprintf本身是安全的sprintfn限制了写入缓冲区的最大字节数防止溢出。_P后缀表示格式字符串存放在程序存储器Flash中而不是随机存取存储器RAM中。在内存紧张的微控制器上将固定的字符串常量存放到Flash中可以节省宝贵的RAM空间。PSTR()宏就是用来定义这样一个存放在Flash中的字符串。Lux的计算我们直接使用了event.light。这个值是由Adafruit库在内部调用calculateLux(broadband, infrared)函数计算出来的。该函数实现了TSL2561数据手册中提供的算法考虑了增益和积分时间的影响比我们自己用原始值换算更准确可靠。显示优化使用%5d这样的格式控制符可以确保数字总是占据5个字符宽度这样在数值变化时如从123变成45显示不会出现残留字符123-45会变成45而不是45视觉效果更稳定。4. 系统调试与性能优化实战4.1 上电调试与常见问题排查按照电路图连接好硬件上传代码后第一个挑战往往是“屏幕不亮”或“传感器无数据”。问题1LCD屏幕无显示检查供电用万用表测量LCD转接板的VCC和GND之间是否有5V电压。没有则检查杜邦线是否插牢Arduino的5V输出是否正常。检查背光有些LCD需要单独连接背光电源标为LED和LED-或者通过一个跳线帽使能背光。确保背光已接通。检查通信模式这是最易出错的地方。确认你的转接板是工作在SPI模式并且对应的使能跳线已经焊接好。如果买的是I2C板却按SPI连接必然失败。仔细阅读转接板的产品页面或PCB上的丝印。检查引脚定义确认代码中初始化LiquidCrystal_SPI对象时使用的引脚编号DAT, CLK, LAT与你的实际接线一致。降低SPI时钟速度如果一切连接正确但仍无显示可能是SPI通信速度太快导致LCD控制器跟不上。尝试在初始化库之后调用SPI.setClockDivider(SPI_CLOCK_DIV128);来降低SPI时钟频率。问题2I2C传感器无法识别运行I2C扫描程序在Arduino IDE的“示例” - “Wire”库中找到“Scanner”示例。上传并运行打开串口监视器波特率9600。它会列出所有连接到I2C总线上的设备地址。如果看不到0x39或你设定的地址说明物理连接或传感器有问题。检查地址确认代码中使用的地址与扫描到的地址一致。TSL2561的地址由ADDR SEL引脚决定接GND0x29浮空0x39接VCC0x49。检查上拉电阻I2C总线SDA, SCL需要上拉电阻到正电压通常是3.3V或5V阻值一般在4.7kΩ到10kΩ之间。Arduino内部有弱上拉电阻约20k-50kΩ在总线较短、设备较少时可能够用。但如果通信不稳定偶尔读取失败请在SDA和SCL线上各外接一个4.7kΩ电阻到3.3V因为传感器是3.3V器件。逻辑电平确认确保传感器是3.3V供电并且没有与其他5V I2C设备直接并联如前所述。4.2 测量精度优化与参数调校系统能工作后下一步是让它工作得更好、更准。1. 增益与积分时间的动态调整固定的增益和积分时间会限制测量范围。实现一个简单的自动量程逻辑可以大幅提升实用性bool autoAdjustGainAndTime(Adafruit_TSL2561_Unified sensor, uint16_t broadband, uint16_t infrared) { sensors_event_t event; sensor.getEvent(event); broadband event.full_spectrum; infrared event.ir_spectrum; // 检查是否过饱和接近计数上限取决于积分时间 uint16_t saturationLimit; switch (sensor.getIntegrationTime()) { case TSL2561_INTEGRATIONTIME_13MS: saturationLimit 5047; break; case TSL2561_INTEGRATIONTIME_101MS: saturationLimit 37177; break; case TSL2561_INTEGRATIONTIME_402MS: saturationLimit 65535; break; // 理论最大值 default: saturationLimit 5047; } if (broadband saturationLimit * 0.9) { // 如果读数达到上限的90% // 当前设置下光线太强需要降低灵敏度 if (sensor.getGain() TSL2561_GAIN_16X) { sensor.setGain(TSL2561_GAIN_0X); sensor.setTiming(TSL2561_INTEGRATIONTIME_13MS); return true; // 配置已更改需要重新读取一次数据 } } else if (broadband 100) { // 如果读数非常小 // 当前设置下光线太弱需要提高灵敏度 if (sensor.getGain() TSL2561_GAIN_0X) { sensor.setGain(TSL2561_GAIN_16X); sensor.setTiming(TSL2561_INTEGRATIONTIME_402MS); return true; } } return false; // 配置未更改 }在loop中可以先调用这个函数如果返回true则延迟一小段时间让传感器适应新配置后重新读取数据。2. 传感器校准与误差补偿即使同一型号的传感器个体之间也存在微小差异。对于要求高的应用可以进行简单校准方法使用一个已知精度、经过计量的标准照度计作为参考。在多个不同的稳定光照环境下例如室内日光灯下、窗边自然光下同时记录你的TSL2561系统读出的Lux值和标准照度计的读数。计算将两组数据绘制成散点图或用线性回归计算可以得到一个校准系数斜率和偏移量截距。例如如果你的系统读数总是比标准值低10%那么可以在代码中将计算出的Lux值乘以1.1。注意传感器的响应可能不是完全线性的但在其正常工作范围内线性校准通常能显著改善精度。3. 软件滤波与数据平滑传感器读数可能会有微小跳动尤其是在积分时间较短时。在显示或记录前加入软件滤波可以使读数更稳定。移动平均滤波创建一个数组存储最近N次的读数每次显示其平均值。一阶低通滤波指数平滑这是一种计算更简单、占用内存更少的方法。float smoothedLux 0.0; const float alpha 0.2; // 平滑因子 (0 alpha 1)越小越平滑反应越慢 void loop() { // ... 获取原始lux值 ... smoothedLux alpha * lux (1 - alpha) * smoothedLux; // 显示 smoothedLux }4.3 系统扩展与应用场景深化基础系统搭建完成后可以考虑以下扩展方向使其从一个实验原型变成更实用的工具1. 数据记录与远程传输SD卡模块添加一个SPI接口的Micro SD卡模块将时间戳和Lux值以CSV格式写入文件实现离线长期监测。无线传输蓝牙模块如HC-05将数据发送到手机App实现便携式无线照度计。Wi-Fi模块如ESP8266/ESP32将Arduino Uno替换为NodeMCUESP8266或直接使用ESP32开发板它们内置Wi-Fi可以轻松地将数据上传到物联网平台如ThingsBoard、Blynk、自建的MQTT服务器实现远程实时监控和历史数据查看。2. 增加人机交互与功能按键输入添加几个按钮用于切换显示模式显示Lux/可见光计数/红外计数、手动调整增益、或启动/停止数据记录。声光提示添加一个蜂鸣器或LED当光照度超过或低于某个设定阈值时进行报警适用于需要恒定光照的培育场景。3. 针对园艺项目的深度应用最初的目的是测试材料透光率。可以这样系统化操作制作测试夹具设计一个暗箱一端放置固定的光源如标准LED灯珠另一端固定放置TSL2561传感器。将被测材料如不同密度的遮阳网裁剪成统一大小放置在光源和传感器之间的卡槽中。自动化测试流程编写Arduino代码控制每次测试时先测量无材料时的基准光照值Lux_baseline然后提示用户放入材料A稳定后测量并记录透射后的值Lux_A计算透光率(Lux_A / Lux_baseline) * 100%。可以通过串口将结果输出到电脑或直接显示在LCD上。环境光补偿在户外使用时环境光本身在变化。可以考虑增加一个参考传感器将其暴露在环境光中但不被测试材料遮挡。用测试传感器的读数除以参考传感器的读数得到一个相对比值这样可以一定程度上抵消环境光变化带来的影响使多次测量或长时间测量更具可比性。通过以上这些调试、优化和扩展步骤这个基于Arduino和TSL2561的光照度测量系统就不再只是一个简单的演示项目而成为了一个可以根据具体需求灵活定制、稳定可靠的专业测量工具原型。无论是用于严谨的科学实验、长期的环境监测还是有趣的创客项目它都提供了一个坚实且可深度挖掘的起点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2620974.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…