本文详细介绍了如何使用STM32F103RCT6微控制器通过Air780E模块连接中国移动的Onenet物联网平台,采用MQTT协议实现数据的上传和下发。文章内容包括模块接线、NET LED状态描述、MQTT控制流程、AT命令与Onenet建立连接的详细步骤,以及STM32代码片段,涵盖了初始化、参数定义、发布主题和订阅数据处理等关键环节。特别强调了Onenet的鉴权机制和AT命令的使用注意事项,如消息中内嵌双引号的转义处理。最后,作者提供了完整的代码示例,并指出数据上下行测试正常,同时提醒读者注意版权问题。 在当今物联网发展的时代背景下,利用微控制器和无线通信技术构建智能设备已经成为常态。特别是STM32系列微控制器,因其性能稳定和开发方便,广泛应用于物联网设备的研发中。本文深入探讨了如何将STM32F103RCT6微控制器与Onenet物联网平台相连,详细阐述了通过Air780E模块使用MQTT协议进行数据交互的技术细节。在连接过程中,对于模块的接线、各LED状态的含义、MQTT控制流程、AT命令的使用等关键步骤进行了逐一说明,确保读者能够清晰理解并实现设备与平台的连接。 作者在文章中详细解释了初始化过程,包括相关参数定义、发布主题、订阅数据处理等,这些对于理解整个通信过程至关重要。其中,Onenet平台的鉴权机制要求特别细致,作者强调了AT命令的正确使用方法,尤其对于消息中可能出现的双引号转义处理提出了明确指导,这对于保障通信的准确性和可靠性具有重要意义。 代码部分是实现功能的核心。作者提供了一系列完整的代码片段,涵盖了从设备端到平台端的所有关键代码点。这些代码示例不仅为读者提供了直接可用的参考,也便于开发者进行进一步的二次开发和功能拓展。作者在文章最后指出,通过测试,数据的上下行功能表现正常,这表明整个连接和通信流程是稳定可靠的。 此外,作者还不忘提醒读者注意版权问题,这一点在开源社区尤为重要,它关乎到创作者的权益保护和知识成果的合法使用。 文章的每个部分都体现了作者对于物联网通信细节的精细把握,对于想要实现STM32与Onenet平台连接的开发者而言,本文无疑是一份宝贵的参考资料。
2026-03-31 16:32:11 41KB STM32 物联网 MQTT
1
该博文详细介绍了基于YOLOv11的多种改进方法,涵盖了从注意力机制、特征融合模块到轻量化网络替换等多个方面。具体包括引入单头自注意力机制SHSA、频率感知特征融合模块FreqFusion、动态检测头DynamicHead、分布移位卷积DSConvHead等。此外,还涉及使用CPA-Enhancer自适应增强器、Haar小波下采样、图像去雾网络AOD-PONO-Net、可逆列网络RevColV1等替换backbone的方法。这些改进旨在提升模型在低照度目标、小目标检测、多尺度特征提取等方面的性能,同时优化推理速度和计算效率。博文提供了详细的Python源码和训练源码,适合研究人员和开发者参考。 在深度学习领域,YOLO(You Only Look Once)算法因其快速准确的实时对象检测能力而广泛应用于各类视觉任务中。随着技术的进步,YOLO算法也在不断推陈出新,以适应更多样化的应用需求。此次汇总的博文详细探讨了基于YOLOv11版本的多种改进策略,这些策略着眼于优化算法的多个方面,包括但不限于提高检测精度、加快检测速度、以及增强模型在复杂环境下的鲁棒性。 在注意力机制方面,引入了单头自注意力机制(SHSA),它能够通过模型自学习的方式,强化对关键特征的聚焦,从而提升对小目标或低对比度目标的检测能力。与此同时,频率感知特征融合模块(FreqFusion)通过分析特征图的频率分布,能够有效地将不同尺度的信息融合,增强了模型对多尺度目标的适应性。 动态检测头(DynamicHead)的设计使得网络可以根据输入数据的不同动态调整其检测策略,进一步提升了模型的灵活性。分布移位卷积DSConvHead则在卷积层设计上有所创新,通过调整特征图的分布,优化了特征提取过程中的信息流动。 此外,博文还探讨了以CPA-Enhancer自适应增强器、Haar小波下采样、图像去雾网络AOD-PONO-Net、可逆列网络RevColV1等多种技术替换传统backbone结构。这些方法各有特色,比如CPA-Enhancer自适应增强器能够动态调节特征图的对比度,提高低照度环境下的检测性能;Haar小波下采样则有助于提高计算效率;图像去雾网络AOD-PONO-Net针对雾天等恶劣天气条件下的图像提供去雾处理,以恢复更多细节信息;而可逆列网络RevColV1则是一种轻量级网络结构,能够在不影响精度的前提下,大幅减少模型的参数量,从而降低计算资源的需求。 这些改进手段不仅提升了YOLOv11在各类视觉检测任务中的表现,还为研究人员和开发者提供了宝贵的实践经验。通过详细的Python源码和训练源码的分享,该博文为业内同仁提供了直接的参考,便于他们快速上手并实施这些先进的改进策略。 博文所提供的源码充分体现了开源精神,让社区中的每个人都能参与到算法的改进与优化中来。源码中丰富的注释和清晰的结构设计,不仅有助于理解每项改进的原理和实现方式,还方便社区成员基于现有的工作进行进一步的创新与拓展。这不仅促进了算法的进化,也加速了整个视觉检测领域的发展进程。 这次汇总的博文是对当前YOLO算法改进工作的一次全面回顾和总结。它不仅展示了该算法不断进步的发展趋势,也展现了开源社区在推动技术革新方面所发挥的积极作用。通过这些改进,YOLO算法的应用范围将得到进一步拓展,其性能也将在更多实际场景中得到验证和提升。
2026-03-31 15:21:21 4KB 软件开发 源码
1
基于深度学习开发的体育动作识别与质量评估系统,支持俯卧撑、深蹲、跳绳、跳远、引体向上、仰卧起坐等多种体育运动。(源码+教程) 功能特性 动作识别: 自动识别6种体育动作类型 阶段分割: 精确划分动作的各个阶段 质量评估: 多维度评估动作质量(0-100分) 错误检测: 自动检测常见动作错误 实时评估: 支持视频实时分析 支持的运动类型 动作 英文标识 支持功能 俯卧撑 pushup 识别/阶段/评估/错误检测 深蹲 squat 识别/阶段/评估/错误检测 仰卧起坐 situp 识别/阶段/评估/错误检测 跳绳 jump_rope 识别/阶段/评估/错误检测 跳远 long_jump 识别/阶段/评估/错误检测 引体向上 pullup 识别/阶段/评估/错误检测 评估指标 动作识别 准确率: 动作分类准确率 每类准确率: 各动作类型的识别准确率 阶段分割 帧级准确率: 单帧阶段分类准确率 边界F1: 阶段边界检测F1分数 编辑距离: 阶段序列相似度 质量评估 MAE: 与人工评分的平均绝对误差 相关性: 与人工评分的皮尔逊相关系数 错误检测准确率: 多标签分类准确率 可检测的错误类型 俯卧撑 塌腰、撅臀、肘外扩、未达深度、耸肩 深蹲 膝盖内扣、重心前移、未达深度、踮脚尖、圆背 仰卧起坐 借力拉头、臀部离地、未触膝、借助惯性 跳绳 全脚掌落地、膝盖过直、节奏不稳、跳跃过高、手臂外展 跳远 起跳角度过大/过小、未充分摆臂、落地不稳、身体后仰 引体向上 未过杆、未充分下放、身体摆动、蹬腿借力、耸肩 配置说明 编辑 config.yaml 可以自定义: 动作定义: 阶段数、标准参数、错误类型 训练参数: 学习率、批次大小、训练轮数 评估阈值: 各等级分数阈值 路径配置: 数据目录、输出目录
2026-03-31 15:15:42 2.23MB Python 深度学习
1
本文详细解析了大麦APP下单协议的实现过程,包括参数构造、签名生成及请求发送等关键步骤。内容涉及使用Node.js的https模块发送POST请求,构造下单所需的params参数,并通过多个模块处理签名、压缩参数及滑块验证等安全措施。文章还展示了如何设置请求头信息,包括User-Agent、x-sign、x-sid等关键字段,以及如何处理服务器返回的验证失败情况。该协议分析对于理解大麦APP的下单机制及类似电商平台的接口开发具有参考价值。 本文深入剖析了大麦APP下单协议的实现细节,涵盖了从参数构建到请求发送的整个流程。文章重点介绍了使用Node.js中的https模块发送POST请求的具体方法,这一技术是实现APP下单协议的基础。接着,文章详细讲解了如何构造下单所需的params参数,这一步骤对于生成正确的下单请求至关重要。 文章进一步深入到安全措施的处理,包括如何利用多个模块生成签名,如何压缩参数以及如何应对滑块验证等环节。在安全性方面,大麦APP显然采用了多重验证机制以确保交易的安全性。在参数的签名过程中,涉及到的加密算法和验证机制被详细解读,这对于开发者理解电商平台安全措施的实施具有重要意义。 在请求头信息设置方面,本文也不吝笔墨,详细说明了包括User-Agent、x-sign、x-sid等关键字段的设置方法和作用。这些信息对于确保请求能够被服务器正确识别和处理至关重要。 另外,文章还涉及了如何处理服务器返回的验证失败情况,这是实际开发中经常需要面对的问题。作者通过具体的示例代码,展示了如何捕获并分析这些错误,以及如何根据错误类型进行相应的处理。 整体而言,大麦APP下单协议解析对于理解电商平台的下单机制和网络通信协议有着重要的参考价值。不仅如此,文章中所涉及的技术和方法同样适用于其他类似电商平台的接口开发,为相关领域的开发者提供了宝贵的实践指南。 这篇文章是一篇技术性很强的博客文章,作者不仅展示了技术实现的细节,而且提供了完整的源代码,让读者可以直观地理解整个下单协议的实现过程。通过阅读本文,开发者可以更深入地理解大麦APP的下单流程,并且能够将所学应用到其他电商平台的开发工作当中。 文章中的代码示例是使用JavaScript语言编写的,这使得前端开发者和熟悉Node.js的后端开发者都能够从中受益。文章的结构清晰,从基本的请求发送到复杂的参数处理和安全性验证,每一步都详细讲解,使得整个内容连贯而完整。 文章对技术的讲解不仅限于概念和代码层面,还涉及到实际应用中遇到的问题和解决方案,这增加了文章的实用性和针对性。阅读完本文后,读者应该能够全面掌握大麦APP下单协议的解析和应用,进而在实际工作中更加得心应手。
2026-03-31 12:48:30 16KB 技术博客 网络协议 JavaScript
1
本文详细介绍了如何通过Python和Selenium实现自动答题脚本。首先,将Word格式的题库转换为JSON文件,包括单选题、多选题和判断题的提取与格式化。其次,利用Selenium控制浏览器自动填写答案,支持不同题型的选择与提交。代码部分包含两个主要模块:word_to_json.py用于题库转换,auto_answer.py实现自动化答题。脚本通过模拟用户操作,自动识别题目类型并匹配题库中的答案,同时提供了错误处理和答题统计功能。该方案适用于需要快速完成在线考试的场景,但需根据实际页面结构调整CSS选择器。 在计算机编程领域,自动化答题脚本的开发对于提高测试效率和完成在线考试具有重要意义。本文主要阐述了一种基于Python语言和Selenium框架的自动答题脚本的实现过程。本文详细讲解了题库的预处理步骤,即将Word文档格式的题库转换为JSON格式。在这一过程中,需要对题库中包含的单选题、多选题和判断题进行提取,并进行适当的格式化处理,以便于后续的处理和使用。这个转换过程通过一个名为word_to_json.py的Python脚本来实现。 接着,文章介绍了自动答题的核心环节,即利用Selenium框架来控制浏览器模拟用户的答题过程。Selenium允许自动化地进行网页交互,这使得它非常适合用于实现在线考试的自动化答题。在这个环节中,脚本需要能够识别不同的题型,并根据题型选择相应的答案。为了实现这一功能,代码中设定了相应的逻辑来区分题目类型,并从之前转换得到的JSON文件中匹配出正确的答案。 为了使脚本更加健壮和实用,文章还提到了脚本中包含的错误处理机制和答题统计功能。错误处理功能可以在出现意外情况时,如题库与实际考试页面不匹配时,让脚本能够进行适当的响应,避免程序完全崩溃。答题统计功能则可以记录答题过程中的各种数据,比如每题用时、答题正确率等,以便于用户对答题情况进行分析和评估。 实现自动答题脚本的代码主要由两个模块组成。第一个模块是word_to_json.py,负责处理题库并将其转换成易于机器处理的格式。第二个模块是auto_answer.py,它实现自动答题的逻辑,并在浏览器上自动填写答案和提交。需要注意的是,由于不同的在线考试平台可能会有不同的页面结构,所以本方案在使用时可能需要根据实际的页面结构来调整CSS选择器,以确保脚本能够正确地定位到题干和选项。 本文介绍的自动答题脚本方案能够有效提升在线考试中答题的效率,尤其适用于需要快速完成大量题目测试的场景。然而,开发者在使用时需注意遵守相关的使用规定和道德标准,防止使用自动化工具进行不正当的考试行为。
2026-03-31 11:58:31 24KB
1
本文详细介绍了YOLOv8在遗留物检测(Abandoned Object Detection)中的应用及其技术实现。遗留物检测在视频监控系统中用于识别被放置或遗留在监控区域内未被取走的物体,广泛应用于反恐防爆、大型活动安全、无主行李识别、垃圾检测、道路安全和防盗等领域。文章分析了遗留物检测面临的技术挑战,如背景变化、遮挡问题、物体分类和实时性要求,并介绍了相关技术,包括背景建模、运动检测、机器学习和深度学习(如YOLO模型)以及图像处理技术。此外,文章还提供了多种前景提取方法的示例代码,如背景减法、帧差法、高斯混合模型和均值背景建模,并详细说明了YOLOv8在遗留物检测中的具体实现步骤,包括背景建模、物体跟踪、行人检测和前景绘制。最后,文章分享了YOLOv8遗留物检测的代码下载链接。 遗留物检测技术是视频监控领域的重要研究方向,其目的在于发现并识别监控区域内未被取走的物体。这种技术的应用场景非常广泛,涵盖了反恐防爆、大型活动安全、无主行李识别、垃圾检测、道路安全以及防盗等多个领域。随着技术的不断进步,遗留物检测的准确性和实时性得到了显著提升,尤其是深度学习技术的引入,为该领域带来了革命性的变化。 YOLO(You Only Look Once)模型是一系列以高效率和快速识别著称的深度学习目标检测算法。YOLOv8作为该系列的最新成员,继承了前代YOLO模型的优势,同时在性能上实现了进一步的提升。YOLOv8在遗留物检测中的应用,不仅能够处理复杂的监控场景,而且能够快速准确地识别出被遗留的物体,并及时进行报警。 在技术实现方面,遗留物检测需要解决多个技术挑战,包括但不限于背景变化、遮挡问题、物体分类以及实时性要求。传统的方法包括背景建模和运动检测等,在某些特定的监控场景下能够提供有效的检测结果。然而,随着环境的复杂性增加,这些传统方法往往难以应对各种挑战,这就需要更为先进的技术来提升检测的准确性和鲁棒性。 深度学习技术,特别是基于卷积神经网络(CNN)的YOLO模型,已经成为解决遗留物检测问题的主流方法之一。YOLO模型通过将目标检测任务转化为回归问题来实现实时检测,其速度和效率在同类模型中表现突出。此外,YOLOv8在继承了YOLO系列一贯的快速检测能力的同时,还在模型结构和算法优化上作出了改进,使得它在处理遮挡、小目标等难题时有着更好的表现。 图像处理技术在遗留物检测中也扮演着重要角色,它涉及的前景提取方法包括背景减法、帧差法、高斯混合模型和均值背景建模等。这些技术通过分析视频帧之间的差异或视频帧与背景模型之间的差异来提取前景目标。在实际应用中,这些方法可以根据不同场景的特点进行选择和优化,以获得最佳的检测效果。 YOLOv8遗留物检测的具体实现步骤包括背景建模、物体跟踪、行人检测和前景绘制等关键环节。背景建模是提取前景目标的基础,能够有效地从视频中分离出移动的物体;物体跟踪则确保了连续帧中检测到的物体能够被准确地识别和跟踪;行人检测和前景绘制进一步细化了检测结果,提高了检测的准确率和可靠性。 文章不仅深入分析了YOLOv8在遗留物检测中的技术细节,还提供了多种前景提取方法的示例代码。通过这些示例代码,开发者可以更直观地理解算法的实现过程,从而加速开发出适合实际应用场景的遗留物检测系统。 文章还分享了YOLOv8遗留物检测的代码下载链接,为感兴趣的开发者和研究人员提供了宝贵的资源。通过源码的共享,可以促进学术界和产业界在遗留物检测领域的进一步交流与合作,推动该技术的发展和应用。
2026-03-31 11:20:15 5.9MB 软件开发 源码
1
本文介绍了基于NVMe的exFAT文件系统FPGA IP核的应用场景和产品特点。该IP核适用于需要实时高速存储和大数据量文件管理的场景,如超高速高清相机数据记录、航空成像与测量数据记录等。产品特点包括纯FPGA逻辑实现exFAT,简化硬件设计并提升存储效率和可靠性;支持文件管理,操作简便易用;支持多种文件格式并可定制;目前基于自研NVMe IP实现,可移植到自研SATA IP上。此外,文中还提供了相关图片和资源消耗报表,展示了该IP核的实际应用效果。 随着数字技术的发展和数据存储需求的不断提升,数据存储系统正面临着新的挑战和机遇。在这一背景下,一种基于非易失性内存表达式(NVMe)的可扩展文件分配表(exFAT)文件系统FPGA IP核应运而生,它专门为满足实时高速存储和大数据量文件管理的复杂需求而设计。 这一IP核的核心优势在于其对FPGA逻辑的纯硬件实现,这种方式摆脱了传统软件解决方案的复杂性,同时也保证了数据处理的速度和系统的稳定性。对于如超高速高清相机数据记录、航空成像与测量数据记录等场景来说,这种IP核的应用显得尤为重要。 它提供了对exFAT文件系统的支持,这在FPGA环境中是不常见的,因为FPGA一般不直接参与操作系统的文件管理功能。有了这一功能,系统能够更加高效地处理大文件,并在高速数据流中实现无缝的文件管理。同时,它还简化了整体的硬件设计,使得硬件工程师可以更专注于其他核心功能的开发,而不必担心底层文件系统的实现。 在可操作性上,该IP核支持了多种文件格式,并且能够根据用户需求进行定制。这意味着开发者可以根据自己的应用需求来选择或者设计适合的文件系统,大大增强了产品的灵活性和适用范围。不仅如此,该IP核还能够与开发者自研的NVMe IP核兼容,这一特性为使用自主知识产权的硬件加速器提供了便利,同时也支持将IP核移植到其他的硬件平台,如自研的串行高级技术附件(SATA) IP核,以实现更广泛的应用。 此外,文档中提供的图片和资源消耗报表,进一步证明了该IP核在实际应用中的表现。这些资源消耗报表详细列出了在实现不同功能时的FPGA资源占用情况,包括逻辑单元、存储器块和输入输出块等,帮助开发者在资源有限的情况下做出更合理的规划。 这款NVMe exFAT FPGA IP核提供了一个强大的解决方案,以硬件逻辑的形式实现了高效、可靠的文件系统,满足了特殊应用场景下的存储和文件管理需求。它的出现不仅提升了特定行业的数据处理能力,也推动了硬件开发技术的进步。
2026-03-31 10:50:28 6KB 软件开发 源码
1
OpenCV 4.10 是一个开源的计算机视觉和机器学习软件库,它提供了一个全面的工具集,用于进行图像处理和计算机视觉任务。这个版本包括对最新技术的支持,改进了性能,并修复了以前版本中的错误。OpenCV 4.10 可以在多个平台上使用,包括 Windows、Linux 和 macOS,以及支持 Android 和 iOS 的移动应用开发。 资源描述可以是这样的: OpenCV 4.10 源码 版本: 4.10.0 发布日期:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 主要特性: 改进的算法性能 增强的跨平台兼容性 扩展的硬件加速支持 修复了已知的问题和漏洞 适用平台: Windows, Linux, macOS, Android, iOS 安装方法: 可以通过官方网站下载源码包,或者使用包管理器安装。 文档: 完整的 API 文档和教程可在官方文档中找到。 社区支持: 有问题可以访问OpenCV 论坛寻求帮助。
2026-03-31 10:47:15 95.23MB opencv
1
基于can总线的dsp28335升级方案 包括bootloader源码,app源码,上位机。 上位机用c#,vs2013。 升级过程见视频。 示例工程为62kb。 ------------------------------------------------------------------ 基于CAN总线的DSP28335升级方案是一套完整的系统升级解决方案,涉及多个关键文件,包括bootloader和应用程序(app)的源代码,以及用于升级过程的上位机软件。该方案采用C#语言开发上位机程序,并使用Visual Studio 2013作为开发环境。整个升级方案不仅包括代码资源,还提供了一个视频指南来辅助说明升级过程。此外,通过提供一个具体的示例工程,方案的设计者向用户展示了如何在实际嵌入式系统中应用这种升级机制,示例工程的大小为62KB。 升级方案的核心是CAN总线技术,这是一种被广泛应用于汽车和工业电子设备中的网络通信协议。DSP28335是德州仪器(Texas Instruments)的一款高性能数字信号处理器(DSP),具有强大的数据处理能力和丰富的外设接口,非常适合用于需要实时处理的应用场景。在基于CAN总线的DSP28335升级方案中,DSP28335不仅作为主控制器,还需要负责与CAN总线网络中的其他设备进行通信。 升级方案的关键组成部分包括bootloader,它是一种在嵌入式系统启动时首先加载的程序,负责初始化硬件设备并载入主应用程序。在DSP28335的升级过程中,bootloader确保了新的固件能够安全且有效地被传输和写入DSP的存储器中。与此同时,上位机软件则负责与DSP设备交互,发送升级指令和固件文件,通常通过USB或者串口等方式实现与目标设备的连接。 由于升级过程可能会遇到各种问题,因此该方案还包括了升级过程视频,以直观的方式向用户展示如何操作。视频中可能包含了如何设置上位机软件,如何连接DSP设备以及在升级过程中可能遇到的常见问题和解决方法。 除了源码和软件,方案中还提供了一系列文档,它们详细介绍了升级方案的背景、目的和实现方法。这些文档有助于技术人员更好地理解整个升级方案的设计思想和实施细节,从而为实际部署提供理论支持。 文档中可能还包含了对CAN总线技术的深入探讨,解释了它的工作原理、在电子设备升级中的作用以及如何利用CAN总线实现设备间的高效通信。此外,还可能探讨了在不断发展的科技背景下,嵌入式系统升级需求的增长以及如何通过CAN总线升级方案满足这些需求。 DSP28335升级方案的实施有助于提高设备的性能,增加新功能,同时还能修复已知的软件缺陷,是维护和更新嵌入式系统的重要手段。通过提供完整的源代码和软件工具,用户可以在遵循一定的指导原则下自行对DSP28335系统进行升级和优化。 总结而言,基于CAN总线的DSP28335升级方案是一个综合性的解决方案,它结合了硬件、软件和文档资料,旨在为嵌入式系统提供一种安全、高效且方便的升级途径。通过这种方式,用户可以确保其嵌入式系统能够随时适应最新的技术标准和业务需求,从而保持竞争力。
2026-03-31 09:20:32 648KB paas
1
DSP28035的CAN通信升级方案:包括源码、测试固件与C#上位机开发,支持周立功USBCAN-II兼容盒及BootLoader闪烁指示,DSP28035的CAN升级方案及详细配置说明:使用新动力开发板与C#上位机软件实现固件升级,涉及用户代码、BootLoader代码及硬件连接细节,DSP28035的can升级方案 提供源代码,测试用固件。 上位机采用c#开发。 说明 一、介绍 1、测试平台介绍:采用M新动力的DSP28035开发板,CAN口使用GPIO30\31。波特率为500K。 2、28035__APP为测试用的用户代码,ccs10.3.1工程,参考其CMD配置。 3、28035_Bootloader_CAN为bootloader源代码,ccs10.3.1工程; 4、SWJ为上位机,采用VS2013开发,C#语言。 5、测试使用的是周立功的USBCAN-II,can盒,如果用一些国产可以兼容周立功的,则更这里面的ControlCAN.dll即可。 6、升级的app工程需要生成hex去升级,具体参考我给的工程的设置。 7、BootLoader代码,只有D400这一个灯1s闪烁一
2026-03-31 09:16:04 2.63MB
1